authorgravatar for git@paperclover.netclover caruso <git@paperclover.net> 2026-09-05 15:03:50-07:00
committergravatar for git@paperclover.netclover caruso <git@paperclover.net> 2026-09-05 15:03:50-07:00
log98814e04e30acd58e15833964b0a216cf36b7a5b
tree0eae158f61b04d26b652a2ee931dff0e904408be
signature Signed by SSH key SHA256:52mNGHRsVFBDED9IAX5pe+LRWUefqTbxEReunq21QvU

feat: onestore implementation

Assisted-by: gpt-6-astra

1827 files changed, 43966 insertions(+), 0 deletions(-)

.gitignore created+11
...@@ -0,0 +1,11 @@
1/target/
2/corpus/private/
3/corpus/recovered/
4/evidence/
5/.DS_Store
6__pycache__/
7/fuzz/target/
8/fuzz/corpus/
9/fuzz/artifacts/
10/fuzz/coverage/
11/tools/w7/payload/vendor/
API-AUDIT.md created+69
...@@ -0,0 +1,69 @@
1# Public API audit
2
3The current API is reasonable for a Rust reader/canvas prototype and the supported
4text-edit diagnostic tool. It is an experimental interoperability API, not yet a
5stable application SDK. The workspace move preserves every public name and its
6behavior; this audit adds contract documentation without introducing wrappers or
7changing serialization.
8
9## Consumer boundary
10
11```text
12owned snapshot bytes
13 └─ Store::parse committed storage; checksum diagnostics
14 └─ RevisionIndex::parse revision identities and dependencies
15 └─ Document::parse semantic views; checksum damage rejected
16 ├─ pages() active section pages in stored order
17 └─ text_runs() text with inherited formatting and links
18
19snapshot + typed identities + UTF-16 range + replacement
20 └─ commit_file_text lock → compare snapshot → append → flush
21 └─ Result<(), CommitError> success or explicit publication state
22```
23
24A document represents one `.one` or `.onetoc2` file, not a notebook directory.
25The directory, section ordering, native references and report assets are currently
26assembled by the tooling. A second crate can use the semantic model directly and
27keep its layout/cache state separate. Mutating the public model changes only the
28inspection view; writers reparse the supplied snapshot and enforce their own
29invariants.
30
31## Findings and decisions
32
33| Area | Assessment | Recommendation |
34| --- | --- | --- |
35| Read/write separation | Good: parsed views cannot accidentally save themselves. Snapshot comparison rejects stale writes before publication. | Keep explicit commit operations; do not add a mutable document plus generic `save()`. |
36| Commit outcomes | Good: `NotCommitted`, `Unknown` and `Committed` distinguish retry behavior. An error can still mean the edit persisted. | Keep this distinction at every UI/FFI boundary. Variant documentation now states the caller action. |
37| Borrowing and lifetimes | The model owns decoded strings but borrows payloads. Consumers must retain its source snapshot/store. An application object holding both bytes and borrowed views would require a different ownership design. | Let the canvas prototype determine whether its actual access pattern needs an owned model. Do not add a self-referential owner or duplicate document DTO in advance. |
38| Semantic error classification | `Error` exposes diagnostic text and an offset, with no typed reason. I/O failures already have `ErrorKind`; semantic distinctions such as unsupported edits and temporarily missing contexts require text matching today. | Before adding automatic semantic recovery, choose a small typed classification based on the recovery actions it needs. A detailed variant for every parser message would enlarge the compatibility burden. |
39| Editable text discovery | Readable text is broader than editable text: hidden fields, hyperlinks, equations, generated content, conflicts and protected content can be readable but rejected for writing. Currently callers can try `replace_text` and inspect its result; candidate discovery duplicates some checks in the random-edit example. | For the diagnostic tool, obtain eligibility from the writer's actual validation. If a public eligibility API is added, share that validation rather than maintain a second list of rules. |
40| Identity transport | `ExGuid` is typed, ordered, hashable and serializes to its display string. It has no `FromStr` or `Deserialize`. Existing tools retain or look up typed IDs instead of parsing them. | A Rust canvas can keep typed IDs. A JSON editing endpoint should either map strings back to IDs from its snapshot or justify a canonical parser with round-trip tests. |
41| Raw storage exports | `Header`, nodes, references, property arenas and both revision layers are public. They are useful for diagnostics, but expose implementation details to consumers. | Keep them available during interoperability work; have the UI depend on `onestore::document` plus edit functions. Moving them into a separate module now would create churn without an established consumer requirement. |
42| Public fields and enums | Inspection fields are mutable and enums are exhaustive. Downstream code can depend on the exact shape. | Treat the current Rust and JSON shapes as experimental. Whether to restrict construction or allow future enum variants is an API-evolution tradeoff to decide with the first consumer, not an assumed stability promise. |
43| Document boundaries | `pages()` excludes conflicts/history, returns no visible pages for encryption, and rejects TOC files. All referenced contexts remain in the model. | These boundaries are now documented on the method. Readers must inspect the root kind when distinguishing a locked section from an empty section. |
44| Units and defaults | Coordinates are points, edit/run offsets are UTF-16 units, Time32 values use the 1980 epoch, and `Format` preserves absence separately from explicit false. | Keep the native distinctions; renderers should use resolved runs and convert offsets explicitly when crossing into UTF-8 or browser selection APIs. |
45| In-memory replacements | `replace_text` and `replace_property_bytes` return complete byte images without locking or persistence. Overwriting a live file with those bytes would bypass the commit protocol. | Their documentation now directs existing-file updates to the corresponding commit functions. Raw scalar editing still requires the caller to maintain document semantics. |
46| Scope and dependencies | The library stays native and synchronous, with no network runtime, renderer, process management or platform UI dependency. Internal writer helpers remain crate-private. | Keep the core boundary. Put diagnostic serving and rendering in consumers; expose a C ABI only against concrete embedding needs. |
47
48The two decisions worth reviewing before the diagnostic tool are semantic error
49classification and edit eligibility. Neither requires a broad API redesign.
50The lifetime/ownership question can be informed by the separate canvas prototype.
51
52## Verification
53
54- Root workspace tests: `evidence/m8/workspace-tests.log`.
55- Clippy and formatting: `workspace-clippy.log`, `workspace-format.log`.
56- Rustdoc and compiled documentation example: `workspace-docs.log`,
57 `workspace-doctests.log`.
58- All eight cargo-fuzz targets build against the relocated library:
59 `workspace-fuzz-build.log`.
60- Python verification tools: 36 tests in `workspace-python.log`.
61- An independent crate under `evidence/m8/api-consumer` uses only public APIs to
62 create a section, traverse pages/runs, serialize identities, commit a Unicode
63 edit, reject a stale snapshot through typed commit/I/O state, and reopen the
64 exact resulting text. Output: `evidence/m8/api-consumer.log`.
65
66The audit examined exported declarations and their implementations in storage,
67revision resolution, document interpretation, creation, editing and persistence.
68It does not freeze the API or turn the earlier native compatibility evidence into
69a new platform guarantee.
Cargo.lock created+169
...@@ -0,0 +1,169 @@
1# This file is automatically @generated by Cargo.
2# It is not intended for manual editing.
3version = 4
4
5[[package]]
6name = "bitflags"
7version = "2.13.1"
8source = "registry+https://github.com/rust-lang/crates.io-index"
9checksum = "b588b76d00fde79687d7646a9b5bdf3cc0f655e0bbd080335a95d7e96f3587da"
10
11[[package]]
12name = "cfg-if"
13version = "1.0.4"
14source = "registry+https://github.com/rust-lang/crates.io-index"
15checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
16
17[[package]]
18name = "cfg_aliases"
19version = "0.2.2"
20source = "registry+https://github.com/rust-lang/crates.io-index"
21checksum = "f079e83a288787bcd14a6aea84cee5c87a67c5a3e660c30f557a3d24761b3527"
22
23[[package]]
24name = "getrandom"
25version = "0.4.3"
26source = "registry+https://github.com/rust-lang/crates.io-index"
27checksum = "300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099"
28dependencies = [
29 "cfg-if",
30 "libc",
31 "r-efi",
32]
33
34[[package]]
35name = "itoa"
36version = "1.0.18"
37source = "registry+https://github.com/rust-lang/crates.io-index"
38checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682"
39
40[[package]]
41name = "libc"
42version = "0.2.189"
43source = "registry+https://github.com/rust-lang/crates.io-index"
44checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2"
45
46[[package]]
47name = "md5"
48version = "0.8.1"
49source = "registry+https://github.com/rust-lang/crates.io-index"
50checksum = "7ebb8d8732c6a6df3d8f032a82911cfc747e00efb95cc46e8d0acd5b5b88570c"
51
52[[package]]
53name = "memchr"
54version = "2.8.3"
55source = "registry+https://github.com/rust-lang/crates.io-index"
56checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98"
57
58[[package]]
59name = "nix"
60version = "0.31.3"
61source = "registry+https://github.com/rust-lang/crates.io-index"
62checksum = "cf20d2fde8ff38632c426f1165ed7436270b44f199fc55284c38276f9db47c3d"
63dependencies = [
64 "bitflags",
65 "cfg-if",
66 "cfg_aliases",
67 "libc",
68]
69
70[[package]]
71name = "onestore"
72version = "0.1.0"
73dependencies = [
74 "getrandom",
75 "md5",
76 "nix",
77 "serde",
78 "serde_json",
79]
80
81[[package]]
82name = "proc-macro2"
83version = "1.0.107"
84source = "registry+https://github.com/rust-lang/crates.io-index"
85checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9"
86dependencies = [
87 "unicode-ident",
88]
89
90[[package]]
91name = "quote"
92version = "1.0.47"
93source = "registry+https://github.com/rust-lang/crates.io-index"
94checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001"
95dependencies = [
96 "proc-macro2",
97]
98
99[[package]]
100name = "r-efi"
101version = "6.0.0"
102source = "registry+https://github.com/rust-lang/crates.io-index"
103checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf"
104
105[[package]]
106name = "serde"
107version = "1.0.229"
108source = "registry+https://github.com/rust-lang/crates.io-index"
109checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba"
110dependencies = [
111 "serde_core",
112 "serde_derive",
113]
114
115[[package]]
116name = "serde_core"
117version = "1.0.229"
118source = "registry+https://github.com/rust-lang/crates.io-index"
119checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48"
120dependencies = [
121 "serde_derive",
122]
123
124[[package]]
125name = "serde_derive"
126version = "1.0.229"
127source = "registry+https://github.com/rust-lang/crates.io-index"
128checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348"
129dependencies = [
130 "proc-macro2",
131 "quote",
132 "syn",
133]
134
135[[package]]
136name = "serde_json"
137version = "1.0.151"
138source = "registry+https://github.com/rust-lang/crates.io-index"
139checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14"
140dependencies = [
141 "itoa",
142 "memchr",
143 "serde",
144 "serde_core",
145 "zmij",
146]
147
148[[package]]
149name = "syn"
150version = "3.0.5"
151source = "registry+https://github.com/rust-lang/crates.io-index"
152checksum = "12df2e0110f65b775f769bb17ef989067a1d931b2eb822bd4346631eeada89f9"
153dependencies = [
154 "proc-macro2",
155 "quote",
156 "unicode-ident",
157]
158
159[[package]]
160name = "unicode-ident"
161version = "1.0.24"
162source = "registry+https://github.com/rust-lang/crates.io-index"
163checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
164
165[[package]]
166name = "zmij"
167version = "1.0.23"
168source = "registry+https://github.com/rust-lang/crates.io-index"
169checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b"
Cargo.toml created+4
...@@ -0,0 +1,4 @@
1[workspace]
2members = ["crates/*"]
3exclude = ["fuzz"]
4resolver = "3"
FEATURES.md created+29
...@@ -0,0 +1,29 @@
1# Milestone 6 feature matrix
2
3The matrix follows MS-ONE's document families, including features absent from the
4personal corpus. Each row requires an independently authored native fixture,
5Rust interpretation checks, and a review-report inspection before acceptance.
6A retained opaque payload is evidence of preservation, not interpreted coverage.
7
8| Family | Required cases | Specification Evidence |
9| --- | --- | --- --- |
10| Notebook structure | Multiple notebooks, section groups, section ordering/colors, duplicate names, empty sections | 2.2.14–18, 2.2.91–96 [Native feature controls](corpus/m6/native-features-01/ORACLE.md); [Rust scale](evidence/m6/rust-scale-final-01.log) |
11| Pages | Titles/alternate titles, order, subpages, duplicate text/titles, authors/timestamps, RTL | 2.2.19, 2.2.29–31, 2.2.58, 2.3.74 [Direction/origin controls](corpus/m6/native-page-direction-03); [private review](evidence/m6/private-current-report-05/qa/review.json) |
12| Outline hierarchy | Positioned outlines, nesting, outline groups, indentation, collapsed/hidden content | 2.2.20–23, 2.3.8, 2.3.18–19 [Structure](corpus/m6/native-structure-01/ORACLE.md); [saved collapse](corpus/m6/rust-collapse-control-01/ORACLE.md) |
13| Text | ASCII/Unicode preference, surrogate pairs, combining marks, mixed scripts, empty/long paragraphs | 2.1.4, 2.2.5, 2.2.23, 2.2.89 [100 native histories](evidence/m6/native-histories-independent-03.log); [break controls](corpus/m6/native-break-controls-02) |
14| Character formatting | Mixed runs, font/size/color/highlight, bold/italic/underline/strike, super/subscript, language | 2.2.43–45, 2.2.76–77, 2.3.9–16 [Native probes](corpus/m6/native-probes-01/ORACLE.md); [private native comparison](evidence/m6/private-current-compare-01.log) |
15| Paragraph formatting | Named styles, alignment, spacing, RTL, style inheritance | 2.2.44, 2.2.80, 2.2.83, 2.3.81–83 [Structure](corpus/m6/native-structure-01/ORACLE.md); [feature report inspection](evidence/m6/features-report-05/qa/review.json) |
16| Lists | Bullets, numbering, restarts, mixed indentation, custom fonts/formats | 2.2.25, 2.2.57, 2.3.20, 2.3.43 [Structure](corpus/m6/native-structure-01/ORACLE.md); [numbering controls](corpus/m6/native-features-01/ORACLE.md) |
17| Tables | Multiple rows/columns, nested content, widths, shading, borders, locked columns | 2.2.26–28, 2.2.66, 2.2.70, 2.2.97 [Widths/locks](corpus/m6/native-structure-01/ORACLE.md); [RTL](corpus/m6/native-page-direction-03); [shading limitation](corpus/m6/cell-shading-control-01/ORACLE.md) |
18| Links | External/internal links, formatted labels, embedded text-run data | 2.2.78, 2.2.82, 2.2.90, 2.3.75–77 [Native link controls](corpus/m6/native-link-controls-01); [empty-label regression](corpus/m6/native-empty-link-01) |
19| Images | Multiple formats, sizes, alt text, filenames, internal/external containers, background/printout images | 2.2.24, 2.2.36, 2.2.59, 2.2.75, 2.2.79 [Native formats/roles](corpus/m6/native-features-01/ORACLE.md); [browser inspection](evidence/m6/features-report-05/qa/review.json) |
20| Files and media | Attachments, original filenames, recording identifiers, audio/video payloads and associated text | 2.2.32–33, 2.2.60–61, 2.2.71–72 [Native attachment/recording controls](corpus/m6/native-features-01/ORACLE.md) |
21| Ink and embedded objects | Strokes, placement, native payload/export comparison, math and embedded text-run objects | Native ink corpus; 2.3.79–80 [Native ink](corpus/native-ink/cold-ui-ink); [math](corpus/m6/native-math-01/ORACLE.md): payload/run preservation, opaque rendering |
22| Tags and tasks | Standard/custom tags, multiple tags, checked/unchecked state, task status/dates | 2.1.9, 2.2.41–42, 2.2.84–88, 2.3.85–96 [Native task controls](corpus/m6/native-features-01/ORACLE.md); [private tags](evidence/m6/private-current-compare-01.log) |
23| History and recovery | Version pages/contexts, recycle-bin pages, conflicts and their source relationships | 2.1.1–2, 2.1.17, 2.2.34–40, 2.2.86 [Private history review](evidence/m6/private-current-report-05/qa/review.json); [live conflicts/recovery](corpus/m6/live-collaboration-15/ORACLE.md) |
24| Protection and unknowns | Locked section identity/ciphertext, unknown JCIDs/properties, malformed structures | MS-ONESTORE encryption; MS-ONE 2.1.5, 2.1.12 [Existing corpus checks](evidence/m6/corpus-regression-01.log); [document fuzzing](evidence/m6/document-public-fuzz-08.log): ciphertext/raw data preserved |
25| Scale and interactions | Rust/native large notebooks, many pages/objects/assets, repeated identities/text, mixed feature histories | All applicable rows [Independent native histories](evidence/m6/native-histories-independent-03.log); [Rust scale](evidence/m6/rust-scale-final-01.log) |
26
27[M6-ACCEPTANCE.md](M6-ACCEPTANCE.md) records the native builds, comparisons,
28report inspections, regression campaigns and interpretation boundaries. `evidence/m6/spec-objects.json`
29is the current object-definition inventory extracted from the supplied markdown.
M6-ACCEPTANCE.md created+102
...@@ -0,0 +1,102 @@
1# Milestone 6 verification
2
3The deliverable is a read-only document model and reading report. Its acceptance
4boundary is the copied personal notebook: automated native comparisons plus a
5page-by-page review with no known easily spottable content failures. Native PDF
6references preserve access to the original canvas arrangement.
7
8## Personal notebook
9
10[The current report](evidence/m6/private-current-report-05/index.html) includes the
11user-approved newer `Video.one`. [Its source manifest](corpus/private/current-source-manifest.json)
12identifies that snapshot; [the original frozen manifest](corpus/private/source-manifest.json)
13remains separate. The original files are never edited by the library tests.
14
15| Check | Evidence |
16| --- | --- |
17| 26 current/recycle pages, 109 tags, 188,560 explicit character-format comparisons | [Fresh-cache comparison](evidence/m6/private-current-compare-01.log) |
18| 18 historical pages, including all three versions of the updated Video page | [Album](evidence/m6/private-history-final-01.log), [Video](evidence/m6/private-video-current-history-cold-compare-01.log), [deleted page](evidence/m6/private-deleted-history-final-01.log) |
19| All 45 report pages reviewed: ordinary, historical, recycle-bin and default template | [Review record](evidence/m6/private-current-report-05/qa/review.json) |
20| Frozen copy, approved current copy and live sources match their respective manifests | [Integrity check](evidence/m6/source-integrity-current-01.json) |
21
22The updated current page was inspected through eight browser viewports and two
23native PDF pages. Unchanged page bodies inherit their earlier review only after
24an exact rendered-content comparison. All exported image payloads decode.
25History labels use America/Los_Angeles. Seventeen historical dates match native
26UI evidence; copying the sole deleted-page version changes its native displayed
27date, so the report retains the source revision timestamp and records that
28normalization separately.
29
30## Independent and adversarial checks
31
32| Campaign | Result and evidence |
33| --- | --- |
34| Native edit histories | [100 histories / 2,000 independently specified operations](evidence/m6/native-histories-independent-03.log); [101 resulting pages compared](evidence/m6/native-histories-final-02.log) |
35| Shrinking | [Seed 21](evidence/m6/history-shrink-21/minimal.json) reduced from 20 operations to 3 in 37 fresh-clone replays; [empty-link regression](corpus/m6/native-empty-link-01) |
36| Rust scale generation | [128 sections / 2,097,152 Unicode scalars](evidence/m6/rust-scale-final-01.log), including reverse section ordering after native import |
37| Document fuzzing | [65,736 runs / 121 seconds](evidence/m6/document-public-fuzz-08.log) after the collapse-field change; prior [100,398-run campaign](evidence/m6/document-public-fuzz-07.log) and [11,423 private-seed runs](evidence/m6/document-private-fuzz-03.log) |
38| Rust checks | [All targets](evidence/m6/rust-regression-06.log), [clippy](evidence/m6/clippy-final-04.log) |
39| Native/report tooling | [18 tests](evidence/m6/tool-regression-15.log), including deliberate oracle failures and TIFF/native pixel parity |
40| Existing writer and fault cases | [Writer](evidence/m6/writer-regression-01.log), [collaboration/FLUSH regression](evidence/m6/collaboration-regression-02.log) |
41| Expanded live matrix | [Seven passing cases](corpus/m6/live-collaboration-15/ORACLE.md), [fresh-cache comparison](evidence/m6/live-collaboration-cold-compare-15.log), [native conflict view](corpus/m6/live-collaboration-cold-15/conflict.png) |
42
43The document fuzzer mutates property streams inside native files and repairs
44object checksums, reaching document interpretation beyond header rejection.
45It traverses referenced historical revisions and resolves text runs. Native
46histories have a separate expected-operation model; matching two views derived
47from the Rust decoder is not counted as independent verification.
48
49The live matrix covers disjoint edits, competing edits, Samba restart, per-client
50transport loss, whole-file lock contention, OneNote process termination and abrupt
51VM termination. The process/VM cases recover already server-persisted edits.
52They do not establish unsynchronized-cache durability or physical power-loss
53safety. Earlier stage-5 cases separately cover lost successful SMB FLUSH replies.
54
55## Interpretation and oracle boundaries
56
57- Native XML omits partial black highlights. Native PDF rectangles supply a
58 separate check; the reader retains the stored highlight.
59- RTL native XML column order differs from physical left-to-right storage order.
60 Independent PDF coordinates establish the conversion. Page-origin translation,
61 locked/unlocked column widths and printout borders have isolated controls.
62- A saved paragraph collapse default differs from a client's transient expanded
63 view. [The native UI control](corpus/m6/native-expanded-control-ui-01/ORACLE.md)
64 and [Rust-authored control](corpus/m6/rust-collapse-control-01/ORACLE.md) distinguish them.
65- Ink, structured equations, encrypted content and unknown properties retain
66 payloads or source identities. Preservation is not decryption or interpretation.
67 Structured equation runs expose a native-reference placeholder; ordinary inline
68 math text remains readable.
69- TIFF browser previews match OneNote's exported pixels while original TIFF bytes
70 remain available. Native image conversion is not a license to replace source data.
71- [Cell shading](corpus/m6/cell-shading-control-01/ORACLE.md) follows the documented
72 stored COLORREF value. A fresh OneNote 2010 cache opens the control but omits
73 shading from XML and renders the cell white; native rendering parity for that
74 property is not claimed.
75
76Verification uses OneNote 2010 build 14.0.4763.1000 in disposable Windows 7 clones.
77The earlier storage/collaboration corpus used build 14.0.7015.1000 on the physical
78machine. Each run records its environment and cleanup. These finite campaigns
79support this milestone's review boundary, not a claim of universal compatibility
80or absence of bugs.
81
82## Reproduce
83
84Use a new output directory for each native capture or report:
85
86```sh
87cargo test --all-targets
88cargo clippy --all-targets -- -D warnings
89cargo build --example document
90PYTHONPATH=tools python3 -m unittest discover -s tools -p 'test_*.py'
91python3 tools/native_runner.py COPIED_NOTEBOOK NEW_CAPTURE --pdf
92python3 tools/verify-document.py COPIED_NOTEBOOK NEW_CAPTURE/read
93python3 tools/notebook_report.py COPIED_NOTEBOOK NEW_REPORT \
94 --native NEW_CAPTURE/read --timezone America/Los_Angeles
95cargo +nightly fuzz run document -- -max_total_time=120 -max_len=512 -rss_limit_mb=2048
96python3 tools/native_collaboration.py NEW_CAPTURE --linux OWNED_LAB_NAME
97```
98
99Python native comparison/report tests require Pillow and pdfplumber. Historical
100report references use repeated `--versions CAPTURE_DIRECTORY` arguments after
101`verify-document.py --versions CAPTURE_DIRECTORY/version-ui.json` has checked
102source hashes and associated the native copies with stored revisions.
MILESTONE6.md created+183
...@@ -0,0 +1,183 @@
1# Milestone 6: a reviewable OneNote document model
2
3Completed milestone; verification and review artifacts are recorded in
4[M6-ACCEPTANCE.md](M6-ACCEPTANCE.md). Clover chose
5extracting a real notebook into a readable document model as the first hands-on
6result. This milestone combines document-format work with repeatable native
7verification; completion requires no known easily spottable bugs in her notebook
8after automated native comparisons and an independent page-by-page inspection.
9Her review should find subtle design issues, not serve as the basic QA pass.
10
11## What Clover receives
12
13A local, read-only review report generated from the copied personal notebook,
14with notebook/section/page navigation, readable content, extracted media, and a
15document-structure view. The report exposes paragraph nesting and ordering,
16text-run styles, outline coordinates, tables, links, tags, and source identities.
17It accompanies a machine-readable model and an asset directory, so the result is
18useful to future applications as well as inspectable by a person.
19
20The report presents a readable interpretation of the document. It does not claim
21to reproduce OneNote's layout engine. Coordinate values and native reference
22captures let Clover assess spatial information without depending on a new canvas
23renderer. Ink, recording data, encrypted sections, and unrecognized structures
24must remain explicitly accounted for, with retained payloads or source references
25as appropriate. Unsupported interpretation must never turn into silent omission.
26
27Feedback should be attached to identifiable pages/objects and answer:
28
29- Does the section/page hierarchy match the notebook, including subpages and order?
30- Does the representation preserve meaningful paragraph/list/table structure?
31- Are text, formatting, links, images, attachments, and tags correctly associated?
32- Where does spatial arrangement communicate something the readable view loses?
33- Which opaque content prevents this model from supporting a useful reader?
34
35The review ends with concrete corrections or priorities for the document model.
36Editing API design follows that feedback; no GUI editor is part of this milestone.
37
38## Sequence and gates
39
40| Step | Deliverable | Gate before proceeding |
41| --- | --- | --- |
42| 1. Repeatable native oracle | Automated fresh-clone runs using the existing VM controllers, named disposable notebooks, bounded captures, and unconditional teardown | Existing reader/writer native cases replay successfully; intentional content corruption causes a failed comparison; a failed run retains a reproducible artifact bundle and leaves no owned VM running |
43| 2. Document semantics | A typed view over the resolved store graph, independent of COM and filesystem transport | Every interpreted feature has a native fixture and assertions for its semantic invariants; unknown and encrypted content is represented explicitly |
44| 3. Real-notebook review | Machine-readable export, assets, and a human-readable report derived from the same model | All copied sections/pages are accounted for, source hashes remain unchanged, and supported content matches newly captured native evidence |
45| 4. Adversarial validation | Seeded native edit histories, parser fuzzing, and replay of existing commit/concurrency cases | The feature/failure matrix passes, discrepancies have regression cases, and the acceptance report distinguishes exact matches, allowed native normalization, and opaque content |
46
47## Document scope
48
49Start with notebook and section structure, ordered pages/subpages, titles, outlines,
50paragraphs, and Unicode text runs. Add character/paragraph formatting, list and
51indentation semantics, tables, hyperlinks, images, attachments, and note tags.
52Expose conflict pages and recycle-bin membership separately from ordinary pages;
53retain their relationship to their source page/section. Account for observed
54unrecognized page-like metadata instead of filtering it out of the report.
55
56MS-ONE text-run boundaries use character positions with rules distinct from Rust
57UTF-8 byte indices. Fixtures must cover surrogate pairs, combining marks, RTL text,
58mixed formatting, empty paragraphs, repeated text, and embedded objects. Titles,
59cached title strings, styles, and layout metadata need explicit interpretation;
60generic scalar decoding alone cannot establish those relationships.
61
62Keep document interpretation above `onestore`'s revision/property graph. Retain
63access to raw identities and values for unknown properties. Add types only where
64they express document semantics or prevent invalid interpretation; keep the initial
65export/API provisional until Clover has reviewed actual notebook content.
66
67## Independent verification
68
69```text
70Authored operation history ──→ expected document semantics
71 │
72 └─→ real OneNote edit/save → captured .one + native XML/payloads
73 │
74 └─→ Rust document model
75 │
76 compare all three ─┘
77
78Existing Rust scalar edit → fresh native read/edit/save → Rust reread
79```
80
81Native capture runs use a fresh clone/cache for each independent acceptance case.
82Tests of a continuing collaboration session deliberately retain that session's
83cache, then use a separate fresh verifier after synchronization. Completion must
84be observed through file/content state, not inferred from an arbitrary sleep or a
85successful asynchronous COM call. COM IDs are cache identities, not persistent
86notebook identities.
87
88Compare page relationships/order, paragraph boundaries, text runs/styles, table
89cells, positions, links, and payload bytes. Hashes establish artifact integrity;
90they do not establish semantic correctness. Native XML supplies an independent
91view of supported content. Selected UI captures cover facts COM omits, especially
92conflicts and visual interpretation. Whole-file byte equality after a native save
93is not the oracle because OneNote rewrites metadata and representation.
94
95Build native-only control cases for observed normalization, including the previous
96table-width and ink z-order changes. Comparison exceptions require specific
97evidence and a narrow assertion; broad removal of timestamps, IDs, or geometry
98must not conceal meaningful changes.
99
100Use a small independent test model for generated operations; expected values must
101not be reconstructed by the same Rust decoder being checked. Shrink a failed
102history by removing operations and simplifying their parameters, replaying each
103candidate from a clean starting state. Preserve seed, operation history, input and
104output files, model diff, native XML/payloads, app/server versions, and relevant
105trace excerpts. A regression must reproduce the observed discrepancy before its
106fix can be accepted.
107
108Build a specification-derived feature matrix, including features absent from the
109personal and stock notebooks. Produce large synthetic notebooks both through Rust
110and through real OneNote; compare independent generation paths and exercise size,
111ordering, repetition, and mixed-feature interactions. Any unsupported feature must
112be explicitly accounted for and investigated, not silently omitted from coverage.
113
114Initial randomized target: 100 reproducible native histories of roughly 20
115operations, spanning the supported feature matrix. This is a campaign budget,
116not a statistical safety claim. Native-generated files then seed fast local
117reader fuzzing. Continue the existing stateful short-I/O/partial-persistence
118commit tests; run the existing collaboration scenarios with two Windows clients
119and the disposable Linux server. Process termination, Samba restart, transport
120loss, and abrupt VM termination are distinct fault cases and must be reported as
121such. VM termination does not simulate physical host power loss.
122
123## Tooling findings and setup work
124
125The implementation is in `tools/w7`. Windows instances use sparse qcow2 overlays
126on a sealed base, unique hostnames/MACs/control targets, and an authenticated agent.
127Linux instances also use overlays. A VDE network connects Windows clients to one
128Linux Samba appliance at `192.168.77.1`; the Mac has forwarded SSH and SMB ports.
129The MCP's up/down/status operations are enough for ordinary fresh-clone tests.
130Reuse those controllers from the test runner rather than implementing another
131QEMU lifecycle. Add a narrow controlled-crash facility only when fault cases need
132it, with ownership checks and restart/recovery of the same overlay.
133
134Start with two Windows clients and one Linux server. Windows uses x86 CPU
135emulation on this host; the suggested 25-client capacity has not been measured.
136Increase concurrency from measured test throughput and resource use. One Linux
137lab address means server restart/configuration tests require exclusive ownership
138of that server; ordinary cases can use separate notebook directories.
139
140The scout confirmed:
141
142- Windows 7 clone `m6scout`, PowerShell 5.1.14409.1005, OneNote 14.0.4763.1000.
143 The earlier physical-machine corpus used OneNote 14.0.7015.1000. Record both
144 builds' evidence separately; success on one must not be silently attributed to
145 the other.
146- The clone desktop was 800×600, so existing 1280×720 AHK coordinates cannot be
147 reused without setting and verifying display configuration.
148- Z: mapped to `\\10.0.0.1\agent` (zenith). The disposable Linux share is a
149 different destination, `\\192.168.77.1\agent`. Parameterize shared paths rather
150 than reusing the old A: convention or remapping Z:.
151- Linux reported Samba 4.22.10 and an ext4 data filesystem. Windows read a
152 Linux-created marker and Linux read a Windows-created marker through that share.
153- A fresh native cache opened the template-free Rust notebook and returned its
154 expected paragraph through COM. The captured XML is under
155 `evidence/milestone6-scout/page.xml`. Cache reset remains necessary when reusing
156 file identities within a clone.
157- Procmon started through `win7_spawn` and wrote a PML capture. The unfiltered
158 short capture grew to about 126 MB; filter by test process/path and bound capture
159 duration before using it in a campaign. Trace contents were not analyzed in this
160 scout, and the transient PML was removed with the clone.
161- All six VM-tooling tests passed with the scout running. One test assumed the
162 first control port was free; it now checks that the registered target points to
163 the allocated port, while retaining the separate uniqueness assertion.
164- Both scout VMs were stopped and deleted after the smoke checks. Neither the
165 sealed images nor the personal notebook were edited.
166
167Existing native scripts assume a parked personal Windows profile, fixed A: paths,
168and specific display coordinates. Adapt their orchestration for disposable clones
169while retaining the guards used for the physical laptop. Windows base identity,
170Linux package/server versions, and relevant configuration must accompany every
171run; cloud-init currently installs packages at clone creation time.
172
173## Completion and review boundary
174
175The milestone is ready after the copied notebook passes automated comparison and
176an independent page-by-page inspection with no known easily spottable bugs.
177Corrections found during that inspection need reproductions and regression checks
178before handoff. Clover's subsequent review addresses subtle representation and
179design decisions. Deliver the report, model,
180assets, acceptance matrix, and reproduction command together. Preserve originals
181and export evidence before automatically deleting all machines created by the
182run. The next decision is which document operations to expose for editing based
183on that review, rather than another general approval to continue infrastructure.
MILESTONE7.md created+429
...@@ -0,0 +1,429 @@
1# Milestone 7: concurrent editing
2
3Acceptance gates passed for the tested macOS Rust, OneNote 2010 and Linux Samba
4configuration. The edited notebook has fresh native references and an HTML
5review; independent operation histories verify overlapping clients, retained
6conflicts and the final notebook after native application closure.
7
8## Gates
9
101. Document edits: publish text and dependent run boundaries atomically; check
11 Unicode boundaries, preserve untouched objects and opaque properties, reject
12 unsupported edits before writing. Validate native round trips before racing.
132. Random-edit CLI: select a page and seed, record the exact intended operation,
14 source identity and commit outcome. Operate on disposable notebook copies.
153. Local concurrency: independent reader/writer processes, synchronized starts,
16 stale snapshots, lock contention, randomized delays and interrupted commits.
17 Verify every successful observation and explain every accepted edit.
184. Native concurrency: grow from three native clients plus multiple Rust
19 processes to larger measured workloads. Mix disjoint and same-paragraph
20 changes, ordinary reads, synchronization, disconnects and restarts. Prove
21 operation overlap from recorded intervals; do not count open idle clients.
225. Adversarial replay: retain seeds, operation logs and snapshots; shrink failures
23 and add regressions. Compare the independent operation model with current
24 native content and explicitly reachable conflicts, then cold-reopen results.
256. Review and cleanup: inspect the edited report and native references, rerun
26 prior gates, verify original source hashes, delete owned machines, and record
27 observed client counts, operations, faults and the limits of the evidence.
28
29Disjoint acknowledged changes must survive. Competing changes must be accounted
30for by their observed ordering or accessible conflict content; historical bytes
31alone do not prove recovery. Unknown commit outcomes require rereading before a
32retry. Native COM page snapshots must not replay untouched stale containers.
33
34Crash tests distinguish application cache state, server-persisted state and
35storage durability. No finite campaign proves all schedules or hardware
36power-loss behavior.
37
38## Replay
39
40Use fresh output directories and Linux VM names; the native harness deletes its
41owned machines on exit. The Linux lab address allows one server run at a time.
42
43```sh
44python3 tools/native_collaboration.py evidence/m7/new-stress --linux new-stress --stress-clients 3 --stress-operations 150 --sync-every 0 --rust-writers 4 --rust-readers 3 --edit --seed 913
45python3 tools/native_runner.py evidence/m7/new-stress/stress-closed/notebook evidence/m7/new-cold --expected-pages 1
46python3 tools/verify-document.py evidence/m7/new-stress/stress-closed/notebook evidence/m7/new-cold/read
47python3 tools/native_stress.py evidence/m7/new-stress evidence/m7/new-cold/read
48python3 tools/native_collaboration.py evidence/m7/new-conflict --linux new-conflict --conflict-clients 3 --rust-writers 3 --rust-readers 2 --stress-operations 5 --seed 917
49cargo +nightly fuzz run edit_text -- -max_total_time=300 -max_len=128 -rss_limit_mb=2048
50```
51
52## Evidence
53
54- `evidence/m7/text-edit-native-02`: a length-changing Unicode edit reopened in
55 a fresh OneNote VM; 297 explicit formatting comparisons passed on one page.
56- `evidence/m7/local-concurrency-02`: ten Rust writers and six readers;
57 600 acknowledged commits and 8,101 checked observations. The final notebook
58 reopened in a fresh native cache (`local-concurrency-native-02`).
59- `evidence/m7/edit-text-multi-fuzz-03.log`: 31,394 stateful executions with
60 six independently stale writer snapshots and interrupted publication. This
61 simulates interleavings; native concurrency is a separate gate.
62- `evidence/m7/native-concurrency-01` and `native-concurrency-02`: three native
63 clients, four Rust writers and three Rust readers exposed a macOS SMB lock
64 failure. Native COM acknowledgments were not durable synchronization: the
65 stalled server copy did not contain those cached native edits. These runs
66 failed acceptance and all of their machines were deleted.
67- `evidence/m7/lock-race-default`: a notebook-free, four-process reproducer
68 detected overlapping exclusive holders using an independent local marker,
69 plus stranded locks when switching read-only and read/write opens. Explicit
70 unlock alone did not fix it. Uniform access modes still violated exclusion.
71- `evidence/m7/lock-race-atomic`: atomic open-and-lock passed all three access
72 modes without overlap. The macOS file adapter now uses that operation.
73- `evidence/m7/smb-rust-only-04`: the formerly stalled workload completed all
74 120 commits, 940 verified reads and 203 overlapping writer calls after that
75 change. Broader acceptance remains active; this does not establish a native
76 multi-client pass.
77
78- `evidence/m7/lock-race-atomic-16`: sixteen processes, 4,516 acquired locks
79 across read-only, read/write and alternating access; no marker overlap.
80- `evidence/m7/smb-rust-only-05`: ten writers and six readers completed 1,000
81 commits and 14,913 verified observations. The saved result subsequently
82 failed fresh-cache native acceptance (`smb-concurrency-native-05`): OneNote
83 returned zero pages after five minutes. The dependency-checkpoint fix and subsequent native checks below explain
84 and resolve this failure; Rust parsing alone was insufficient acceptance.
85- `evidence/m7/native-concurrency-03`: all 90 native edits and 120 Rust edits
86 converged, but the overlap gate correctly rejected the run. Native calls
87 began 4.5–5.4 seconds after the first Rust commit; Rust finished at 2.7
88 seconds. The shared-file start marker was delayed. The harness now waits
89 for each native client's first-edit acknowledgment before releasing Rust.
90- `evidence/m7/local-stateful-01`: eight writers and five readers, 800 random
91 length-changing Unicode replacements, 9,820 verified observations. The
92 independent oracle applies recorded UTF-16 edit intents to each committed
93 state and checks all reader observations against the resulting history.
94- `evidence/m7/edit-text-multi-fuzz-04.log`: 26,377 renewed stateful fuzz
95 executions completed without a failure.
96- `evidence/m7/native-concurrency-04`: all 90 native edits and 120 Rust edits
97 converged, but overlap remained zero. Rust's first successful commit occurred
98 10.21 seconds after its start signal, following thousands of busy reads while
99 native clients synchronized after every edit. Atomic open requests deny-all
100 sharing on this mount; native open handles can postpone Rust admission.
101- `evidence/m7/native-threshold-02` and `native-threshold-03`: a fresh section
102 containing the same final text opened normally. The long-history section
103 opened after shortening revision dependencies while preserving its resolved
104 graph; coalescing file-node fragments alone did not help. Tested histories
105 through 676 transactions opened; 701 and longer failed. This bounds an
106 observed compatibility failure, not a documented format limit.
107- The writer now appends an independent current-object snapshot before dependency
108 depth would exceed 512, retaining all older revisions. Section snapshots reuse
109 immutable property and attachment declarations; TOC snapshots remap CompactIDs
110 into a complete table. `checkpoint-boundaries-01.log` covers two boundaries in
111 both native section and TOC fixtures, with every historical revision checked.
112 `checkpoint-publication-01.log` checks interrupted text publication at the
113 boundary against complete old/new text and formatting states.
114- `evidence/m7/local-checkpoint-01`: ten writers and six readers completed
115 1,500 randomized Unicode replacements, 22,995 checked observations and 11,966
116 overlapping writer calls. `checkpoint-native-01` cold-opened its saved result;
117 native text exactly matched the independently replayed edit history.
118- `evidence/m7/edit-text-checkpoint-fuzz-05.log`: 4,558 stateful executions in
119 302 seconds, including cached snapshots immediately before a full checkpoint,
120 with interrupted publication and character/formatting oracles. No failure.
121 `checkpoint-regression-02.log`, `checkpoint-clippy-01.log`, and
122 `tool-regression-03.log` record passing Rust checks and 22 Python tests.
123- `evidence/m7/checkpoint-attachment-native-01`: a native section retained its
124 text, images, attachment and formatting through 2,052 scalar edits and repeated
125 snapshots. Fresh-cache reading passed 483 explicit character-format checks;
126 all native page XML matched the earlier reference except page modification
127 time, recorded separately in `retention.json`.
128- `evidence/m7/checkpoint-toc-native-01`: the native two-page notebook reopened
129 after 1,026 TOC edits crossing two dependency checkpoints. The generator and
130 input/output hashes are retained in `evidence/m7/checkpoint-fixtures`.
131- `checkpoint-toc-native-02` repeated the TOC check with native PDFs: two pages,
132 two tags and 3,562 explicit character-format comparisons passed. PDF geometry
133 verified the existing black-highlight case that native XML omits.
134- `native-concurrency-05` established 633 clock-bounded native/Rust call overlaps
135 under background synchronization. Its original oracle incorrectly treated
136 transaction numbers as permanent across native renumbering. Replaying intent
137 content validated all 800 Rust commits and 6,370 reads through one counter
138 decrease. The run stopped before explicit native convergence; after cleanup,
139 one native paragraph lacked its final three cache-acknowledged edits. It is
140 not an acceptance pass. The content-history oracle now rejects branches,
141 missing acknowledgements, partial observations and reads inconsistent with
142 recorded real-time bounds; its regressions are in `test_native_stress.py`.
143- `native-concurrency-06`: three native writers, four Rust writers and three
144 Rust readers passed the overlapping background-sync gate. All 600 native edits
145 and 800 Rust commits converged in every native client and the shared file;
146 7,252 Rust reads matched the intent history, with 609 conservatively
147 clock-bounded native/Rust call overlaps. A separate cold-cache capture follows
148 in `native-concurrency-cold-06`.
149- `random-edit-smb-01.json` and `random-edit-smb-01.one`: the CLI created a
150 separate edited file on Samba, with byte equality verified directly at the
151 server. Examples share the commit adapter's standard-fsync fallback when
152 macOS full-sync is unsupported. Rust commit/edit regressions and clippy passed
153 (`flush-regression-01.log`, `flush-clippy-01.log`).
154- `native-concurrency-cold-06`: a separate fresh OneNote cache retained all
155 1,400 intended edits from the successful mixed run. Native comparison passed
156 54,330 explicit character-format checks, and exact paragraph text matched
157 the independently replayed operations. All associated machines were deleted.
158
159- `native-concurrency-07`: five native writers, eight Rust writers and five Rust
160 readers completed 1,000 native edits and 1,600 Rust commits, with 21,152 checked
161 reads and 296 clock-bounded native/Rust call overlaps. All six paragraphs
162 converged. `native-concurrency-cold-07` independently retained all 2,600 intended
163 edits and passed 95,034 explicit format comparisons. Every owned VM was deleted.
164- `edit-text-checkpoint-fuzz-06.log`: 10,596 stateful executions in 901 seconds,
165 without failure. `edit-text-insertion-fuzz-07.log`: 4,639 executions in 301
166 seconds including legacy and empty text properties, without failure.
167- Random edits on the private corpus exposed unsupported legacy Unicode
168 promotion and absent initial text properties. The writer now adds Unicode
169 text while preserving the original legacy property, as MS-ONE 2.2.23 permits.
170 `text-insertion-boundaries-02.log` checks native fixtures, unrelated objects,
171 historical revisions, short writes and interrupted publication.
172- A title edit previously left navigation caches stale. Text and cached titles
173 now publish in one revision and transaction; `title-atomicity-04.log` and
174 `title-regression-02.log` check rename/clear, history and interrupted short
175 writes. `private-random-native-01/title-verification.log` demonstrates that
176 the strengthened independent verifier rejects the earlier faulty copy.
177 CachedTitleStringFromPage's mandatory empty value applies to nonempty Unicode
178 titles; original legacy titles may retain it. The writer's modified-title
179 checks enforce that condition without rejecting untouched legacy content.
180- `edit-text-title-fuzz-08.log`: 7,383 executions in 301 seconds, adding a native
181 title fixture and assertions relating title text, metadata and alternate title
182 after every persisted observation. No failure. The later single-title-object
183 admission guard was separately covered by `title-regression-02.log`.
184- `title-empty-native-01`: a cleared title cold-opened successfully; two pages,
185 two tags and 3,394 explicit format checks passed, with four native-PDF highlight
186 checks. OneNote regenerated its empty page name from body text during opening;
187 this check establishes text/format retention, not stored automatic-title parity.
188- `private-random-campaign-04`: five seeded edits on each of 26 current pages,
189 130 total. An independent UTF-16 splice model checks all resolved styles,
190 unrelated nodes, metadata, contexts, historical revisions and payload hashes
191 after every edit. All ten frozen source files remained byte-identical.
192 `private-random-native-02/verification-02.log` records a fresh-cache pass on
193 all 26 pages, 109 tags and 186,325 explicit format comparisons, with five native
194 PDF highlight checks. The capture VM was deleted.
195- `title-all-targets-01.log` records passing Rust all-target tests;
196 `title-clippy-01.log` has no warnings. `random-native-oracles-01.log` records
197 30 passing Python tests, including content-chain replacement histories and
198 deliberate title-cache damage.
199- `private-random-report-04`: the edited copy is rendered with all 45 stored
200 pages and 26 current native references. Browser inspection covered the edited
201 Video page; all 2,357 local links resolve (`link-check.json`). The original
202 source remains untouched.
203- `native-random-08`: randomized replacements and bold/italic changes exposed
204 a test-driver error. On its second edit, Win7's framework left OneNote's
205 `&#129408;` entity undecoded, so the script treated entity spelling as text.
206 The independent intent oracle rejected that history. This run is not a pass;
207 all four machines were deleted. `tools/native/text.ps1` now decodes supplementary
208 numeric entities before the framework decoder, preserving escaped literals.
209 `native-text-test-01/failure-artifacts/text-result.json` records six passing
210 Windows decoder regressions. Its unrelated native-capture phase was correctly
211 stopped by the profile-isolation guard because this text-only author script
212 had not initialized a test profile; the VM was deleted.
213- `automatic-title-native-01`: 18 application-authored automatic-title cases
214 captured trimming, empty paragraphs, formatting, entities and long text.
215 Input and stored metadata are retained with the native page names. Additional
216 Unicode-boundary and outline-order cases are being measured before extending
217 automatic-title updates.
218- `automatic-title-native-02` captured ten more application-authored cases.
219 Automatic names select an outline by position (top before bottom, then left),
220 use the first text line, and trim whitespace. The 255-UTF-16-unit boundary
221 includes a complete supplementary character when it starts at unit 254,
222 yielding 256 units. Both fixture sets pass native comparison: 19/11 pages and
223 11,680/5,304 explicit format checks. The first set also establishes OneNote's
224 XML omission of an otherwise empty outline containing only ASCII spaces;
225 the oracle permits that case while still rejecting omitted text, lists or tags.
226 These are measured compatibility rules, not a completed automatic-title writer.
227- `title-checkpoint-atomicity-02.log` passes interrupted multi-object title
228 publication both on the native fixture and at a full dependency checkpoint,
229 using 17/257-byte short writes respectively.
230- `native-random-09` replayed seed 912 after the native decoder fix: three
231 original OneNote writers, four Rust writers and three Rust readers completed
232 450 native replacements with bold/italic changes and 600 Rust Unicode
233 replacements. All four paragraphs converged; 8,564 reads matched the
234 independently chained replacement intents, with 260 clock-bounded native/Rust
235 call overlaps. The final native formatting matched each actor's last recorded
236 intent. All three Windows VMs and the Linux server were deleted.
237- `native-random-cold-09`: a separate fresh cache retained the exact final
238 text produced by all 1,050 replacement intents. Native comparison passed
239 1,974 explicit format checks; an independent replay also checked 456 character
240 bold/italic values against the recorded native editing intent. The cold VM
241 was deleted.
242- `random-noop-01` records seed 301 replacing ` café ` with itself and producing
243 identical output. The CLI now turns an identical replacement into an insertion.
244 `test_random_edit_campaign.py` verifies both new-file and in-place operation;
245 `tool-regression-06.log` records 31 passing Python tests and
246 `final-clippy-04.log` is clean.
247
248- `automatic-title-native-03`: twelve additional native cases distinguish
249 explicit titles (full length, leading whitespace removed, trailing whitespace
250 retained, first line) from automatic body summaries (trimmed and bounded).
251 Empty lines/paragraphs/outlines fall through to later text; table cells supply
252 automatic titles. All 13 captured pages pass 9,744 native format comparisons.
253- The writer now publishes automatic navigation metadata when body text changes
254 and when an explicit title is cleared, choosing body outlines by position.
255 New sections use the same bounded automatic-title encoding. No public API was
256 added. `automatic-title-regression-03.log` passes edit/writer regressions;
257 `automatic-title-edit-tests-01.log` covers native line/UTF-16 boundaries and
258 multi-object interrupted publication. Historical objects and all non-title
259 metadata fields remain checked independently.
260- `automatic-title-edits-01` applies 26 independently checked edits to the 13-page
261 native fixture. `automatic-title-edits-native-01` then passes fresh-cache text,
262 cached navigation title and 6,992 character-format comparisons. Its VM was
263 deleted. `title-empty-native-02` independently confirms the corrected cleared
264 title's navigation label, two pages, two tags and 3,394 format checks, with four
265 PDF black-highlight checks; its VM was deleted.
266- `edit-text-automatic-title-fuzz-09.log`: 6,550 stateful executions in 301 seconds
267 after automatic-title changes, with no failure. `automatic-title-all-targets-01.log`
268 passes all Rust targets; `automatic-title-clippy-01.log` has no warnings.
269- `private-random-campaign-05` passes another 130 edits against the whole-document
270 and payload-preservation oracle. All ten frozen source files remained unchanged.
271- `private-random-native-03` cold-opens that edited copy: 26 pages, 109 tags,
272 186,325 format checks, five PDF highlight checks, and cached navigation titles
273 pass. Its VM was deleted. `private-random-report-05` contains the edited pages
274 and fresh native references; all 2,357 local links in 46 HTML files resolve.
275- `automatic-title-native-04/05` establish RTL outline ordering by descending
276 x anchor (width does not affect it), reversed RTL table-cell order, skipped
277 attachments, and whitespace trimming after UTF-16 truncation. The two public
278 fixtures in `corpus/m7/automatic-titles` retain native provenance. Ten direct
279 body-edit regressions cover the RTL/attachment selection rules.
280- `automatic-title-edits-02/03` apply 21/18 independently checked edits to these
281 fixtures. Fresh native captures pass seven/six pages, cached navigation labels,
282 and 2,064/6,288 format checks. Both VMs were deleted. All Rust targets and
283 clippy pass in `automatic-title-all-targets-02.log` and
284 `automatic-title-clippy-03.log`.
285- `native-random-10` repeats the ten-client replacement workload with seed 913:
286 450 native edits, 600 Rust commits, 5,595 reads, and 466 clock-bounded native/Rust
287 call overlaps. All four paragraphs converge. `native-random-cold-10` passes
288 1,740 format comparisons; intent replay independently checks all 1,050 edits
289 and 392 native bold/italic character values. All associated VMs were deleted.
290- `tools/native_stress.py RUN CAPTURE/read` now replays saved editing intents
291 directly against fresh native XML, including exact paragraph multiplicity and
292 native formatting intent. `tool-regression-08.log` records 33 passing tests,
293 including rejection of missing/extra content, incorrect formatting, lost edits
294 and split surrogate pairs.
295- `recovery-01` repeats all seven shared-notebook scenarios after the writer
296 changes: disjoint edits, reachable competing edits, server restart, transport
297 reconnect, lock contention, application restart and VM restart. Both Windows
298 clients and the Linux server were deleted. `recovery-cold-01` opens the final
299 saved notebook in a new cache and passes text, navigation and 641 character
300 format checks; its VM was deleted.
301- The conflict oracle follows current page-manifest references only.
302 `conflict-oracle-regressions-01.log` checks the native offline-edit fixture and
303 rejects treating unreferenced history or detached object spaces as recovery.
304 `tool-regression-09.log` records 34 passing Python tests.
305- `edit-text-rtl-fuzz-10.log` adds the native RTL title and non-title body
306 candidates to the stateful interrupted-edit workload: 4,531 executions in
307 301 seconds, no failure.
308- `mixed-conflict-01` FAILS acceptance. Three native clients edited the same
309 paragraph offline while three Rust writers committed 15 appends and two Rust
310 readers observed them. After reconnection, all three native alternatives were
311 reachable, but the final Rust text was absent from the current page and its
312 conflict pages. The pre-reconnect notebook and every convergence snapshot are
313 retained. All three Windows VMs and the Linux server were deleted. Rust edits
314 changed the text object's modification time while ancestor paragraph/outline/
315 page times stayed unchanged; native edits changed those ancestors too. That
316 difference is a hypothesis for investigation, not an established cause.
317- `mixed-conflict-02` reduces the workload to one native client, two Rust writers,
318 one reader and two Rust commits. Both competing results remain reachable; this
319 reduction does not reproduce the failure. Its Windows and Linux VMs were deleted.
320- `mixed-conflict-cold-01` independently opens the failed final notebook in a
321 fresh cache. The native conflict UI shows only the three native alternatives;
322 clipboard captures recover the exact Unicode text of both conflict pages.
323 The Rust result is also absent from all exported stored revision objects in
324 the last convergence snapshot (`mixed-conflict-01/lost-edit.json`). Native
325 comparison passes 200 format checks on the surviving main page; that reader
326 agreement does not validate retention of the missing edits. The VM was deleted.
327- `mixed-conflict-03` tests ancestor modification timestamps with the original
328 three-native/three-Rust-writer workload, using the separate
329 `evidence/m7/ancestor-timestamp-probe.py`. The first reconnect capture referenced
330 three conflict spaces without default revisions, so the strict reader stopped
331 the run. After client teardown, two references remained unresolved. All VMs
332 were deleted. `mixed-conflict-cold-03` nevertheless opens the saved file in a
333 fresh OneNote cache with the full Rust text; its VM was deleted. This is an
334 inconclusive experiment, not acceptance of a timestamp fix.
335- The native checkpoint observer now preserves each distinct incomplete snapshot
336 and retries missing document contexts for at most two minutes. Other parse
337 errors still fail immediately, and retention still requires every competing
338 result to be reachable. This allows the next experiment to distinguish an
339 intermediate cross-space save from a persistent missing conflict.
340- `mixed-conflict-04` repeats the timestamp experiment with that observer. One
341 incomplete snapshot resolves, then all three native alternatives and the full
342 15-commit Rust result are reachable. All Windows and Linux VMs were deleted.
343- Text edits now publish existing ancestor modification timestamps in the same
344 transaction as text, run boundaries and navigation caches. Preservation tests
345 independently follow raw object references and compare every unrelated field;
346 interrupted title/checkpoint publication also checks all modification times.
347 `ancestor-edit-regressions-04.log`, `ancestor-all-targets-01.log`,
348 `ancestor-clippy-01.log` and `ancestor-tool-regressions-01.log` pass.
349 Native acceptance of the atomic implementation is recorded below, separately
350 from the timestamp experiment.
351- `mixed-conflict-05` stopped before any Rust commit: disconnecting native NICs
352 stranded an existing SMB handle and correctly excluded Rust. The setup now
353 holds the file's exclusive lock while disconnecting clients. Rust readers
354 back off during contention. All owned VMs were deleted; the final stopped
355 clone's removal is recorded in `cleanup-confirmed.json`.
356- `private-random-campaign-06` applies 130 edits with seed 918 and verifies all
357 ten frozen source files unchanged. Fresh native capture
358 `private-random-native-04/verification-02.log` passes 26 pages, 109 tags,
359 188,956 character-format comparisons and five black-highlight paragraphs.
360 Its PDF maps a rendered combining-accent glyph to a space. The PDF oracle
361 checks the uniquely located paragraph and the unhighlighted glyph's inline
362 region; missing ordinary text, ambiguous matches and black rectangles in that
363 region fail. `tool-regression-14.log` passes all 35 Python tests.
364 `private-random-report-06` associates all 26 current pages with the fresh
365 native references; all 2,357 local links resolve. Its VM was deleted.
366- `edit-text-ancestor-fuzz-11.log` exercises stateful edits and interrupted
367 publication after ancestor timestamp propagation: 4,236 runs in 301 seconds,
368 no failure.
369- `mixed-conflict-06` passes with the atomic implementation: three native
370 alternatives and the full 15-commit Rust result remain reachable after all
371 three native clients close. A transient incomplete save resolves before
372 acceptance. All Windows and Linux VMs were deleted. `mixed-conflict-cold-06`
373 opens the closed result in a fresh cache; native conflict UI clipboard
374 captures independently match all four intended results exactly. That VM was
375 deleted too. The ordinary page comparison passes separately; its zero
376 explicit format checks do not substitute for the four intent comparisons.
377- The native clone cleanup now handles the VM helper's `SystemExit` on shutdown
378 timeout, terminates the owned VM and deletes its overlay. The regression
379 checks deletion and the teardown record; `tool-regression-17.log` passes all
380 36 Python tests, and the private native comparison still passes.
381- `native-random-11` never reached notebook editing: YAML parsed its all-digit
382 WAN MAC address as a sexagesimal integer, so cloud-init could not configure
383 the interface. The failed boot log is preserved and its VM was deleted.
384 Quoting both MAC addresses fixes the seed. `linux-lab-regression-01.log`
385 passes the two lifecycle tests; `native-random-12` reuses the same VM name
386 and deterministic MAC after deletion and reaches ready Windows clients.
387- `native-random-12` passes seed 918 with the ancestor fix: three native
388 writers, four Rust writers and three Rust readers; 450 native edits, 600
389 Rust commits, 2,471 checked reads and 428 clock-bounded overlapping native/Rust
390 calls. All four intended paragraphs converge and native formatting matches
391 the recorded operations. All task-owned Windows and Linux VMs were deleted.
392- `native-random-cold-12` independently reopens that result and compares every
393 recorded native/Rust edit with the native XML. Its VM was deleted.
394- `same-second-build` is an isolated controlled-clock build with one recorded
395 source substitution: a text edit uses its baseline element timestamp.
396 `same-second-equivalence/result.json` confirms that its resolved revision
397 exactly matches a production-library edit completed in the same actual
398 second. The production clock and library are unchanged. `mixed-conflict-07`
399 uses that build to test baseline-equal timestamps with three native writers,
400 three Rust writers and two Rust readers.
401- `mixed-conflict-07` passes: the four page-content element timestamps remain
402 exactly equal to the cached baseline across all 15 Rust commits, and all
403 four competing results survive reconnect and application closure. The three
404 Windows VMs and Linux server were deleted. This distinguishes valid equal
405 timestamps from the inconsistent descendant/ancestor times in the original
406 failing writer; it does not require inventing future timestamps.
407- `mixed-conflict-cold-07` independently opens the same-second result and
408 captures exact Unicode clipboard text from the main page and all three
409 native conflict pages. All four results match the recorded intent, and the
410 VM was deleted. Conflict retention now counts duplicate text instead of
411 collapsing it into a set: `exact-retention.json` rechecks both successful
412 closed notebooks against the exact four-result multiset.
413- `native-random-13` passes seed 919 with twelve clients: four native writers,
414 five Rust writers and three Rust readers; 600 native edits, 750 Rust commits,
415 1,903 checked reads and 456 clock-bounded overlapping native/Rust calls.
416 All five intended paragraphs converge. The harness now captures
417 `stress-closed` after every native client closes; fresh-cache acceptance uses
418 this snapshot instead of the earlier live checkpoint.
419- `native-random-cold-13` opens that closed snapshot in a fresh native cache:
420 all 1,350 recorded edits match exactly across five paragraphs, with 1,672
421 explicit character-format comparisons and 390 checks against the native
422 writers' formatting intents. Its VM and all campaign VMs were deleted.
423- Final cleanup records are `final-teardown-check.json` and
424 `final-source-check.json`: 21 owned Windows clone identities and five Linux
425 VM identities are absent, and all ten frozen private source files retain
426 their hashes. `tool-regression-19.log` passes 36 Python tests. The HTML review
427 is `private-random-report-06/index.html`; its 26 current pages link to the
428 verified native references. Physical power-loss and unsynchronized native
429 cache durability remain outside these guarantees.
MILESTONE8.md created+84
...@@ -0,0 +1,84 @@
1# Workspace, crash recovery and diagnostic editing
2
3Goal resumed after the user accepted the workspace split and public API audit.
4API boundary changes remain authorized when justified by implementation needs.
5
6## Acceptance gates
7
81. **Workspace:** move the existing library, tests and examples into
9 `crates/onestore`, preserve the root corpus and example executable paths,
10 and pass Rust, Python and fuzz build checks. A sibling crate can consume
11 the library without reaching into its source directory.
122. **Public API audit:** review exported types, ownership, validation, edit
13 contracts and consumer ergonomics; verify a separate crate can read and edit
14 through public APIs; present [API-AUDIT.md](API-AUDIT.md) before continuing.
153. **Storage interruption:** verify durable images after every write/flush
16 boundary, including dropped unflushed writes, partial persistence, counter
17 rollover and revision checkpoints. Reopen the persisted image, continue
18 editing it, retain reproducible failures, and independently validate a
19 representative image matrix with OneNote.
204. **Abrupt VM stops:** stop disposable Windows clients and the Samba server
21 without guest shutdown during normal concurrent editing. Preserve disks,
22 restart the same machines, compare acknowledged operations and reachable
23 conflicts, and cold-open the recovered server notebook in fresh OneNote.
24 Track native cache acceptance separately from server durability.
255. **Diagnostic editor:** extend the HTML reading report with supported text
26 edits on a task-owned notebook copy. Edits use the Rust library, reject stale
27 snapshots, preserve unrelated content and expose ambiguous commit outcomes
28 without automatic replay. Verify browser interaction, two-reader stale-edit
29 handling, Unicode and native round trips. This is a diagnostic interface;
30 canvas rendering and product UI remain separate work.
316. **Closure:** rerun affected checks, review the implementation for unnecessary
32 state and abstractions, verify source hashes, retain evidence and replay
33 commands, delete owned VMs, and provide the running diagnostic tool.
34
35Abrupt VM stops discard guest memory while the host remains powered. Simulated
36storage loss exercises the library's ordered-flush contract; neither establishes
37the physical drive's behavior during actual host power loss.
38
39## Evidence
40
41Evidence belongs under `evidence/m8/`. Original notebooks are never edited.
42
43### Workspace and API review checkpoint
44
45The workspace gate passed: 56 Rust integration tests (one intentional local
46fuzz-seed generator ignored), 36 Python tests, all example builds, all eight fuzz
47target builds, Clippy, formatting, rustdoc and its compiled example. The external
48API consumer also passes. Logs are listed in [API-AUDIT.md](API-AUDIT.md).
49
50The user accepted the public API audit and authorized continuation. The checkpoint
51changed source locations and documented existing contracts, preserving signatures
52and runtime behavior. No VMs were started for that checkpoint.
53
54### Storage interruption campaign
55
56`power-loss-02` passed 2,508 persisted-image checks and subsequent edits across
57native Unicode text, 255→256 and 65535→65536 counter rollover, an attachment page,
58and a pending 512-revision checkpoint. Each write/flush boundary is exercised with
59six persistence policies, including complete loss of unflushed writes and partial,
60reordered persistence. Comparisons cover every resolved current object, including
61raw properties and payloads. Acknowledged publication must select the complete
62new state; earlier cuts may select only the complete old or new state.
63
64`power-loss-03` repeats the same checks with exact source and failure-image
65retention added to the harness. `edit-text-fuzz-01.log` records 4,327 stateful
66inputs over 302 seconds without failure. The 22 retained boundary images from
67`power-loss-02` are undergoing fresh OneNote captures in `power-native-01`.
68
69Replay:
70
71```sh
72cargo run --release -p onestore --example power_loss -- /new/matrix-directory
73python3 tools/power_loss_native.py /new/matrix-directory /new/native-directory
74cargo +nightly fuzz run edit_text -- -max_total_time=300 -timeout=60 -max_len=128
75```
76
77The TOC extension (`power-toc-01`) passes another 918 persisted images and
78subsequent color edits, including counter rollover and a pending checkpoint.
79`power-loss-04` passes the combined 3,426-image matrix with exact source/failure
80retention after the harness refactor. The native gate uses the 22 retained images
81from `power-loss-02` and 13 from `power-toc-01`; captures verify those exact source
82hashes. All 22 section captures in `power-native-01` passed. The TOC captures in
83`power-toc-native-01` also compare OneNote's notebook color to the persisted value
84and are still running at this checkpoint.
PROGRESS.md created+227
...@@ -0,0 +1,227 @@
1# OneNote interoperability
2
3Target: an embeddable Rust library that reads and writes revision stores,
4preserves unedited content, and collaborates with OneNote 2010 over SMB.
5
6| Stage | Acceptance evidence | State |
7| --- | --- | --- |
8| 1. Corpus | Native single-operation fixtures, private corpus integrity, independent cold reopen, semantic assertions, reproducible provenance | Passed current corpus gate |
9| 2. Storage | Committed revision/object resolution, opaque preservation, malformed-input tests and fuzzing against native fixtures | Passed current corpus gate |
10| 3. Writer | Create and edit through the native open/edit/save/read loop without collateral changes | Passed current corpus gate |
11| 4. Durability | Injected write/flush failures, interrupted commits, acknowledged persistence, native recovery | Passed implemented scalar-commit gate |
12| 5. Collaboration | Observed locks and I/O, deliberate contention, competing edits and reconnect convergence | Passed tested scalar collaboration gate |
13
14The personal source is `/Volumes/clover/Documents/OneNote`. It is read only.
15`corpus/private/original` holds the copied baseline; `source-manifest.json` records
16SHA-256 hashes and source modification times. Native automation must operate on
17disposable copies, with the personal Windows registry and cache parked first.
18
19Wayback already contained `C:\one-tests\profile-original.reg` and
20`C:\one-tests\profile-original-cache` at task start. Native tests used an isolated
21profile with UnfiledNotesSection at `C:\one-tests\Loose.one`. After the stage-5
22captures, Restore returned the original registry and cache to their active paths;
23Status confirmed restoration, with test backups parked and OneNote closed.
24The primary native run is `corpus/native/20260905-05`, generated by OneNote
2514.0.7015.1000. Its nine snapshots were independently opened from fresh caches
26under `cold-05-*`. Text, styles, outline position, table cells, image bytes, and
27attachment bytes pass `python3 tools/verify-corpus.py`. Transactions in the
28synthetic section grow from 4 to 28 across the captured operations.
29
30`corpus/native-ink` records two native mouse-drawn strokes and their cold-open
31binary XML payloads. `evidence/stage1/native-ink.png` shows the page.
32`corpus/native-delete` records a page before deletion and its cold-open recovery
33from the notebook recycle bin. The AHK ink recipe requires the displayed
341280x720 maximized OneNote layout; semantic XML verifies that strokes survived.
35
36The private corpus has 26 pages including two recycle-bin pages. A fresh read
37can return partial page content while loading; the reader now checks the final
38hierarchy against all captured page IDs. `corpus/private/exact-native` passed an
39independent cold read with 26 expected pages. It includes images, ink, tags,
40lists, OCR, and media. All ten original source hashes and modification times
41were rechecked unchanged after native testing. COM IDs change across cache
42resets and must not serve as the file-identity oracle.
43
44`corpus/native-encrypted` records native password protection and a fresh-cache
45unlock with password `fictitious-only`. The cold XML and attachment bytes pass
46the corpus verifier. OneNote's UI introduced one leading empty paragraph;
47that paragraph is retained in the fixture oracle. `read.ps1 -UseCurrentCache`
48captures the manually unlocked test session; the caller closes its UI afterward.
49
50The corpus is a starting interoperability gate, not a complete feature matrix.
51Shared-file conflicts now have native evidence in the stage-5 corpus; ordinary
52user-visible page version history is outside this corpus gate.
53
54The Rust reader follows committed transactions, resolves revision dependencies,
55global IDs, roles, contexts, roots, reference-count overrides, and file payloads.
56Checks cover object and object-space cycles, missing targets, immutable data,
57MD5 hashes, override CRCs, and reference counts. All revisions in the ten private
58files pass the current unencrypted checks. The encrypted fixture retains opaque
59ciphertext and explicitly refuses property traversal.
60
61Native compatibility findings:
62- Transaction CRCs accumulate across prior sentinel entries and fragment links
63 are excluded. Native transaction fragments can leave four bytes after the link.
64- Reference counts include repeated references from the same source object.
65- Table-of-contents override CRCs include preceding object declaration counts,
66 although that format does not use object groups.
67- Encryption-key containers can have zero padding after the footer when their
68 compressed chunk references round the size to eight bytes.
69
70Coverage-guided runs recorded under `evidence/stage2` completed 5,529,107 storage
71inputs, 6,537,029 property inputs, and 2,998,472 revision inputs without crashes.
72These are bounded initial runs, not durability or interoperability proofs.
73An independent 100,000-level property nesting test checks parse and drop safety.
74The extended revision run completed 20,718,981 inputs in 601 seconds with a
75262,144-byte input limit and no crashes. `tools/verify-reader.py` independently
76matches 26 private pages and 581 nonempty text objects by page, three hyperlink
77targets, 18 image payloads byte for byte, and three native GIF-to-PNG conversions
78pixel for pixel. It requires Pillow. Whitespace-only paragraphs and boilerplate
79date/time text remain in the raw graph but are outside this text comparison.
80One page-like object space has undocumented metadata JCID 0x0002003E; it remains
81in the raw graph and is excluded from the ordinary-page inventory.
82
83Specs in `resources/md` are the implementation references. File-format conformance,
84actual OneNote acceptance, and SMB durability are separate checks.
85
86The first stage-3 encoding of `replace_property_bytes` appended new chunks,
87replaced the affected list path with fresh list identities, copied committed
88transaction entries, and published new header references. Every original byte
89outside the header remained unchanged. The stage-4 append protocol below
90superseded that encoding; the stage-3 fixtures retain its native acceptance.
91
92`corpus/writer` records the first native cycle: Rust replaces the plain-text
93fixture with `Portable plain text...`; OneNote reads that text from a fresh cache;
94OneNote changes it back to `Fictitious plain text.` and saves; Rust reads and edits
95that file again; a second fresh native read returns `Portable plain text...`.
96The native test uses equal-length text. Storage tests also replace the scalar
97with lengths 0 through 40 and re-resolve every prior revision unchanged.
98
99Stage 3 now includes template-free `create_section` and `create_table_of_contents`.
100The first creates one page with one plain-text paragraph and an explicit author;
101the second records ordered section filenames and their file identities. Native
102fresh-cache reads verify Unicode including a surrogate pair, both newly created
103notebook files, native editing/saving of the created section, and a subsequent
104longer Rust text replacement. `replace_property_bytes` also edits `.onetoc2`
105scalars; OneNote independently confirms the requested notebook color.
106`tools/verify-writer.py` verifies the captured native semantics and artifact hashes.
107
108The writer preserves unknown data and every prior revision. Native XML comparison
109of the ink fixture retains formatting, positions, tables, image data, two ink
110strokes, and attachment bytes; the changed outline height is allowed to reflow.
111Creation initially exposed two malformed sequences: an object group needs its
112following dependency-override node, and a root-space selector must follow that
113space's declaration. The reader now rejects both. An isolated byte-order probe
114changed a rejected empty section into a native-readable one. Failed creation
115experiments live under evidence rather than the accepted writer corpus.
116
117The native capture script now filters exact `.one` extensions: Windows wildcard
118matching had also matched `.onetoc2` and created an extra empty section. Old
119captures retain that provenance; newer reads verify one section and one page.
120Writer fuzzing completed 2,386,509 scalar inputs and 2,900,483 template-free
121section inputs without crashes. A subsequent combined section/TOC run covers
122variable section counts and reference graphs (statistics in evidence/stage3).
123The corpus gates describe these tested operations, not every MS-ONE feature.
124
125Stage 4 begins with a concrete failure: directly copying the standalone writer's
126header over a live file leaves 82 of 1025 prefix-tear states invalid on the small
127native text fixture. `examples/header_faults.rs` reproduces this. Standalone
128serialization must not be mistaken for an in-place commit protocol.
129
130The stage-4 writer now extends the existing revision-manifest list and transaction
131log instead of replacing their header pointers. Original committed nodes, property
132blobs, and prior revisions remain unchanged; unused fragment tails and log capacity
133are populated. Restoring the previous header resolves the previous graph. This
134encoding now passes independent native reads; the earlier stage-3 evidence used
135the standalone encoding.
136
137`commit_property_bytes` accepts a storage implementation through `CommitIo`.
138Its caller must supply OneNote-compatible exclusion and durable ordered flushes.
139A locked snapshot comparison precedes writes. Data and metadata flush before a
140one-byte publication write. At counter-byte rollover the log includes empty
141transactions up to the largest intermediate count; a flush of the highest changed
142counter byte precedes cleanup of lower bytes. An interrupted cleanup still resolves
143the new revision. Failures distinguish NotCommitted, Unknown, and Committed.
144The in-memory crash model exercises short reads/writes, every I/O failure point,
145and arbitrary subsets of unflushed byte changes for ordinary commits and 255→256.
146It passes, including log-fragment rollover; this is not yet a native crash test.
147Updated append scalar fuzzing completed 465,817 inputs in 181 seconds, no crashes.
148The combined section/TOC creation fuzz run completed 350,293 inputs in 181 seconds.
149
150The Windows laptop became reachable again with no Procmon or OneNote process;
151the user confirmed its battery had run out. The personal profile and cache
152remained isolated. Procmon 4.1 produced no trace, and
153the native agent is not elevated. Shared testing continued without that driver.
154`corpus/append/round-01` records independent cold native reads of plain and complex
155appended edits, TOC color, counter 255→256 and 65535→65536, their interrupted
156cleanup states, and all eight combinations of the tested numeric metadata tears.
157OneNote reads the expected old/new text, preserves the complex fixture's full XML
158and attachment bytes, and can edit/save after an interrupted counter cleanup.
159The manifest records artifact hashes; `tools/verify-writer.py` checks the captures.
160
161The crash model now includes read failures and has a shared implementation used by
162`fuzz/fuzz_targets/commit.rs`. Stateful fuzzing completed 21,506 inputs in 302
163seconds with no crash, retrying from partially persisted files at ordinary and
164255→256 commits. Full Rust tests, clippy, original corpus integrity, the private
165reader oracle, and native writer comparisons pass.
166
167`commit_file_property` acquires a whole-file filesystem lock and serializes calls
168inside the process because macOS SMB flock is reentrant within a process. POSIX
169byte-range locking returned ENOTSUP on this mount. Flock produced a server-visible
170exclusive 0+UINT64_MAX lock, blocked a Windows read, and rejected a second Mac
171process's lock. Rust sync_all uses F_FULLFSYNC on macOS; when that extension is
172unsupported, the adapter uses standard fsync. Apple's SMB source routes it through
173the ordinary SMB flush path. A real committed edit through the mount passed a
174subsequent independent cold OneNote read. This depends on the filesystem/server
175honoring flush and exclusion; it does not claim physical server power-loss testing.
176Native shared activity exposed read locks at 0xFFFFFFFB and write locks at
1770xFFFFFFFD in `evidence/stage4/shared-native-locks-02.log`.
178
179Stage 5 acceptance is captured in `corpus/collaboration/round-01`, with artifact
180hashes and `tools/verify-collaboration.py`. Each final notebook was independently
181reopened from a fresh native cache on OneNote 2010 14.0.7015.1000.
182
183| Scenario | Observed result |
184| --- | --- |
185| Whole-file lock contention | The native edit/sync calls completed while the file remained byte-identical under the lock; the saved edit appeared after release and survived cold reopen |
186| Different paragraphs | The main page contained both Rust's Unicode edit and the native outline edit |
187| Same paragraph | Rust text remained on the main page; native competing text survived in a conflict object space |
188| Native offline edit | With A: disconnected, the server retained the old text; another SMB session committed Rust text; native reconnect preserved both versions |
189| Lost preparation FLUSH reply | `NotCommitted`; native cold read retained the old paragraph |
190| Lost publication FLUSH reply | `Unknown`; native cold read recovered the new paragraph |
191| Lost counter-cleanup FLUSH reply | `Committed`; native cold read recovered the new paragraph after 255→511→256 publication |
192
193The dedicated loopback SMB session recorded server-visible whole-file locks,
194actual write ranges/counter values, and successful FLUSH replies withheld before
195client delivery. The trace verifies a successful flush of counter 511 before
196cleanup to 256. macOS revoked the disconnected file handles; the adapter returned
197errors rather than treating reconnection as acknowledgement. The proxy was stopped
198and its temporary mount directory removed after capture. A: was restored to its
199existing `\\zenith.miku-sun.ts.net\agent` mapping; the unrelated Z: mapping and
200personal macOS mounts were left in place.
201
202OneNote's COM hierarchy omits conflict pages. The reader resolves their metadata
203JCID 0x20038 and retained text; the offline fixture additionally includes a native
204UI screenshot showing the conflicting edit. The full-page COM update harness
205produced a redundant conflict copy even for different paragraphs. Its first merge
206also changed one table column from 39.14614105224609 to 38.61000061035156 points
207and one ink z-order from 7 to 6. The verifier binds those exact changes and checks
208retained image/ink payloads, table contents/styles, attachment bytes, quick styles,
209and outline positions; it does not claim pixel-identical native layout.
210
211An unlocked snapshot caught during native saving referenced an object space that
212had not yet been written. It is retained as `corpus/malformed/native-inflight.one`.
213`read_file` now shares the commit exclusion, and writer preflight validates the
214whole current graph. A regression verifies that even a no-op request against this
215intermediate graph fails before any storage I/O. Diagnostic inventory and edit
216selection also validate the graph before traversing it.
217
218Final coverage-guided revision fuzzing, seeded with native collaboration and
219transport-recovery files, completed 1,453,528 inputs in 122 seconds without a crash
220(608 MB peak RSS). The final stateful commit run completed 4,992 inputs in 91
221seconds without a crash (483 MB peak RSS), following the earlier 21,506-input run.
222All Rust targets, clippy, the corpus/private reader oracles, writer comparisons,
223and collaboration verification pass. The ten personal source files still match
224their original hashes, sizes, and modification times. This completes the bounded
225stage-5 scalar collaboration gate on the tested Windows/macOS/Samba combination;
226physical power-loss durability and other client/server implementations are not
227established by these protocol-failure captures.
README.md created+208
...@@ -0,0 +1,208 @@
1# onestore
2
3An experimental native Rust library for OneNote revision stores (`.one` and
4`.onetoc2`). It reads committed object graphs, creates a small notebook without
5a template, appends scalar-property and text edits with a recoverable commit protocol,
6and interprets MS-ONE document structure, formatting, media, and historical pages.
7The storage gates are recorded in [PROGRESS.md](PROGRESS.md); document-model
8verification is recorded in [M6-ACCEPTANCE.md](M6-ACCEPTANCE.md). Concurrent-editing
9verification is recorded in [MILESTONE7.md](MILESTONE7.md).
10
11Text edits publish ancestor modification timestamps with the changed content.
12Omitting those timestamps caused acknowledged edits to disappear during native
13conflict merging. The repaired eight-client replay retains all four competing
14results after reconnection, application closure and fresh-cache native inspection;
15see `mixed-conflict-06` in the milestone evidence. Use disposable copies for
16notebook editing.
17
18## Workspace
19
20`crates/onestore` contains the library, examples and integration tests. New Rust
21prototypes belong in sibling directories under `crates/` and depend on
22`onestore = { path = "../onestore" }`. The root manifest discovers these crates.
23The consumer boundary and API tradeoffs are recorded in [API-AUDIT.md](API-AUDIT.md).
24Shared native fixtures, specifications, evidence and Python/VM tools stay at the
25repository root; `fuzz/` remains an independent cargo-fuzz workspace.
26
27Run Cargo commands from the root. Select `-p onestore` when working only on the
28library, or `--workspace` for checks across all crates. Example binary paths
29remain `target/debug/examples/…` for the native verification tools.
30
31## Supported surface
32
33| API | Contract |
34| --- | --- |
35| `Store`, `RevisionIndex`, `ResolvedRevision` | Parse storage, resolve revisions and reference graphs, expose roots and objects |
36| `PropertySets`, `Object::references` | Decode properties and ID streams while retaining raw values |
37| `Object::file_reference`, `Store::file_data` | Identify internal/external payloads and read internal payload bytes |
38| `document::Document`, `Revision::text_runs` | Interpret document objects and inherited text formatting while retaining unknown properties and revision identities |
39| `create_section` | Create one page containing one plain-text paragraph and an author, including Unicode |
40| `create_table_of_contents` | Create ordered section entries from filenames and file identities |
41| `replace_property_bytes` | Append one scalar-property revision; preserve prior revisions and unrelated property values and references |
42| `replace_text`, `commit_text`, `commit_file_text` | Replace a UTF-16 range within one ordinary text run; publish text, run boundaries and modification time together |
43| `read_file` | Read a snapshot under whole-file exclusion |
44| `commit_file_property` | Lock, compare the source snapshot, append and flush, then publish the revision |
45| `CommitIo`, `commit_property_bytes` | Supply another storage backend with equivalent exclusion and ordered durability |
46
47Scalar edits accept encoded values and require the caller to maintain MS-ONE
48semantics. Text edits maintain run boundaries, inherit the insertion run's formatting,
49and promote legacy text to Unicode when needed. Explicit and body-derived
50navigation titles update in the same transaction; unsupported fields,
51protected objects and split surrogate pairs are
52rejected before writing. Appended snapshots cap revision dependency depth at 512
53while retaining historical revisions. TOC snapshots can remap encoded CompactIDs
54without changing their resolved references. Password-protected
55sections retain their encrypted structure and payloads; the library does not
56derive password keys or decrypt their pages.
57External `.onebin` references identify payloads for the caller to obtain. Cloud
58FSSHTTP synchronization and a C ABI are outside the implemented surface.
59
60## Try it
61
62Requires Rust 1.97 or later for the verified build. Examples create new destinations
63and refuse to overwrite them. The Python report requires Pillow.
64
65```sh
66cargo run --example create_notebook -- /tmp/one-demo 'Hello from Rust.' 'Example Author'
67cargo run --example inventory -- /tmp/one-demo/synthetic.one
68cargo run --example inspect -- /tmp/one-demo/synthetic.one
69cargo run --example document -- /tmp/one-demo/synthetic.one /tmp/one-model
70python3 tools/notebook_report.py /tmp/one-demo /tmp/one-report --timezone America/Los_Angeles
71```
72
73A seeded text edit on a disposable copy records its page, UTF-16 range,
74replacement and outcome as JSON:
75
76```sh
77cargo run --example random_edit -- /tmp/one-demo/synthetic.one /tmp/edited.one 42
78```
79
80The report contains readable pages, document JSON, assets, source identities and
81coordinates. It preserves paragraph nesting, lists, tables, links and tags.
82Historical contexts, recycle-bin pages and default templates are represented
83separately. Native ink and structured equations retain their source data and
84appear explicitly as opaque content. The report is a reading view; its native
85PDF references supply the original canvas layout.
86
87Read and validate a snapshot before interpreting its graph:
88
89```rust,no_run
90use onestore::{read_file, RevisionIndex, Store};
91
92fn main() -> Result<(), Box<dyn std::error::Error>> {
93 let bytes = read_file("notebook/synthetic.one")?;
94 let store = Store::parse(&bytes)?;
95 if !store.checksum_mismatches.is_empty() {
96 return Err("Transaction checksum damage".into());
97 }
98 let index = RevisionIndex::parse(&store)?;
99 index.validate_current()?;
100 Ok(())
101}
102```
103
104`Store::parse` exposes checksum mismatches for diagnostic readers; the writer
105rejects them. The resolved graph borrows the snapshot. Select the object-space ID,
106object ID, and property from that graph, then pass those IDs, the same snapshot,
107and the replacement's encoded bytes to `commit_file_property`. The
108`edit_property` example demonstrates selection by JCID/property/expected bytes,
109with optional explicit IDs when conflict copies contain identical text.
110
111## Commit behavior
112
113```text
114exclusive lock → exact snapshot comparison
115 → append data → flush
116 → prepare header metadata → flush
117 → publish transaction counter → flush
118 → finish counter rollover → flush → unlock
119```
120
121Stale snapshots fail before writing. Live readers must use equivalent exclusion.
122Native conflict creation can still expose cross-space references before their
123targets are saved; such snapshots must be rejected and reread while synchronization
124proceeds. `read_file` and `commit_file_property` serialize within the process because
125macOS SMB locks can be reentrant. The lock is nonblocking across processes;
126contention requires a fresh read and a later retry.
127
128| Error state | Meaning and caller action |
129| --- | --- |
130| `NotCommitted` | This edit was not published. Preparation bytes may exist. Reread before retrying. |
131| `Unknown` | Publication may have persisted despite the error. Reread and resolve the intended edit before retrying. |
132| `Committed` | Publication was durably acknowledged; counter cleanup or lock release failed. Reopen the committed result instead of replaying the edit. |
133
134At counter rollover, empty transactions make intermediate published counts valid.
135The highest changed byte is flushed before lower bytes are cleaned up. The
136255→256 and 65535→65536 boundaries and interrupted cleanup states have independent
137native acceptance captures. A no-op still flushes; a failed flush has an unknown
138durability outcome.
139
140The filesystem adapter uses whole-file locking. On macOS it acquires the lock
141as part of opening the file (`O_EXLOCK | O_NONBLOCK`): separate open and `flock`
142calls allowed overlapping exclusive holders and stranded server locks under
143multi-process SMB contention. `tools/smb_lock_race.py` reproduces that failure
144without notebook parsing or writing. On the tested macOS SMB mount,
145POSIX byte-range locks returned `ENOTSUP`; whole-file locks excluded native
146OneNote's lock ranges. `sync_all` falls back to `fsync` on macOS only when
147`F_FULLFSYNC` is unsupported. Successful SMB FLUSH replies were observed on the
148wire. Correctness requires the backend to honor exclusion and ordered flushes.
149The evidence covers transport failures, not physical server power loss or every
150filesystem's lock implementation.
151
152## Verification
153
154```sh
155cargo test --all-targets
156cargo clippy --all-targets -- -D warnings
157python3 tools/verify-corpus.py
158python3 tools/verify-reader.py # requires Pillow and the local private corpus
159python3 tools/verify-writer.py
160python3 tools/verify-collaboration.py
161python3 tools/verify-document.py /path/to/copied/notebook /path/to/native/read
162```
163
164The frozen private corpus is excluded from version control. Its verifier checks 26 pages,
165581 text objects, hyperlink targets, exact image bytes, and native image conversions.
166Synthetic corpus manifests bind binary fixtures to independent native XML and
167attachment captures. `verify-corpus.py` also requires that private corpus.
168
169Storage tests exercise malformed references, deep properties, historical revision
170preservation, short I/O, stale snapshots, counter tears, and every injected I/O
171failure point at ordinary and rollover commits. The crash model persists arbitrary
172subsets of unflushed bytes and is shared with the stateful commit fuzzer.
173
174```sh
175cargo +nightly fuzz run revisions -- -max_total_time=120 -max_len=262144 -rss_limit_mb=2048
176cargo +nightly fuzz run commit -- -max_total_time=300 -max_len=4096 -rss_limit_mb=2048
177```
178
179Fuzz targets cover storage, properties, revisions, scalar edits, creation, and
180multi-edit interrupted commits. Seed the revision target with native `.one` files
181using symlinks under `fuzz/corpus/revisions`; empty seed directories mostly exercise
182header rejection. Bounded run counts and native findings live in `PROGRESS.md`.
183
184The document fuzzer mutates native property streams, repairs their checksums, and
185traverses every retained revision and resolved text run. Its public seeds live in
186the source target; private seeds are supplied only at runtime. Native edit-history
187tests compare independently generated operations, OneNote XML and the Rust model;
188failed histories can be replayed and shrunk in fresh disposable clones. The
189document feature matrix is in [FEATURES.md](FEATURES.md), and the milestone's
190acceptance contract is in [MILESTONE6.md](MILESTONE6.md).
191
192The stage-5 gate uses OneNote 2010 build 14.0.7015.1000 on Windows 7, a macOS SMB
193mount, and Samba on zenith. [The collaboration corpus](corpus/collaboration/round-01)
194captures native lock contention, different-paragraph merging, same-paragraph
195conflicts, offline editing/reconnection, and lost successful FLUSH replies at
196preparation, publication, and counter cleanup. Each final notebook was reopened
197from a fresh native cache. Competing text survives as native conflict pages;
198OneNote's COM hierarchy omits those pages, so the offline case also includes a
199native UI capture. Full-page COM updates produced an extra conflict copy during
200the disjoint case and two recorded geometry changes; the verifier checks those
201exact changes as well as retained image, ink, table, and attachment content.
202
203`tools/native/profile.ps1` parks/restores the personal native profile and cache;
204`cold.ps1`, `read.ps1`, and `collaborate.ps1` operate on disposable test roots.
205`tools/zenith-locks` observes server locks. `tools/smb-proxy.py` traces and interrupts
206a dedicated loopback test session; its control JSON selects the successful response
207and occurrence to withhold. The captured trace and result files are the regression
208oracle; replaying the native experiments requires the supplied Windows/share setup.
corpus/append/round-01/complex/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/append/round-01/complex/notebook/Open Notebook.onetoc2 differ
corpus/append/round-01/complex/notebook/synthetic.one created
Binary files /dev/null and b/corpus/append/round-01/complex/notebook/synthetic.one differ
corpus/append/round-01/manifest.json created+415
...@@ -0,0 +1,415 @@
1{
2 "provenance": "Rust append encoding; native OneNote 2010 14.0.7015.1000, independently cold caches. tx-65535 uses independently generated cumulative-CRC empty transactions. tx-511, tx-131071, tx-130816 are durable counter cleanup interruption states; metadata-0..7 enumerate old/new changed numeric header bytes with mixed GUID bytes. shared-rust-after was committed through macOS SMB flock and fsync.",
3 "files": [
4 {
5 "path": "complex/notebook/Open Notebook.onetoc2",
6 "bytes": 4816,
7 "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa"
8 },
9 {
10 "path": "complex/notebook/synthetic.one",
11 "bytes": 28296,
12 "sha256": "3990a286cb7e2b4f94e295a915f3d254645b8231d087c2566f4673dcb19cb5a2"
13 },
14 {
15 "path": "metadata-0/notebook/Open Notebook.onetoc2",
16 "bytes": 4816,
17 "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa"
18 },
19 {
20 "path": "metadata-0/notebook/synthetic.one",
21 "bytes": 114080,
22 "sha256": "bca790bb1c4ba245987e74946e208e3e4434235b12468171cfd75d7c46e92ff1"
23 },
24 {
25 "path": "metadata-1/notebook/Open Notebook.onetoc2",
26 "bytes": 4816,
27 "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa"
28 },
29 {
30 "path": "metadata-1/notebook/synthetic.one",
31 "bytes": 114080,
32 "sha256": "175bb2b208d429c9d30d09360cc837830b027ecf8f1421ada14006e8cb4f62bc"
33 },
34 {
35 "path": "metadata-2/notebook/Open Notebook.onetoc2",
36 "bytes": 4816,
37 "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa"
38 },
39 {
40 "path": "metadata-2/notebook/synthetic.one",
41 "bytes": 114080,
42 "sha256": "d84bd1a6151f9366d085a92de9ca38528582e3f35bf87d6703461392f38e0a46"
43 },
44 {
45 "path": "metadata-3/notebook/Open Notebook.onetoc2",
46 "bytes": 4816,
47 "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa"
48 },
49 {
50 "path": "metadata-3/notebook/synthetic.one",
51 "bytes": 114080,
52 "sha256": "daf502c1bd12230395eeefdadbc70f1060086088d0b3e6c3de83ad792590e2a2"
53 },
54 {
55 "path": "metadata-4/notebook/Open Notebook.onetoc2",
56 "bytes": 4816,
57 "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa"
58 },
59 {
60 "path": "metadata-4/notebook/synthetic.one",
61 "bytes": 114080,
62 "sha256": "b413ca9927a4c3cc5b865384cdb3e3860f4c93bab7e362dc16d3c3d448294f09"
63 },
64 {
65 "path": "metadata-5/notebook/Open Notebook.onetoc2",
66 "bytes": 4816,
67 "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa"
68 },
69 {
70 "path": "metadata-5/notebook/synthetic.one",
71 "bytes": 114080,
72 "sha256": "30632c658b5d0efb3c20f37d8eedef3d4d9f93d8dc5a7bfe6150324c7c0c4f6b"
73 },
74 {
75 "path": "metadata-6/notebook/Open Notebook.onetoc2",
76 "bytes": 4816,
77 "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa"
78 },
79 {
80 "path": "metadata-6/notebook/synthetic.one",
81 "bytes": 114080,
82 "sha256": "06a4991c3c009871ced86eb445fb698b448a05f6d8c6288ca09adfbe022f8f03"
83 },
84 {
85 "path": "metadata-7/notebook/Open Notebook.onetoc2",
86 "bytes": 4816,
87 "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa"
88 },
89 {
90 "path": "metadata-7/notebook/synthetic.one",
91 "bytes": 114080,
92 "sha256": "40e70f53134c94e95289e22c877060c1cff33e184753b600834c3519e0bdbcef"
93 },
94 {
95 "path": "native/append-01-complex/read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment",
96 "bytes": 43,
97 "sha256": "af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7"
98 },
99 {
100 "path": "native/append-01-complex/read/hierarchy.xml",
101 "bytes": 747,
102 "sha256": "62c88e89c3a71bb5a1225070bf73353fa27b064232c8cf94d2c0786a529e3d2a"
103 },
104 {
105 "path": "native/append-01-complex/read/page-000.xml",
106 "bytes": 7402,
107 "sha256": "2aebcefeef2441ff237fdd46330fa7be92f0c74cff67fc3def7152247df876ae"
108 },
109 {
110 "path": "native/append-01-metadata-0/read/hierarchy.xml",
111 "bytes": 738,
112 "sha256": "eeed5291ed6e908169f6880d46bb3e500781cd1c65aa1efdd7eef98f5e9bada3"
113 },
114 {
115 "path": "native/append-01-metadata-0/read/page-000.xml",
116 "bytes": 1202,
117 "sha256": "ccc3da7267deb0c9095898dab1f7e6e6d46194a8ffe924fb58b97d4400d8c045"
118 },
119 {
120 "path": "native/append-01-metadata-1/read/hierarchy.xml",
121 "bytes": 738,
122 "sha256": "4e964ca1ae4f920c56a23d14e8d4e818399d15b54a825b5eb646f047774ef918"
123 },
124 {
125 "path": "native/append-01-metadata-1/read/page-000.xml",
126 "bytes": 1202,
127 "sha256": "b8417bf1f532bde8b537cb8a7847f019b0272b05e92fef47a72e391287110d2b"
128 },
129 {
130 "path": "native/append-01-metadata-2/read/hierarchy.xml",
131 "bytes": 738,
132 "sha256": "6057ffef5a578927eca6406d8abf46f70b1184dace9cb25bb1a2ce4ad40a8183"
133 },
134 {
135 "path": "native/append-01-metadata-2/read/page-000.xml",
136 "bytes": 1202,
137 "sha256": "b150316fd63eb98e8c8b2444e14d0aa892a6668589d47a7dd3eda848ab9827d7"
138 },
139 {
140 "path": "native/append-01-metadata-3/read/hierarchy.xml",
141 "bytes": 738,
142 "sha256": "d8cdfe9fd6f82dc16d460c58115a4eb7d28f2e0a25f445ec0fa18a5f4ba2918f"
143 },
144 {
145 "path": "native/append-01-metadata-3/read/page-000.xml",
146 "bytes": 1202,
147 "sha256": "a4c9b4be4f0ea2991895c569ef1d31090b3444766c39f87dee334c28f2b21e38"
148 },
149 {
150 "path": "native/append-01-metadata-4/read/hierarchy.xml",
151 "bytes": 738,
152 "sha256": "02069bd647e10d6fadfdde753d9f83c7e395fe761a1cc6451d3898b3cd9a843f"
153 },
154 {
155 "path": "native/append-01-metadata-4/read/page-000.xml",
156 "bytes": 1202,
157 "sha256": "3d60a915876474bf5b336840f3843035d9742654d4a7ddaf9cbff5238afeac77"
158 },
159 {
160 "path": "native/append-01-metadata-5/read/hierarchy.xml",
161 "bytes": 738,
162 "sha256": "9c3eda81d9b9724eef1c58190544bea05e2b1e17f8506303760e51bbef1d5a3d"
163 },
164 {
165 "path": "native/append-01-metadata-5/read/page-000.xml",
166 "bytes": 1202,
167 "sha256": "de123c6cc23aef198900b51acbf4ebc5ecf3aad91c600a1a7a9c17dbabb37a85"
168 },
169 {
170 "path": "native/append-01-metadata-6/read/hierarchy.xml",
171 "bytes": 738,
172 "sha256": "e33da4f0fe2be615dd67d92a81b2bee4bda66a8d9281c7266eeb44ff5d6dd294"
173 },
174 {
175 "path": "native/append-01-metadata-6/read/page-000.xml",
176 "bytes": 1202,
177 "sha256": "da4c3b236b0480cf370bd3cdae0758ba73a4ceaa142702f95c58f0e63a5db449"
178 },
179 {
180 "path": "native/append-01-metadata-7/read/hierarchy.xml",
181 "bytes": 738,
182 "sha256": "7cfd8d3b52839813e29fb186c96d63bfdd3bc5e4233042e9b4046fb63da3f5b2"
183 },
184 {
185 "path": "native/append-01-metadata-7/read/page-000.xml",
186 "bytes": 1202,
187 "sha256": "63ee2f1019c19966b4987780bf50705f49eb02572f0b01ae2b536792b6151516"
188 },
189 {
190 "path": "native/append-01-prepared-old/read/hierarchy.xml",
191 "bytes": 742,
192 "sha256": "17a91bb968574445d4a6669c6349f2c665ae70e85a725e19f60f1fb17dc2d534"
193 },
194 {
195 "path": "native/append-01-prepared-old/read/page-000.xml",
196 "bytes": 1202,
197 "sha256": "f5d15cd05e7248f4b72b8044c792193f831b8278a0ac62316f06c7dfcd078862"
198 },
199 {
200 "path": "native/append-01-shared-result/read/hierarchy.xml",
201 "bytes": 741,
202 "sha256": "ebae2f490304ca18c0a567eac82bb8d5b8f634978c6f218b6ee42182deeeebee"
203 },
204 {
205 "path": "native/append-01-shared-result/read/page-000.xml",
206 "bytes": 1245,
207 "sha256": "44e8a0be5f8826f770d35f1c0bf7fe13083ea1c337235da96d20cbc18a628d9e"
208 },
209 {
210 "path": "native/append-01-toc/read/hierarchy.xml",
211 "bytes": 724,
212 "sha256": "e9b208e602b66dac470cebb47cfabeff638e57ebf6f1b0c9cbc8da01671140cd"
213 },
214 {
215 "path": "native/append-01-toc/read/page-000.xml",
216 "bytes": 1209,
217 "sha256": "a38fb74b77388ca883a2473e3c7ae11006b2e1be53ec6776b53a1c50ddd23815"
218 },
219 {
220 "path": "native/append-01-tx-130816/read/hierarchy.xml",
221 "bytes": 736,
222 "sha256": "66e57c0265c3ea61d6b7e906f960e9ea7bc085c8d3d48c71bcd3ad387e2e441d"
223 },
224 {
225 "path": "native/append-01-tx-130816/read/page-000.xml",
226 "bytes": 1219,
227 "sha256": "05f01f494097b73a942536d09b6ed2b3e5c867f41fca5839c543d3579fe11097"
228 },
229 {
230 "path": "native/append-01-tx-131071/read/hierarchy.xml",
231 "bytes": 736,
232 "sha256": "4cbab0226ae4f5324afe9532936f7104af1412783397c60fa8c060dfd527873a"
233 },
234 {
235 "path": "native/append-01-tx-131071/read/page-000.xml",
236 "bytes": 1219,
237 "sha256": "751d83958e6eedf8532cf68da32c9257277b2b278c1374fa97ef6c8d66fc5946"
238 },
239 {
240 "path": "native/append-01-tx-17/read/hierarchy.xml",
241 "bytes": 728,
242 "sha256": "8b11acb9971beb4300a50dcd3515a85a5857610ee6a1172feeb05af8dc5bad47"
243 },
244 {
245 "path": "native/append-01-tx-17/read/page-000.xml",
246 "bytes": 1201,
247 "sha256": "48272b3869ce89f3c9380025f9e9b5a59dd87fbe425e8b265e900095f7c86863"
248 },
249 {
250 "path": "native/append-01-tx-255/read/hierarchy.xml",
251 "bytes": 730,
252 "sha256": "ce8a9ff8d234180ba85a97cf9e948404ca99812b1ab867c0a612abebf9e008bf"
253 },
254 {
255 "path": "native/append-01-tx-255/read/page-000.xml",
256 "bytes": 1202,
257 "sha256": "643edfa2fa699a5167cc67cba4c6fda19000f18cd92c83a7194a075377b4ca36"
258 },
259 {
260 "path": "native/append-01-tx-256/read/hierarchy.xml",
261 "bytes": 730,
262 "sha256": "4676661c992cb6dac83e8af638f36eba9dcbea10e74a4b1455b5001a192aab70"
263 },
264 {
265 "path": "native/append-01-tx-256/read/page-000.xml",
266 "bytes": 1202,
267 "sha256": "dbcd161997db31953e9ebe8ef54dce4c978d672e126eaccb19b693ed078dd6a1"
268 },
269 {
270 "path": "native/append-01-tx-511/read/hierarchy.xml",
271 "bytes": 730,
272 "sha256": "81bbba3b9b33e85e0b3680a7b60d8ce4b67062ba8a55adb0b3040f0e1439c048"
273 },
274 {
275 "path": "native/append-01-tx-511/read/page-000.xml",
276 "bytes": 1202,
277 "sha256": "4f1e5fbc8eee10bae325bda0153f957f441b992c47b1820976ab7452079b2091"
278 },
279 {
280 "path": "native/append-01-tx-65535/read/hierarchy.xml",
281 "bytes": 734,
282 "sha256": "ef03baeb1aeebc307cc0aafd38a4bac8999ad5f21eae6858f883e8da9f2c1732"
283 },
284 {
285 "path": "native/append-01-tx-65535/read/page-000.xml",
286 "bytes": 1209,
287 "sha256": "3cabdf2c22f76583046a0d7ad8889d363381ccb66d740b34bc2c68cb85fb9fb5"
288 },
289 {
290 "path": "native/append-01-tx-65536/read/hierarchy.xml",
291 "bytes": 734,
292 "sha256": "0d5f678afb1744415ff6590b59a38114b262436014dcce6399a7be0ecfdb89ea"
293 },
294 {
295 "path": "native/append-01-tx-65536/read/page-000.xml",
296 "bytes": 1219,
297 "sha256": "cf0a27b4b60a017a8a3ffff096d6bab48413c8e70f19eb5a596b277f05539e59"
298 },
299 {
300 "path": "native-after-511.one",
301 "bytes": 123432,
302 "sha256": "3bcdc91527414ad8bb285057deb90655f38722d8f430062a7970fb54b273bc75"
303 },
304 {
305 "path": "prepared-old/notebook/Open Notebook.onetoc2",
306 "bytes": 4816,
307 "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa"
308 },
309 {
310 "path": "prepared-old/notebook/synthetic.one",
311 "bytes": 114080,
312 "sha256": "35ba5beccee3c74e683f8c18cd693916bf20c2648762d5295468ad363d8430c7"
313 },
314 {
315 "path": "shared-native-before.one",
316 "bytes": 10188,
317 "sha256": "afb2d75f474fcb098c22177f58271a148af5cef1b27794eb98d0d4ef188420f9"
318 },
319 {
320 "path": "shared-rust-after.one",
321 "bytes": 10608,
322 "sha256": "06dea7721a4ad44c09589f9b32f270e3fcd3d3e0f87b653368a78c56dd247f02"
323 },
324 {
325 "path": "toc/notebook/Open Notebook.onetoc2",
326 "bytes": 5032,
327 "sha256": "222ad33bf9471e6e0748ccad3cb1573e351cd12df7a44a1217f5ebd368457c3c"
328 },
329 {
330 "path": "toc/notebook/synthetic.one",
331 "bytes": 11808,
332 "sha256": "2237e5fdfeb8d71410b585159bdfb6724599f40dfcda2795794d8e1e47a20058"
333 },
334 {
335 "path": "tx-130816/notebook/Open Notebook.onetoc2",
336 "bytes": 4816,
337 "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa"
338 },
339 {
340 "path": "tx-130816/notebook/synthetic.one",
341 "bytes": 1078200,
342 "sha256": "cd3c471b1e0d339b85413ddf4b9615133d3c46aa2284b3d50fa9c8f97a12b382"
343 },
344 {
345 "path": "tx-131071/notebook/Open Notebook.onetoc2",
346 "bytes": 4816,
347 "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa"
348 },
349 {
350 "path": "tx-131071/notebook/synthetic.one",
351 "bytes": 1078200,
352 "sha256": "7f9a13ec489750dc3792bc3b3e8f349a21dfa836165964b1649863e9726c6655"
353 },
354 {
355 "path": "tx-17/notebook/Open Notebook.onetoc2",
356 "bytes": 4816,
357 "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa"
358 },
359 {
360 "path": "tx-17/notebook/synthetic.one",
361 "bytes": 12200,
362 "sha256": "ed7d6f2721a95e207a67f2a5e16a1bf1ceed52321faf8b716029d703deb99570"
363 },
364 {
365 "path": "tx-255/notebook/Open Notebook.onetoc2",
366 "bytes": 4816,
367 "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa"
368 },
369 {
370 "path": "tx-255/notebook/synthetic.one",
371 "bytes": 111640,
372 "sha256": "1448079e91f656513d5f0cb36a35480aab8f9184a3ce33d64c6199285ca3a521"
373 },
374 {
375 "path": "tx-256/notebook/Open Notebook.onetoc2",
376 "bytes": 4816,
377 "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa"
378 },
379 {
380 "path": "tx-256/notebook/synthetic.one",
381 "bytes": 114080,
382 "sha256": "66770e32eeddc265b21cdb093ab4d15073de45f53cb790c2ee1bc8a42e6d60ef"
383 },
384 {
385 "path": "tx-511/notebook/Open Notebook.onetoc2",
386 "bytes": 4816,
387 "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa"
388 },
389 {
390 "path": "tx-511/notebook/synthetic.one",
391 "bytes": 114080,
392 "sha256": "2ced768e1a8e0ba2a0660df7c0191ca10837e86ac983790c433f6141ddb7b3fa"
393 },
394 {
395 "path": "tx-65535/notebook/Open Notebook.onetoc2",
396 "bytes": 4816,
397 "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa"
398 },
399 {
400 "path": "tx-65535/notebook/synthetic.one",
401 "bytes": 545312,
402 "sha256": "cc8821d487195f7cac1822d3ef127867db7a2435ddddc54b7c5d183532248861"
403 },
404 {
405 "path": "tx-65536/notebook/Open Notebook.onetoc2",
406 "bytes": 4816,
407 "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa"
408 },
409 {
410 "path": "tx-65536/notebook/synthetic.one",
411 "bytes": 1078200,
412 "sha256": "7bc58f1acda7fcb2a86dfe36912a91874c3e4095192688be97104aa3e6d77f2f"
413 }
414 ]
415}
corpus/append/round-01/metadata-0/notebook/Open Notebook.onetoc2 created+1
...@@ -0,0 +1 @@
1../../complex/notebook/Open Notebook.onetoc2
\ No newline at end of file
corpus/append/round-01/metadata-0/notebook/synthetic.one created
Binary files /dev/null and b/corpus/append/round-01/metadata-0/notebook/synthetic.one differ
corpus/append/round-01/metadata-1/notebook/Open Notebook.onetoc2 created+1
...@@ -0,0 +1 @@
1../../complex/notebook/Open Notebook.onetoc2
\ No newline at end of file
corpus/append/round-01/metadata-1/notebook/synthetic.one created
Binary files /dev/null and b/corpus/append/round-01/metadata-1/notebook/synthetic.one differ
corpus/append/round-01/metadata-2/notebook/Open Notebook.onetoc2 created+1
...@@ -0,0 +1 @@
1../../complex/notebook/Open Notebook.onetoc2
\ No newline at end of file
corpus/append/round-01/metadata-2/notebook/synthetic.one created
Binary files /dev/null and b/corpus/append/round-01/metadata-2/notebook/synthetic.one differ
corpus/append/round-01/metadata-3/notebook/Open Notebook.onetoc2 created+1
...@@ -0,0 +1 @@
1../../complex/notebook/Open Notebook.onetoc2
\ No newline at end of file
corpus/append/round-01/metadata-3/notebook/synthetic.one created
Binary files /dev/null and b/corpus/append/round-01/metadata-3/notebook/synthetic.one differ
corpus/append/round-01/metadata-4/notebook/Open Notebook.onetoc2 created+1
...@@ -0,0 +1 @@
1../../complex/notebook/Open Notebook.onetoc2
\ No newline at end of file
corpus/append/round-01/metadata-4/notebook/synthetic.one created
Binary files /dev/null and b/corpus/append/round-01/metadata-4/notebook/synthetic.one differ
corpus/append/round-01/metadata-5/notebook/Open Notebook.onetoc2 created+1
...@@ -0,0 +1 @@
1../../complex/notebook/Open Notebook.onetoc2
\ No newline at end of file
corpus/append/round-01/metadata-5/notebook/synthetic.one created
Binary files /dev/null and b/corpus/append/round-01/metadata-5/notebook/synthetic.one differ
corpus/append/round-01/metadata-6/notebook/Open Notebook.onetoc2 created+1
...@@ -0,0 +1 @@
1../../complex/notebook/Open Notebook.onetoc2
\ No newline at end of file
corpus/append/round-01/metadata-6/notebook/synthetic.one created
Binary files /dev/null and b/corpus/append/round-01/metadata-6/notebook/synthetic.one differ
corpus/append/round-01/metadata-7/notebook/Open Notebook.onetoc2 created+1
...@@ -0,0 +1 @@
1../../complex/notebook/Open Notebook.onetoc2
\ No newline at end of file
corpus/append/round-01/metadata-7/notebook/synthetic.one created
Binary files /dev/null and b/corpus/append/round-01/metadata-7/notebook/synthetic.one differ
corpus/append/round-01/native-after-511.one created
Binary files /dev/null and b/corpus/append/round-01/native-after-511.one differ
corpus/append/round-01/native/append-01-complex/read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment created+1
...@@ -0,0 +1 @@
1Fictitious attachment for native corpus.
\ No newline at end of file
corpus/append/round-01/native/append-01-complex/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{E76B715B-2305-4D80-AC9F-D127D70B1655}{1}{B0}" path="C:\one-tests\runs\append-01-complex\notebook" lastModifiedTime="2026-09-05T07:51:42.000Z" color="#9595AA"><one:Section name="synthetic" ID="{B065864F-382B-0EBB-2713-082655F385C2}{1}{B0}" path="C:\one-tests\runs\append-01-complex\notebook\synthetic.one" lastModifiedTime="2026-09-05T07:51:42.000Z" color="#8AA8E4"><one:Page ID="{9C2C75C9-B1E0-4DAA-A074-A0B7A9CB99DD}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/append/round-01/native/append-01-complex/read/page-000.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{9C2C75C9-B1E0-4DAA-A074-A0B7A9CB99DD}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{FBE0DD75-FA95-4E1C-AF86-2C6C56577CBC}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="26.58905601501465"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{FBE0DD75-FA95-4E1C-AF86-2C6C56577CBC}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Compatible: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{D90DF1E7-A27D-40AF-B21E-8EE496D71168}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{D90DF1E7-A27D-40AF-B21E-8EE496D71168}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{AD500160-49C0-4441-B530-AEE4F25B98F5}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{AD500160-49C0-4441-B530-AEE4F25B98F5}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{907969EF-AF5A-4DEF-8340-05101E36D07B}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{907969EF-AF5A-4DEF-8340-05101E36D07B}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{1563718F-6922-4E29-A6ED-62EE2AE71F48}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{1563718F-6922-4E29-A6ED-62EE2AE71F48}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\chloe caruso\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{3BBC08DF-08B2-45A9-B9E5-80BB02B4E40E}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{3BBC08DF-08B2-45A9-B9E5-80BB02B4E40E}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{3BBC08DF-08B2-45A9-B9E5-80BB02B4E40E}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{3BBC08DF-08B2-45A9-B9E5-80BB02B4E40E}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{3BBC08DF-08B2-45A9-B9E5-80BB02B4E40E}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{3BBC08DF-08B2-45A9-B9E5-80BB02B4E40E}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{3BBC08DF-08B2-45A9-B9E5-80BB02B4E40E}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{3BBC08DF-08B2-45A9-B9E5-80BB02B4E40E}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/append/round-01/native/append-01-metadata-0/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{3AB6BCB8-F1A9-41C5-9535-AF75E4433181}{1}{B0}" path="C:\one-tests\runs\append-01-metadata-0\notebook" lastModifiedTime="2026-09-05T08:02:51.000Z" color="#9595AA"><one:Section name="synthetic" ID="{C59CF8C2-CEEC-07F7-0388-20DF4796708B}{1}{B0}" path="C:\one-tests\runs\append-01-metadata-0\notebook\synthetic.one" lastModifiedTime="2026-09-05T08:02:51.000Z" color="#8AA8E4"><one:Page ID="{E9D50B44-4727-44E6-84EF-884EBBAE6C94}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:02:51.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/append/round-01/native/append-01-metadata-0/read/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E9D50B44-4727-44E6-84EF-884EBBAE6C94}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:02:51.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{8E19A3F8-0C52-4750-8B1D-0495443289F5}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="111.2177886962891" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{8E19A3F8-0C52-4750-8B1D-0495443289F5}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Transaction 255]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/append/round-01/native/append-01-metadata-1/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{14255E9E-8EF6-4CC4-9943-989FBA23E181}{1}{B0}" path="C:\one-tests\runs\append-01-metadata-1\notebook" lastModifiedTime="2026-09-05T08:02:53.000Z" color="#9595AA"><one:Section name="synthetic" ID="{F6EF3A3F-BC8E-0DA8-118B-15F80F6AB880}{1}{B0}" path="C:\one-tests\runs\append-01-metadata-1\notebook\synthetic.one" lastModifiedTime="2026-09-05T08:02:53.000Z" color="#8AA8E4"><one:Page ID="{DAA6C9B9-3545-4EB9-96EC-BD69F352A49F}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:02:53.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/append/round-01/native/append-01-metadata-1/read/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{DAA6C9B9-3545-4EB9-96EC-BD69F352A49F}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:02:53.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{BD6A6105-7E30-4D0F-991E-31B20CCE41FE}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="111.2177886962891" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{BD6A6105-7E30-4D0F-991E-31B20CCE41FE}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Transaction 255]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/append/round-01/native/append-01-metadata-2/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{4374AB57-5D96-4D15-B86F-9CDA2E2AD321}{1}{B0}" path="C:\one-tests\runs\append-01-metadata-2\notebook" lastModifiedTime="2026-09-05T08:02:56.000Z" color="#9595AA"><one:Section name="synthetic" ID="{313673B6-A8AF-0C93-1FBB-1188FFF8D1D4}{1}{B0}" path="C:\one-tests\runs\append-01-metadata-2\notebook\synthetic.one" lastModifiedTime="2026-09-05T08:02:56.000Z" color="#8AA8E4"><one:Page ID="{1D7F8030-2164-4F82-98DC-B91903C0CDCB}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:02:56.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/append/round-01/native/append-01-metadata-2/read/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{1D7F8030-2164-4F82-98DC-B91903C0CDCB}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:02:56.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{7AB3288C-6A11-4C34-972E-35C2FC5C28AA}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="111.2177886962891" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{7AB3288C-6A11-4C34-972E-35C2FC5C28AA}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Transaction 255]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/append/round-01/native/append-01-metadata-3/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{3ECD975D-2AAE-483E-A912-116C62065CAC}{1}{B0}" path="C:\one-tests\runs\append-01-metadata-3\notebook" lastModifiedTime="2026-09-05T08:02:58.000Z" color="#9595AA"><one:Section name="synthetic" ID="{94940BF6-8410-0862-1E8E-63EA808FAC94}{1}{B0}" path="C:\one-tests\runs\append-01-metadata-3\notebook\synthetic.one" lastModifiedTime="2026-09-05T08:02:58.000Z" color="#8AA8E4"><one:Page ID="{B8DDF870-0DDB-4B73-99E9-CB7B7CB7B08B}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:02:58.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/append/round-01/native/append-01-metadata-3/read/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B8DDF870-0DDB-4B73-99E9-CB7B7CB7B08B}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:02:58.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{DF1150CC-46AE-48C5-961B-47A0832B55EA}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="111.2177886962891" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{DF1150CC-46AE-48C5-961B-47A0832B55EA}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Transaction 255]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/append/round-01/native/append-01-metadata-4/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{E1C6F095-7594-470E-8E59-BA6239406A54}{1}{B0}" path="C:\one-tests\runs\append-01-metadata-4\notebook" lastModifiedTime="2026-09-05T08:03:01.000Z" color="#9595AA"><one:Section name="synthetic" ID="{90098287-9DBB-0ADF-0342-BDC5A5313ED9}{1}{B0}" path="C:\one-tests\runs\append-01-metadata-4\notebook\synthetic.one" lastModifiedTime="2026-09-05T08:03:01.000Z" color="#8AA8E4"><one:Page ID="{BC407101-1470-49CE-8425-1554590922C6}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:03:01.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/append/round-01/native/append-01-metadata-4/read/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{BC407101-1470-49CE-8425-1554590922C6}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:03:01.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{DB8CD9BD-5F05-4A78-8BD7-998FA695C7A7}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="111.2177886962891" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{DB8CD9BD-5F05-4A78-8BD7-998FA695C7A7}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Transaction 255]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/append/round-01/native/append-01-metadata-5/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{B2B9A6F6-0441-4EA0-9CE4-1C47A957D5F8}{1}{B0}" path="C:\one-tests\runs\append-01-metadata-5\notebook" lastModifiedTime="2026-09-05T08:03:03.000Z" color="#9595AA"><one:Section name="synthetic" ID="{FE0EA620-DF0F-04E0-09AC-977C9413377D}{1}{B0}" path="C:\one-tests\runs\append-01-metadata-5\notebook\synthetic.one" lastModifiedTime="2026-09-05T08:03:03.000Z" color="#8AA8E4"><one:Page ID="{D24755A6-56C4-47F1-8ECB-3FED682B2B62}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:03:03.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/append/round-01/native/append-01-metadata-5/read/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{D24755A6-56C4-47F1-8ECB-3FED682B2B62}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:03:03.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{B58BFD1A-1DB1-4447-8139-B33697B7CE03}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="111.2177886962891" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{B58BFD1A-1DB1-4447-8139-B33697B7CE03}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Transaction 255]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/append/round-01/native/append-01-metadata-6/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{137A1D8E-FF8C-4584-8319-139CBCD3343A}{1}{B0}" path="C:\one-tests\runs\append-01-metadata-6\notebook" lastModifiedTime="2026-09-05T08:03:05.000Z" color="#9595AA"><one:Section name="synthetic" ID="{5BC77D29-1236-0B2E-3F82-404C74A416C0}{1}{B0}" path="C:\one-tests\runs\append-01-metadata-6\notebook\synthetic.one" lastModifiedTime="2026-09-05T08:03:05.000Z" color="#8AA8E4"><one:Page ID="{778E8EAF-9BFD-483F-B8E5-E8DD889C0ADF}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:03:05.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/append/round-01/native/append-01-metadata-6/read/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{778E8EAF-9BFD-483F-B8E5-E8DD889C0ADF}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:03:05.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{10422613-D088-4B89-B717-64067700EFBE}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="111.2177886962891" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{10422613-D088-4B89-B717-64067700EFBE}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Transaction 255]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/append/round-01/native/append-01-metadata-7/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{C4082E23-843A-403F-8C17-1BD6526ECF65}{1}{B0}" path="C:\one-tests\runs\append-01-metadata-7\notebook" lastModifiedTime="2026-09-05T08:03:08.000Z" color="#9595AA"><one:Section name="synthetic" ID="{465A6838-A8FA-0E00-35C8-C441C8A5000C}{1}{B0}" path="C:\one-tests\runs\append-01-metadata-7\notebook\synthetic.one" lastModifiedTime="2026-09-05T08:03:08.000Z" color="#8AA8E4"><one:Page ID="{6A139BBE-2131-4D11-B2AF-6CD0349D1C13}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:03:08.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/append/round-01/native/append-01-metadata-7/read/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{6A139BBE-2131-4D11-B2AF-6CD0349D1C13}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:03:08.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{0DDF3302-6A44-4EA7-BD5D-E00BCB01F972}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="111.2177886962891" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{0DDF3302-6A44-4EA7-BD5D-E00BCB01F972}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Transaction 255]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/append/round-01/native/append-01-prepared-old/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{282B0FAF-619A-4537-8D34-64C31EAF3358}{1}{B0}" path="C:\one-tests\runs\append-01-prepared-old\notebook" lastModifiedTime="2026-09-05T07:50:51.000Z" color="#9595AA"><one:Section name="synthetic" ID="{0211D584-B6C7-070C-3B17-7A80D4BA09C5}{1}{B0}" path="C:\one-tests\runs\append-01-prepared-old\notebook\synthetic.one" lastModifiedTime="2026-09-05T07:50:51.000Z" color="#8AA8E4"><one:Page ID="{2E582602-3F0C-441D-BC70-D211288215DA}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T07:50:51.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/append/round-01/native/append-01-prepared-old/read/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{2E582602-3F0C-441D-BC70-D211288215DA}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T07:50:51.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{49948EBE-7479-47AB-B382-5ECAD71EF0BB}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="111.2177886962891" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{49948EBE-7479-47AB-B382-5ECAD71EF0BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Transaction 255]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/append/round-01/native/append-01-shared-result/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{373F231A-4BB2-4946-8E51-385FCCCDC755}{1}{B0}" path="C:\one-tests\runs\append-01-shared-result\notebook" lastModifiedTime="2026-09-05T08:03:29.000Z" color="#AB9CB7"><one:Section name="synthetic" ID="{1DC7297F-64C9-0AA4-2A05-39BAF248A606}{1}{B0}" path="C:\one-tests\runs\append-01-shared-result\notebook\synthetic.one" lastModifiedTime="2026-09-05T08:03:29.000Z" color="#8AA8E4"><one:Page ID="{7249344D-66D4-0954-0E58-19F00CC6EF8F}{1}{B0}" name="Native shared edit." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T08:03:29.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/append/round-01/native/append-01-shared-result/read/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{7249344D-66D4-0954-0E58-19F00CC6EF8F}{1}{B0}" name="Native shared edit." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T08:03:29.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="Fixture Author" lastModifiedBy="Fixture Author" lastModifiedTime="2026-09-05T07:56:09.000Z" objectID="{1DC7297F-64C9-0AA4-2A05-39BAF248A606}{23}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="191.1661224365234" height="26.85543441772461"/><one:Indents><one:Indent level="0" indent="0.0"/></one:Indents><one:OEChildren><one:OE creationTime="2026-09-05T07:56:09.000Z" lastModifiedTime="2026-09-05T07:56:09.000Z" objectID="{1DC7297F-64C9-0AA4-2A05-39BAF248A606}{24}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Rust committed through the SMB mount.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/append/round-01/native/append-01-toc/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{85F1E6EF-E586-4E30-A5E3-E8E262087F14}{1}{B0}" path="C:\one-tests\runs\append-01-toc\notebook" lastModifiedTime="2026-09-05T07:51:44.000Z" color="#336699"><one:Section name="synthetic" ID="{F1C26AD6-E201-0CE7-1621-A86369528E7F}{1}{B0}" path="C:\one-tests\runs\append-01-toc\notebook\synthetic.one" lastModifiedTime="2026-09-05T07:51:44.000Z" color="#8AA8E4"><one:Page ID="{DD8B9950-6BCA-4FF6-9146-00F2956A9260}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T07:51:44.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/append/round-01/native/append-01-toc/read/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{DD8B9950-6BCA-4FF6-9146-00F2956A9260}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T07:51:44.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{BA4731EC-20BF-4C40-9EB4-8C296AF67701}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{BA4731EC-20BF-4C40-9EB4-8C296AF67701}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious plain text.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/append/round-01/native/append-01-tx-130816/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{FB475126-038D-4C01-B7AF-987C7FD54982}{1}{B0}" path="C:\one-tests\runs\append-01-tx-130816\notebook" lastModifiedTime="2026-09-05T08:05:39.000Z" color="#9595AA"><one:Section name="synthetic" ID="{9C3C28E3-43D6-0AE2-3D7B-DE55938CC743}{1}{B0}" path="C:\one-tests\runs\append-01-tx-130816\notebook\synthetic.one" lastModifiedTime="2026-09-05T08:05:39.000Z" color="#8AA8E4"><one:Page ID="{B075DB65-CA1D-49F3-BA1C-76C46FB4DB5C}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:05:39.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/append/round-01/native/append-01-tx-130816/read/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B075DB65-CA1D-49F3-BA1C-76C46FB4DB5C}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:05:39.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{D7B973D9-8168-4A45-B5EE-FA1F90283E3D}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="189.4747161865234" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{D7B973D9-8168-4A45-B5EE-FA1F90283E3D}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Crossed the second counter byte.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/append/round-01/native/append-01-tx-131071/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{5834363B-1560-4E9B-8BF6-D0CF75BAE5A1}{1}{B0}" path="C:\one-tests\runs\append-01-tx-131071\notebook" lastModifiedTime="2026-09-05T08:05:36.000Z" color="#9595AA"><one:Section name="synthetic" ID="{E769A2E6-2AE3-0B02-3344-63CF0D79B07D}{1}{B0}" path="C:\one-tests\runs\append-01-tx-131071\notebook\synthetic.one" lastModifiedTime="2026-09-05T08:05:36.000Z" color="#8AA8E4"><one:Page ID="{CB205160-A328-4813-B423-CB5EF141AC62}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:05:36.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/append/round-01/native/append-01-tx-131071/read/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{CB205160-A328-4813-B423-CB5EF141AC62}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:05:36.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{ACECF9DC-E85D-4BA5-BBD1-47850EDD4903}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="189.4747161865234" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{ACECF9DC-E85D-4BA5-BBD1-47850EDD4903}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Crossed the second counter byte.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/append/round-01/native/append-01-tx-17/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{955E37FA-F272-4BB0-AA5F-6F5B0A30EF74}{1}{B0}" path="C:\one-tests\runs\append-01-tx-17\notebook" lastModifiedTime="2026-09-05T07:50:34.000Z" color="#9595AA"><one:Section name="synthetic" ID="{07A244D5-BB9B-0196-363B-77C0DFCAEC85}{1}{B0}" path="C:\one-tests\runs\append-01-tx-17\notebook\synthetic.one" lastModifiedTime="2026-09-05T07:50:34.000Z" color="#8AA8E4"><one:Page ID="{2BEBB753-3250-4287-B15C-DF5123F2F09A}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T07:50:34.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/append/round-01/native/append-01-tx-17/read/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{2BEBB753-3250-4287-B15C-DF5123F2F09A}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T07:50:34.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{4C271FEF-7925-4131-BEAE-538ADC6E15FB}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="105.6425933837891" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{4C271FEF-7925-4131-BEAE-538ADC6E15FB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Transaction 17]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/append/round-01/native/append-01-tx-255/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{BA6FAECB-26E5-4931-95D4-9271A543D226}{1}{B0}" path="C:\one-tests\runs\append-01-tx-255\notebook" lastModifiedTime="2026-09-05T07:50:44.000Z" color="#9595AA"><one:Section name="synthetic" ID="{9EBFA2F0-2AB3-05DE-2945-1BC0C5FBD906}{1}{B0}" path="C:\one-tests\runs\append-01-tx-255\notebook\synthetic.one" lastModifiedTime="2026-09-05T07:50:44.000Z" color="#8AA8E4"><one:Page ID="{B2F65176-A378-46CF-AE22-B35139C3C519}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T07:50:44.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/append/round-01/native/append-01-tx-255/read/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B2F65176-A378-46CF-AE22-B35139C3C519}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T07:50:44.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{D53AF9CA-E80D-4579-A1D0-3F8AC65F2078}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="111.2177886962891" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{D53AF9CA-E80D-4579-A1D0-3F8AC65F2078}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Transaction 255]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/append/round-01/native/append-01-tx-256/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{579B79F8-C44C-47C6-8D52-6525264926A6}{1}{B0}" path="C:\one-tests\runs\append-01-tx-256\notebook" lastModifiedTime="2026-09-05T07:50:46.000Z" color="#9595AA"><one:Section name="synthetic" ID="{D995E3A3-E3B1-0530-24A5-8DD1D1FEBED2}{1}{B0}" path="C:\one-tests\runs\append-01-tx-256\notebook\synthetic.one" lastModifiedTime="2026-09-05T07:50:46.000Z" color="#8AA8E4"><one:Page ID="{F5DC1025-6A7A-4621-A3C2-25402DC6A2CD}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T07:50:46.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/append/round-01/native/append-01-tx-256/read/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{F5DC1025-6A7A-4621-A3C2-25402DC6A2CD}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T07:50:46.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{9210B899-210F-4597-AC30-A99BD25A47AC}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="111.2177886962891" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{9210B899-210F-4597-AC30-A99BD25A47AC}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Transaction 256]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/append/round-01/native/append-01-tx-511/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{8789DE91-7A15-4E5E-92BC-018055BA3ADD}{1}{B0}" path="C:\one-tests\runs\append-01-tx-511\notebook" lastModifiedTime="2026-09-05T07:50:49.000Z" color="#9595AA"><one:Section name="synthetic" ID="{8F7FF8E2-0AEE-0832-09AB-313786565862}{1}{B0}" path="C:\one-tests\runs\append-01-tx-511\notebook\synthetic.one" lastModifiedTime="2026-09-05T07:50:49.000Z" color="#8AA8E4"><one:Page ID="{A3360B64-8325-4B23-8ECC-99A67A6E447D}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T07:50:49.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/append/round-01/native/append-01-tx-511/read/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{A3360B64-8325-4B23-8ECC-99A67A6E447D}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T07:50:49.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{C4FAA3D8-C850-4895-813E-157D85F2A11C}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="111.2177886962891" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{C4FAA3D8-C850-4895-813E-157D85F2A11C}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Transaction 256]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/append/round-01/native/append-01-tx-65535/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{215096A4-9C90-4505-AEE3-64CFEDCAEFBA}{1}{B0}" path="C:\one-tests\runs\append-01-tx-65535\notebook" lastModifiedTime="2026-09-05T08:05:31.000Z" color="#9595AA"><one:Section name="synthetic" ID="{BCE82EE0-590D-0E7E-18F2-2286549FEB07}{1}{B0}" path="C:\one-tests\runs\append-01-tx-65535\notebook\synthetic.one" lastModifiedTime="2026-09-05T08:05:31.000Z" color="#8AA8E4"><one:Page ID="{90A1DD66-D0C6-4D6F-9F95-8A17A8A7F718}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:05:31.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/append/round-01/native/append-01-tx-65535/read/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{90A1DD66-D0C6-4D6F-9F95-8A17A8A7F718}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:05:31.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{F76D75DA-9BB3-4ED9-9067-06CC573B1279}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{F76D75DA-9BB3-4ED9-9067-06CC573B1279}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious plain text.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/append/round-01/native/append-01-tx-65536/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{06A26144-28AD-4A7F-B061-C61B88D72B64}{1}{B0}" path="C:\one-tests\runs\append-01-tx-65536\notebook" lastModifiedTime="2026-09-05T08:05:33.000Z" color="#9595AA"><one:Section name="synthetic" ID="{B0488AD5-BC29-091A-1420-89651BFA797D}{1}{B0}" path="C:\one-tests\runs\append-01-tx-65536\notebook\synthetic.one" lastModifiedTime="2026-09-05T08:05:33.000Z" color="#8AA8E4"><one:Page ID="{9C017953-35E2-4A0B-9347-21F4E7C26562}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:05:33.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/append/round-01/native/append-01-tx-65536/read/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{9C017953-35E2-4A0B-9347-21F4E7C26562}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:05:33.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{FBCDD1EF-7E97-49BD-9CB5-AD2F185E8003}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="189.4747161865234" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{FBCDD1EF-7E97-49BD-9CB5-AD2F185E8003}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Crossed the second counter byte.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/append/round-01/prepared-old/notebook/Open Notebook.onetoc2 created+1
...@@ -0,0 +1 @@
1../../complex/notebook/Open Notebook.onetoc2
\ No newline at end of file
corpus/append/round-01/prepared-old/notebook/synthetic.one created
Binary files /dev/null and b/corpus/append/round-01/prepared-old/notebook/synthetic.one differ
corpus/append/round-01/shared-native-before.one created
Binary files /dev/null and b/corpus/append/round-01/shared-native-before.one differ
corpus/append/round-01/shared-rust-after.one created
Binary files /dev/null and b/corpus/append/round-01/shared-rust-after.one differ
corpus/append/round-01/toc/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/append/round-01/toc/notebook/Open Notebook.onetoc2 differ
corpus/append/round-01/toc/notebook/synthetic.one created
Binary files /dev/null and b/corpus/append/round-01/toc/notebook/synthetic.one differ
corpus/append/round-01/tx-130816/notebook/Open Notebook.onetoc2 created+1
...@@ -0,0 +1 @@
1../../complex/notebook/Open Notebook.onetoc2
\ No newline at end of file
corpus/append/round-01/tx-130816/notebook/synthetic.one created
Binary files /dev/null and b/corpus/append/round-01/tx-130816/notebook/synthetic.one differ
corpus/append/round-01/tx-131071/notebook/Open Notebook.onetoc2 created+1
...@@ -0,0 +1 @@
1../../complex/notebook/Open Notebook.onetoc2
\ No newline at end of file
corpus/append/round-01/tx-131071/notebook/synthetic.one created
Binary files /dev/null and b/corpus/append/round-01/tx-131071/notebook/synthetic.one differ
corpus/append/round-01/tx-17/notebook/Open Notebook.onetoc2 created+1
...@@ -0,0 +1 @@
1../../complex/notebook/Open Notebook.onetoc2
\ No newline at end of file
corpus/append/round-01/tx-17/notebook/synthetic.one created
Binary files /dev/null and b/corpus/append/round-01/tx-17/notebook/synthetic.one differ
corpus/append/round-01/tx-255/notebook/Open Notebook.onetoc2 created+1
...@@ -0,0 +1 @@
1../../complex/notebook/Open Notebook.onetoc2
\ No newline at end of file
corpus/append/round-01/tx-255/notebook/synthetic.one created
Binary files /dev/null and b/corpus/append/round-01/tx-255/notebook/synthetic.one differ
corpus/append/round-01/tx-256/notebook/Open Notebook.onetoc2 created+1
...@@ -0,0 +1 @@
1../../complex/notebook/Open Notebook.onetoc2
\ No newline at end of file
corpus/append/round-01/tx-256/notebook/synthetic.one created
Binary files /dev/null and b/corpus/append/round-01/tx-256/notebook/synthetic.one differ
corpus/append/round-01/tx-511/notebook/Open Notebook.onetoc2 created+1
...@@ -0,0 +1 @@
1../../complex/notebook/Open Notebook.onetoc2
\ No newline at end of file
corpus/append/round-01/tx-511/notebook/synthetic.one created
Binary files /dev/null and b/corpus/append/round-01/tx-511/notebook/synthetic.one differ
corpus/append/round-01/tx-65535/notebook/Open Notebook.onetoc2 created+1
...@@ -0,0 +1 @@
1../../complex/notebook/Open Notebook.onetoc2
\ No newline at end of file
corpus/append/round-01/tx-65535/notebook/synthetic.one created
Binary files /dev/null and b/corpus/append/round-01/tx-65535/notebook/synthetic.one differ
corpus/append/round-01/tx-65536/notebook/Open Notebook.onetoc2 created+1
...@@ -0,0 +1 @@
1../../complex/notebook/Open Notebook.onetoc2
\ No newline at end of file
corpus/append/round-01/tx-65536/notebook/synthetic.one created
Binary files /dev/null and b/corpus/append/round-01/tx-65536/notebook/synthetic.one differ
corpus/collaboration/round-01/contention/controller/closed created+1
...@@ -0,0 +1 @@
1closed
\ No newline at end of file
corpus/collaboration/round-01/contention/controller/inbox/0002.json created+1
...@@ -0,0 +1 @@
1{"action": "edit", "expected": "A notebook created in Rust.", "text": "Native edit waited for the lock."}
\ No newline at end of file
corpus/collaboration/round-01/contention/controller/outbox/2/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/collaboration/round-01/contention/controller/outbox/3/done created+1
...@@ -0,0 +1 @@
1../2/done
\ No newline at end of file
corpus/collaboration/round-01/contention/lock-result.json created+5
...@@ -0,0 +1,5 @@
1{
2 "changed_while_locked": false,
3 "before_sha256": "5104afd78109ccaec78a31717aac12c27ec3dd3b830c2fc7399037ad40f7eac1",
4 "after_sha256": "5104afd78109ccaec78a31717aac12c27ec3dd3b830c2fc7399037ad40f7eac1"
5}
\ No newline at end of file
corpus/collaboration/round-01/contention/locks.txt created+2
...@@ -0,0 +1,2 @@
1FILE PID USER CLIENT OFFSET LENGTH TYPE
2agent/synthetic.one 2721277 clo 10.0.0.222 0 -1 write
corpus/collaboration/round-01/contention/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/collaboration/round-01/contention/notebook/Open Notebook.onetoc2 differ
corpus/collaboration/round-01/contention/notebook/synthetic.one created
Binary files /dev/null and b/corpus/collaboration/round-01/contention/notebook/synthetic.one differ
corpus/collaboration/round-01/fault-01/notebook/Open Notebook.onetoc2 created+1
...@@ -0,0 +1 @@
1../../../../writer/create-notebook-01/notebook/Open Notebook.onetoc2
\ No newline at end of file
corpus/collaboration/round-01/fault-01/notebook/synthetic.one created
Binary files /dev/null and b/corpus/collaboration/round-01/fault-01/notebook/synthetic.one differ
corpus/collaboration/round-01/fault-01/result.json created+6
...@@ -0,0 +1,6 @@
1{
2 "exit": 1,
3 "state": "NotCommitted",
4 "error": "Invalid argument (os error 22)",
5 "cut": "Successful reply to first data FLUSH was withheld; recovered file retains original text."
6}
corpus/collaboration/round-01/fault-02/notebook/Open Notebook.onetoc2 created+1
...@@ -0,0 +1 @@
1../../fault-01/notebook/Open Notebook.onetoc2
\ No newline at end of file
corpus/collaboration/round-01/fault-02/notebook/synthetic.one created
Binary files /dev/null and b/corpus/collaboration/round-01/fault-02/notebook/synthetic.one differ
corpus/collaboration/round-01/fault-02/result.json created+5
...@@ -0,0 +1,5 @@
1{
2 "exit": 1,
3 "stdout": "",
4 "stderr": "Error: CommitError { state: Unknown, error: Os { code: 22, kind: InvalidInput, message: \"Invalid argument\" } }\n"
5}
\ No newline at end of file
corpus/collaboration/round-01/fault-03/notebook/Open Notebook.onetoc2 created+1
...@@ -0,0 +1 @@
1../../../../append/round-01/complex/notebook/Open Notebook.onetoc2
\ No newline at end of file
corpus/collaboration/round-01/fault-03/notebook/synthetic.one created
Binary files /dev/null and b/corpus/collaboration/round-01/fault-03/notebook/synthetic.one differ
corpus/collaboration/round-01/fault-03/result.json created+5
...@@ -0,0 +1,5 @@
1{
2 "exit": 1,
3 "stdout": "",
4 "stderr": "Error: CommitError { state: Committed, error: Os { code: 57, kind: NotConnected, message: \"Socket is not connected\" } }\n"
5}
\ No newline at end of file
corpus/collaboration/round-01/live/before-native-conflict.xml created+27
...@@ -0,0 +1,27 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{BDAB66B3-3592-4615-A173-262DBD9DE9A7}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T08:12:07.000Z" objectID="{DA67CE0F-7EE7-45A3-AE81-AAF642010CC6}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T08:12:07.000Z" objectID="{DA67CE0F-7EE7-45A3-AE81-AAF642010CC6}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Live Rust: café, 東</span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>京,</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US> </span><span
6style='font-weight:bold;font-family:Calibri;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>م</span><span style='font-weight:bold;font-family:Arial;direction:
8rtl;unicode-bidi:embed' lang=ar-SA>رحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F88AE29D-260F-4B10-B319-087E82816112}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
9URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
10IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
11mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
12QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
13BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
14NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
15BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
16wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
17ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
18GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
19RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
20QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F88AE29D-260F-4B10-B319-087E82816112}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
21v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
22CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
23KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
24mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
25qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
26AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T08:12:07.000Z" objectID="{8CD7121A-CDB2-4FFE-B437-287EE60DE88F}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T08:12:07.000Z" lastModifiedTime="2026-09-05T08:12:07.000Z" objectID="{8CD7121A-CDB2-4FFE-B437-287EE60DE88F}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native edited the other outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T08:12:07.000Z" objectID="{B1FE7A95-2B28-4650-8247-838A0A60A001}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T08:12:07.000Z" objectID="{B1FE7A95-2B28-4650-8247-838A0A60A001}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
27AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{34E462F5-ED50-4596-A7EA-E4743EB16F32}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{34E462F5-ED50-4596-A7EA-E4743EB16F32}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\chloe caruso\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T08:12:07.000Z" objectID="{1A3B1BA5-8CC0-4E16-B8E2-062116E29474}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="91.88566589355469" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T08:12:07.000Z" lastModifiedTime="2026-09-05T08:12:07.000Z" objectID="{4CB3A4FE-04D0-4EB4-8A43-D39A841530D6}{47}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T08:12:07.000Z" objectID="{4CB3A4FE-04D0-4EB4-8A43-D39A841530D6}{48}{B0}"><one:Columns><one:Column index="0" width="38.61000061035156"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{4CB3A4FE-04D0-4EB4-8A43-D39A841530D6}{49}{B0}" lastModifiedTime="2026-09-05T08:12:07.000Z"><one:Cell lastModifiedTime="2026-09-05T08:12:07.000Z" objectID="{4CB3A4FE-04D0-4EB4-8A43-D39A841530D6}{50}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T08:12:07.000Z" lastModifiedTime="2026-09-05T08:12:07.000Z" objectID="{1A3B1BA5-8CC0-4E16-B8E2-062116E29474}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T08:12:07.000Z" objectID="{4CB3A4FE-04D0-4EB4-8A43-D39A841530D6}{57}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T08:12:07.000Z" lastModifiedTime="2026-09-05T08:12:07.000Z" objectID="{1A3B1BA5-8CC0-4E16-B8E2-062116E29474}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/collaboration/round-01/live/before-native-edit.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{BDAB66B3-3592-4615-A173-262DBD9DE9A7}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{DA67CE0F-7EE7-45A3-AE81-AAF642010CC6}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{DA67CE0F-7EE7-45A3-AE81-AAF642010CC6}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F88AE29D-260F-4B10-B319-087E82816112}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F88AE29D-260F-4B10-B319-087E82816112}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{8CD7121A-CDB2-4FFE-B437-287EE60DE88F}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{8CD7121A-CDB2-4FFE-B437-287EE60DE88F}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{B1FE7A95-2B28-4650-8247-838A0A60A001}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{B1FE7A95-2B28-4650-8247-838A0A60A001}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{34E462F5-ED50-4596-A7EA-E4743EB16F32}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{34E462F5-ED50-4596-A7EA-E4743EB16F32}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\chloe caruso\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{1A3B1BA5-8CC0-4E16-B8E2-062116E29474}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{1A3B1BA5-8CC0-4E16-B8E2-062116E29474}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{1A3B1BA5-8CC0-4E16-B8E2-062116E29474}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{1A3B1BA5-8CC0-4E16-B8E2-062116E29474}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{1A3B1BA5-8CC0-4E16-B8E2-062116E29474}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{1A3B1BA5-8CC0-4E16-B8E2-062116E29474}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{1A3B1BA5-8CC0-4E16-B8E2-062116E29474}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{1A3B1BA5-8CC0-4E16-B8E2-062116E29474}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/collaboration/round-01/live/before.xml created+1
...@@ -0,0 +1 @@
1before-native-edit.xml
\ No newline at end of file
corpus/collaboration/round-01/live/merged.xml created+1
...@@ -0,0 +1 @@
1before-native-conflict.xml
\ No newline at end of file
corpus/collaboration/round-01/live/notebook/Open Notebook.onetoc2 created+1
...@@ -0,0 +1 @@
1../../fault-03/notebook/Open Notebook.onetoc2
\ No newline at end of file
corpus/collaboration/round-01/live/notebook/synthetic.one created
Binary files /dev/null and b/corpus/collaboration/round-01/live/notebook/synthetic.one differ
corpus/collaboration/round-01/manifest.json created+215
...@@ -0,0 +1,215 @@
1{
2 "provenance": "OneNote 2010 14.0.7015.1000 on Windows 7; Rust over macOS SMB to Samba zenith. Disposable synthetic notebooks. Separate native cold-cache reads after live competing edits, offline native edit/reconnect, whole-file lock contention, and lost successful SMB FLUSH replies. Native conflict UI confirms offline competing text; COM hierarchy omits conflict pages. fault-01 result transcribed from tool output; fault-02/03 capture subprocess results. Contention controller completed edit/sync while locked and closed at its deadline; queued commands 4-6 were submitted after it had closed and are excluded. All snapshots are final files, not live reads.",
3 "files": [
4 {
5 "path": "contention/controller/closed",
6 "bytes": 6,
7 "sha256": "c3eefb58d7c42440a9d4abec51d629544d635a6d936ff3c4d3fca96d611b3cf3"
8 },
9 {
10 "path": "contention/controller/inbox/0002.json",
11 "bytes": 105,
12 "sha256": "3eee25e32b408cf11a968933daf88e42b20b264bef3a8202f8a52b5f84059561"
13 },
14 {
15 "path": "contention/controller/outbox/2/done",
16 "bytes": 2,
17 "sha256": "2689367b205c16ce32ed4200942b8b8b1e262dfc70d9bc9fbc77c49699a4f1df"
18 },
19 {
20 "path": "contention/controller/outbox/3/done",
21 "bytes": 2,
22 "sha256": "2689367b205c16ce32ed4200942b8b8b1e262dfc70d9bc9fbc77c49699a4f1df"
23 },
24 {
25 "path": "contention/lock-result.json",
26 "bytes": 208,
27 "sha256": "08ac88cb982b2bdd57b44b75392f5f4dac2d5a4c20dede2c54a458df62636e1c"
28 },
29 {
30 "path": "contention/locks.txt",
31 "bytes": 139,
32 "sha256": "9ffd453cecbc7f6b7824c24a49eae96f60bdb0fff11fd9364cd88af89332fdf1"
33 },
34 {
35 "path": "contention/notebook/Open Notebook.onetoc2",
36 "bytes": 3780,
37 "sha256": "5d29939d775452394e16c4850ecf98a35ccbb4da1ffdea148f8999fb69a89eaf"
38 },
39 {
40 "path": "contention/notebook/synthetic.one",
41 "bytes": 10548,
42 "sha256": "b1b553e571ebcd39dbc35d73817d6c0b7dabadf28dd849fc2cf7fb59f4a97c83"
43 },
44 {
45 "path": "fault-01/notebook/Open Notebook.onetoc2",
46 "bytes": 1612,
47 "sha256": "fafa5dcb3cd827c7edd30c8ea2fbc957a59fb4d2a8b28b667a3c551c8261ab86"
48 },
49 {
50 "path": "fault-01/notebook/synthetic.one",
51 "bytes": 4784,
52 "sha256": "c099cc85d9e4e48a568ce1fdc89aafb15a727523cef20bf5c7bfd2bf07fe40f8"
53 },
54 {
55 "path": "fault-01/result.json",
56 "bytes": 189,
57 "sha256": "076b8f75581c9e52f9e53bb2ba33f3e4d492908fb12421a05d0b017e88a2d50d"
58 },
59 {
60 "path": "fault-02/notebook/Open Notebook.onetoc2",
61 "bytes": 1612,
62 "sha256": "fafa5dcb3cd827c7edd30c8ea2fbc957a59fb4d2a8b28b667a3c551c8261ab86"
63 },
64 {
65 "path": "fault-02/notebook/synthetic.one",
66 "bytes": 4800,
67 "sha256": "6a1b3b9816497d27648747d7be61582cac3b0405239098d759858a6d46f65199"
68 },
69 {
70 "path": "fault-02/result.json",
71 "bytes": 161,
72 "sha256": "179e92f32c2c70b9bfbc982ac15f4942ce414ca3d75c906f4ef2aa86a8e4f475"
73 },
74 {
75 "path": "fault-03/notebook/Open Notebook.onetoc2",
76 "bytes": 4816,
77 "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa"
78 },
79 {
80 "path": "fault-03/notebook/synthetic.one",
81 "bytes": 114096,
82 "sha256": "fd5927a433a4d054567e109e3694e343678c519f291da26e8e4792e782ee72ea"
83 },
84 {
85 "path": "fault-03/result.json",
86 "bytes": 170,
87 "sha256": "6aeb222bff02c90a101628ba2525e7ed1df6408890edb0cc161f424cd2b44703"
88 },
89 {
90 "path": "live/before-native-conflict.xml",
91 "bytes": 7507,
92 "sha256": "a79f4aed3a44587e609d2c53fc63a544dda46cec2ae23385eeb8772c0b7fc76c"
93 },
94 {
95 "path": "live/before-native-edit.xml",
96 "bytes": 7402,
97 "sha256": "0a07362ebfed561f8e694a34537fdd8afc0ff52ba92c1afca4c69ec68b3abe13"
98 },
99 {
100 "path": "live/before.xml",
101 "bytes": 7402,
102 "sha256": "0a07362ebfed561f8e694a34537fdd8afc0ff52ba92c1afca4c69ec68b3abe13"
103 },
104 {
105 "path": "live/merged.xml",
106 "bytes": 7507,
107 "sha256": "a79f4aed3a44587e609d2c53fc63a544dda46cec2ae23385eeb8772c0b7fc76c"
108 },
109 {
110 "path": "live/notebook/Open Notebook.onetoc2",
111 "bytes": 4816,
112 "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa"
113 },
114 {
115 "path": "live/notebook/synthetic.one",
116 "bytes": 55352,
117 "sha256": "9802336c345c6d8cea9e7058bf9b2c43d1202fd8087d7422313d8d4e112bff3a"
118 },
119 {
120 "path": "native/stage5-cold-contention-01/read/hierarchy.xml",
121 "bytes": 758,
122 "sha256": "2e87cb096dad398e1bcd43853ad42edb75f973565251ec547ded270d23943e27"
123 },
124 {
125 "path": "native/stage5-cold-contention-01/read/page-000.xml",
126 "bytes": 1252,
127 "sha256": "9d8ddcaba0afe75a8be771204439df454d529f23e47c27b7e259ae35b5afd610"
128 },
129 {
130 "path": "native/stage5-cold-fault-01/read/hierarchy.xml",
131 "bytes": 743,
132 "sha256": "14a1da18d6cb76351dd56645a3a7b7d3842eab0cef42233c1b09cd354b5b694c"
133 },
134 {
135 "path": "native/stage5-cold-fault-01/read/page-000.xml",
136 "bytes": 1113,
137 "sha256": "8caa2b1c4200f31898d672ca7d968c41736eff8e7942af8d74a1794fefa2427c"
138 },
139 {
140 "path": "native/stage5-cold-fault-02/read/hierarchy.xml",
141 "bytes": 743,
142 "sha256": "5a47a77898a95d6c0d552403b32283cc42e977e7645b2ea52b104dafe6d209d6"
143 },
144 {
145 "path": "native/stage5-cold-fault-02/read/page-000.xml",
146 "bytes": 1120,
147 "sha256": "ab729b2bb889b8fcdd48529e1243fbac4ecfd1bb3131ee08048eed3d5b52c18f"
148 },
149 {
150 "path": "native/stage5-cold-fault-03/read/hierarchy.xml",
151 "bytes": 738,
152 "sha256": "b8e03039b6d6e79d96807ef5697ea361a1cbd9f7bdbd427ddd3ab7a41d189ce8"
153 },
154 {
155 "path": "native/stage5-cold-fault-03/read/page-000.xml",
156 "bytes": 1217,
157 "sha256": "0fdea4db019303f8d193996bf5870d3f441dc921ed24c34fcfa8594213da9058"
158 },
159 {
160 "path": "native/stage5-cold-live-01/read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment",
161 "bytes": 43,
162 "sha256": "af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7"
163 },
164 {
165 "path": "native/stage5-cold-live-01/read/hierarchy.xml",
166 "bytes": 750,
167 "sha256": "9b7f7de8fc505667e1c30679069cf28042b874388f01f8310ba360db9dfaa67b"
168 },
169 {
170 "path": "native/stage5-cold-live-01/read/page-000.xml",
171 "bytes": 7494,
172 "sha256": "82f0c26d1168925781e454b2d3194f210cd9bcd970c2938a5aec9a25651a245c"
173 },
174 {
175 "path": "native/stage5-cold-offline-02/read/hierarchy.xml",
176 "bytes": 753,
177 "sha256": "bbf7435614ff86c8593ec53e0cd6cb06a12da6773bef70dbfccfdf0a0f3edde0"
178 },
179 {
180 "path": "native/stage5-cold-offline-02/read/page-000.xml",
181 "bytes": 1130,
182 "sha256": "b4d1a857928c4c329cfe976dcf0a039796e3a651383108d506c8638c238584a4"
183 },
184 {
185 "path": "offline/native-conflict.png",
186 "bytes": 170526,
187 "sha256": "77871e4f23011227a80c8dc8d7cdd5883979763a1ebe0697b733a86fdbdd49b1"
188 },
189 {
190 "path": "offline/notebook/Open Notebook.onetoc2",
191 "bytes": 3780,
192 "sha256": "f5631f3953cdfb7da6ab48a690265bc8558b1800793adcf63290b63cfdf85889"
193 },
194 {
195 "path": "offline/notebook/synthetic.one",
196 "bytes": 15400,
197 "sha256": "01a35591f453c097f544912a69925d2568700bf19f81558ff2c2de35cb66961e"
198 },
199 {
200 "path": "offline/reconnected.xml",
201 "bytes": 1146,
202 "sha256": "f026355e1f746aa915ce4fef4db9cd17a8f3e92ba4fa3c9d91ff9f4e3bf1d455"
203 },
204 {
205 "path": "smb-faults.jsonl",
206 "bytes": 58820,
207 "sha256": "7e482527401fda4d2cd5a80cc6b3bc75c91a3bcb39245f979491c7e0ad89dd09"
208 },
209 {
210 "path": "smb-success.jsonl",
211 "bytes": 17076,
212 "sha256": "f26096684d19aec09af27baf9b7ba9c52e2e423c246963b823ab95473d75b754"
213 }
214 ]
215}
corpus/collaboration/round-01/native/stage5-cold-contention-01/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{36E3AD50-1F6D-4144-B4D3-1682E090A0C9}{1}{B0}" path="C:\one-tests\runs\stage5-cold-contention-01\notebook" lastModifiedTime="2026-09-05T16:37:50.000Z" color="#4DBCCA"><one:Section name="synthetic" ID="{6409769D-B5DE-01D8-2306-416593E9176B}{1}{B0}" path="C:\one-tests\runs\stage5-cold-contention-01\notebook\synthetic.one" lastModifiedTime="2026-09-05T16:37:50.000Z" color="#8AA8E4"><one:Page ID="{0B876BAF-B7C3-0228-075B-612F6D675EE2}{1}{B0}" name="Native edit waited for the lock." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T16:37:50.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/collaboration/round-01/native/stage5-cold-contention-01/read/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{0B876BAF-B7C3-0228-075B-612F6D675EE2}{1}{B0}" name="Native edit waited for the lock." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T16:37:50.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="Fixture Author" lastModifiedBy="Fixture Author" lastModifiedTime="2026-09-05T16:16:51.000Z" objectID="{6409769D-B5DE-01D8-2306-416593E9176B}{23}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="191.1661224365234" height="13.4277172088623"/><one:Indents><one:Indent level="0" indent="0.0"/></one:Indents><one:OEChildren><one:OE creationTime="2026-09-05T16:16:51.000Z" lastModifiedTime="2026-09-05T16:16:51.000Z" objectID="{6409769D-B5DE-01D8-2306-416593E9176B}{24}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native edit waited for the lock.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/collaboration/round-01/native/stage5-cold-fault-01/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{D64C5C16-BF7D-4383-ACE9-D6931A97D6D4}{1}{B0}" path="C:\one-tests\runs\stage5-cold-fault-01\notebook" lastModifiedTime="2026-09-05T15:06:39.000Z" color="#F5F96F"><one:Section name="synthetic" ID="{347E5EA7-97D5-0E2A-292A-9537C06C238A}{1}{B0}" path="C:\one-tests\runs\stage5-cold-fault-01\notebook\synthetic.one" lastModifiedTime="2026-09-05T15:06:39.000Z" color="#8AA8E4"><one:Page ID="{5BF04395-95C8-0DDA-0D77-B57D3EE26A03}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T15:06:39.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/collaboration/round-01/native/stage5-cold-fault-01/read/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{5BF04395-95C8-0DDA-0D77-B57D3EE26A03}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T15:06:39.000Z" pageLevel="1" style="font-family:Calibri;font-size:11.0pt" lang="en-US"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="Fixture Author" lastModifiedBy="Fixture Author" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{347E5EA7-97D5-0E2A-292A-9537C06C238A}{23}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="191.1661224365234" height="13.4277172088623"/><one:Indents><one:Indent level="0" indent="0.0"/></one:Indents><one:OEChildren><one:OE creationTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{347E5EA7-97D5-0E2A-292A-9537C06C238A}{24}{B0}" alignment="left"><one:T><![CDATA[A notebook created in Rust.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/collaboration/round-01/native/stage5-cold-fault-02/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{6023DB28-99AA-470E-9D9B-276B28BBB7BF}{1}{B0}" path="C:\one-tests\runs\stage5-cold-fault-02\notebook" lastModifiedTime="2026-09-05T15:06:41.000Z" color="#ADE792"><one:Section name="synthetic" ID="{11827B51-CA10-03DC-3D55-5963318595A5}{1}{B0}" path="C:\one-tests\runs\stage5-cold-fault-02\notebook\synthetic.one" lastModifiedTime="2026-09-05T15:06:41.000Z" color="#8AA8E4"><one:Page ID="{7E0C6663-C80D-002C-1908-7929CF0BDC2C}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T15:06:41.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/collaboration/round-01/native/stage5-cold-fault-02/read/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{7E0C6663-C80D-002C-1908-7929CF0BDC2C}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T15:06:41.000Z" pageLevel="1" style="font-family:Calibri;font-size:11.0pt" lang="en-US"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="Fixture Author" lastModifiedBy="Fixture Author" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{11827B51-CA10-03DC-3D55-5963318595A5}{23}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="211.2754974365234" height="13.4277172088623"/><one:Indents><one:Indent level="0" indent="0.0"/></one:Indents><one:OEChildren><one:OE creationTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{11827B51-CA10-03DC-3D55-5963318595A5}{24}{B0}" alignment="left"><one:T><![CDATA[Publication survived a lost reply.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/collaboration/round-01/native/stage5-cold-fault-03/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{CDE3124B-4D46-4CE8-A83C-60F57AA9BA66}{1}{B0}" path="C:\one-tests\runs\stage5-cold-fault-03\notebook" lastModifiedTime="2026-09-05T15:06:44.000Z" color="#9595AA"><one:Section name="synthetic" ID="{8E6E2AC8-0065-011D-2A8C-84C21FB66ADF}{1}{B0}" path="C:\one-tests\runs\stage5-cold-fault-03\notebook\synthetic.one" lastModifiedTime="2026-09-05T15:06:44.000Z" color="#8AA8E4"><one:Page ID="{A227D94E-89AE-420C-ADEB-2C53E38E76C0}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T15:06:44.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/collaboration/round-01/native/stage5-cold-fault-03/read/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{A227D94E-89AE-420C-ADEB-2C53E38E76C0}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T15:06:44.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{C5EB71F2-C2DB-41BA-A219-A0881C1293A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="170.7457275390625" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{C5EB71F2-C2DB-41BA-A219-A0881C1293A1}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cleanup survived a lost reply.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/collaboration/round-01/native/stage5-cold-live-01/read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment created+1
...@@ -0,0 +1 @@
1../../../../../append/round-01/native/append-01-complex/read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment
\ No newline at end of file
corpus/collaboration/round-01/native/stage5-cold-live-01/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{BD00DC11-C4C1-43F8-B3DF-91FAE9E05753}{1}{B0}" path="C:\one-tests\runs\stage5-cold-live-01\notebook" lastModifiedTime="2026-09-05T15:06:46.000Z" color="#9595AA"><one:Section name="synthetic" ID="{B3C916BE-6612-0082-04A5-395D1AF0F5D1}{1}{B0}" path="C:\one-tests\runs\stage5-cold-live-01\notebook\synthetic.one" lastModifiedTime="2026-09-05T15:06:46.000Z" color="#8AA8E4"><one:Page ID="{9F80E538-EFD9-4393-83C2-91CCE6C8E9CE}{1}{B0}" name="Live Rust: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/collaboration/round-01/native/stage5-cold-live-01/read/page-000.xml created+27
...@@ -0,0 +1,27 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{9F80E538-EFD9-4393-83C2-91CCE6C8E9CE}{1}{B0}" name="Live Rust: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T08:15:47.000Z" objectID="{F84C4D84-A4AC-4025-8C30-1D1719540CAF}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T08:15:47.000Z" objectID="{F84C4D84-A4AC-4025-8C30-1D1719540CAF}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Live Rust: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京,</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US> </span><span
6style='font-weight:bold;font-family:Calibri;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>م</span><span style='font-weight:bold;font-family:Arial;direction:
8rtl;unicode-bidi:embed' lang=ar-SA>رحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{DAA16116-FC44-4E96-91A8-BF9FD9D4617B}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
9URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
10IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
11mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
12QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
13BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
14NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
15BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
16wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
17ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
18GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
19RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
20QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{DAA16116-FC44-4E96-91A8-BF9FD9D4617B}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
21v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
22CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
23KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
24mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
25qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
26AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T08:15:47.000Z" objectID="{AEFC9191-17F9-4A78-9686-9F9FBD58E8E6}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="137.0636138916016" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T08:15:46.000Z" lastModifiedTime="2026-09-05T08:15:47.000Z" objectID="{AEFC9191-17F9-4A78-9686-9F9FBD58E8E6}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Rust same paragraph.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T08:15:47.000Z" objectID="{93D5F91E-F163-43D6-A0F6-346B5135A068}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T08:15:47.000Z" objectID="{93D5F91E-F163-43D6-A0F6-346B5135A068}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
27AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{16CFE17E-371B-4010-855B-539565E46F5B}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{16CFE17E-371B-4010-855B-539565E46F5B}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\chloe caruso\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T08:15:47.000Z" objectID="{3810982E-568B-4B90-9A53-B1C04DB7941D}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="91.88566589355469" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T08:15:46.000Z" lastModifiedTime="2026-09-05T08:15:47.000Z" objectID="{FDCEF74C-55C9-4DEB-B595-8A5224C3AC56}{47}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T08:15:47.000Z" objectID="{FDCEF74C-55C9-4DEB-B595-8A5224C3AC56}{48}{B0}"><one:Columns><one:Column index="0" width="38.61000061035156"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{FDCEF74C-55C9-4DEB-B595-8A5224C3AC56}{49}{B0}" lastModifiedTime="2026-09-05T08:15:47.000Z"><one:Cell lastModifiedTime="2026-09-05T08:15:47.000Z" objectID="{FDCEF74C-55C9-4DEB-B595-8A5224C3AC56}{50}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T08:15:46.000Z" lastModifiedTime="2026-09-05T08:15:47.000Z" objectID="{3810982E-568B-4B90-9A53-B1C04DB7941D}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T08:15:47.000Z" objectID="{FDCEF74C-55C9-4DEB-B595-8A5224C3AC56}{57}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T08:15:46.000Z" lastModifiedTime="2026-09-05T08:15:47.000Z" objectID="{3810982E-568B-4B90-9A53-B1C04DB7941D}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/collaboration/round-01/native/stage5-cold-offline-02/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{AA14B9DD-CDD1-44A5-B05C-4CD9C0504725}{1}{B0}" path="C:\one-tests\runs\stage5-cold-offline-02\notebook" lastModifiedTime="2026-09-05T15:06:48.000Z" color="#E8D199"><one:Section name="synthetic" ID="{9C2CF3DE-83C9-0751-3128-C47540B049CD}{1}{B0}" path="C:\one-tests\runs\stage5-cold-offline-02\notebook\synthetic.one" lastModifiedTime="2026-09-05T15:06:48.000Z" color="#8AA8E4"><one:Page ID="{F3A2EEEC-81D4-04A1-1575-E43FBE3E0044}{1}{B0}" name="Native edited while disconnected." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T15:06:48.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/collaboration/round-01/native/stage5-cold-offline-02/read/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{F3A2EEEC-81D4-04A1-1575-E43FBE3E0044}{1}{B0}" name="Native edited while disconnected." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T15:06:48.000Z" pageLevel="1" style="font-family:Calibri;font-size:11.0pt" lang="en-US"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="Fixture Author" lastModifiedBy="Fixture Author" lastModifiedTime="2026-09-05T08:30:43.000Z" objectID="{9C2CF3DE-83C9-0751-3128-C47540B049CD}{23}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="191.1661224365234" height="26.85543441772461"/><one:Indents><one:Indent level="0" indent="0.0"/></one:Indents><one:OEChildren><one:OE creationTime="2026-09-05T08:28:45.000Z" lastModifiedTime="2026-09-05T08:30:43.000Z" objectID="{9C2CF3DE-83C9-0751-3128-C47540B049CD}{24}{B0}" alignment="left"><one:T><![CDATA[Rust edited during the native outage.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/collaboration/round-01/offline/native-conflict.png created
Binary files /dev/null and b/corpus/collaboration/round-01/offline/native-conflict.png differ
corpus/collaboration/round-01/offline/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/collaboration/round-01/offline/notebook/Open Notebook.onetoc2 differ
corpus/collaboration/round-01/offline/notebook/synthetic.one created
Binary files /dev/null and b/corpus/collaboration/round-01/offline/notebook/synthetic.one differ
corpus/collaboration/round-01/offline/reconnected.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{8790AC5D-C4A3-02BA-2755-75762E8F11F0}{1}{B0}" name="Native edited while disconnected." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T08:30:56.000Z" pageLevel="1" isUnread="true" style="font-family:Calibri;font-size:11.0pt" lang="en-US"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="Fixture Author" lastModifiedBy="Fixture Author" lastModifiedTime="2026-09-05T08:30:43.000Z" objectID="{E81EB16F-C6BE-014A-0308-553CD0015879}{23}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="191.1661224365234" height="26.85543441772461"/><one:Indents><one:Indent level="0" indent="0.0"/></one:Indents><one:OEChildren><one:OE creationTime="2026-09-05T08:28:45.000Z" lastModifiedTime="2026-09-05T08:30:43.000Z" objectID="{E81EB16F-C6BE-014A-0308-553CD0015879}{24}{B0}" alignment="left"><one:T><![CDATA[Rust edited during the native outage.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/collaboration/round-01/smb-faults.jsonl created+627
...@@ -0,0 +1,627 @@
1{"time": 1788596794.48568, "listening": 11445}
2{"time": 1788596795.602871, "direction": "response", "command": 0, "message": 0, "status": "0x0"}
3{"time": 1788596795.603053, "direction": "request", "command": 0, "message": 1}
4{"time": 1788596795.603626, "direction": "response", "command": 0, "message": 1, "status": "0x0"}
5{"time": 1788596795.6214411, "direction": "request", "command": 1, "message": 2}
6{"time": 1788596795.622229, "direction": "response", "command": 1, "message": 2, "status": "0xc0000016"}
7{"time": 1788596795.6231859, "direction": "request", "command": 1, "message": 3}
8{"time": 1788596795.6254468, "direction": "response", "command": 1, "message": 3, "status": "0x0"}
9{"time": 1788596795.62623, "direction": "request", "command": 3, "message": 4}
10{"time": 1788596795.641889, "direction": "response", "command": 3, "message": 4, "status": "0x0"}
11{"time": 1788596795.803332, "direction": "request", "command": 5, "message": 5}
12{"time": 1788596795.8033862, "direction": "request", "command": 16, "message": 6}
13{"time": 1788596795.8033988, "direction": "request", "command": 6, "message": 7}
14{"time": 1788596795.804718, "direction": "response", "command": 5, "message": 5, "status": "0x0"}
15{"time": 1788596795.804736, "direction": "response", "command": 16, "message": 6, "status": "0x0"}
16{"time": 1788596795.804745, "direction": "response", "command": 6, "message": 7, "status": "0x0"}
17{"time": 1788596795.8049338, "direction": "request", "command": 5, "message": 8}
18{"time": 1788596795.804957, "direction": "request", "command": 16, "message": 9}
19{"time": 1788596795.8049679, "direction": "request", "command": 6, "message": 10}
20{"time": 1788596795.805514, "direction": "response", "command": 5, "message": 8, "status": "0x0"}
21{"time": 1788596795.805526, "direction": "response", "command": 16, "message": 9, "status": "0x0"}
22{"time": 1788596795.805535, "direction": "response", "command": 6, "message": 10, "status": "0x0"}
23{"time": 1788596795.805697, "direction": "request", "command": 5, "message": 11}
24{"time": 1788596795.805706, "direction": "request", "command": 16, "message": 12}
25{"time": 1788596795.805713, "direction": "request", "command": 6, "message": 13}
26{"time": 1788596795.806253, "direction": "response", "command": 5, "message": 11, "status": "0x0"}
27{"time": 1788596795.806262, "direction": "response", "command": 16, "message": 12, "status": "0x0"}
28{"time": 1788596795.806269, "direction": "response", "command": 6, "message": 13, "status": "0x0"}
29{"time": 1788596795.806425, "direction": "request", "command": 5, "message": 14}
30{"time": 1788596795.8064342, "direction": "request", "command": 11, "message": 15}
31{"time": 1788596795.8064399, "direction": "request", "command": 6, "message": 16}
32{"time": 1788596795.806939, "direction": "response", "command": 5, "message": 14, "status": "0x0"}
33{"time": 1788596795.8069482, "direction": "response", "command": 11, "message": 15, "status": "0x0"}
34{"time": 1788596795.806955, "direction": "response", "command": 6, "message": 16, "status": "0x0"}
35{"time": 1788596795.8071191, "direction": "request", "command": 5, "message": 17}
36{"time": 1788596795.807126, "direction": "request", "command": 16, "message": 18}
37{"time": 1788596795.807133, "direction": "request", "command": 6, "message": 19}
38{"time": 1788596795.8071492, "direction": "request", "command": 15, "message": 20}
39{"time": 1788596795.807737, "direction": "response", "command": 5, "message": 17, "status": "0x0"}
40{"time": 1788596795.807746, "direction": "response", "command": 16, "message": 18, "status": "0x0"}
41{"time": 1788596795.807752, "direction": "response", "command": 6, "message": 19, "status": "0x0"}
42{"time": 1788596795.807768, "direction": "response", "command": 15, "message": 20, "status": "0xc0000128"}
43{"time": 1788596795.811281, "direction": "request", "command": 5, "message": 21}
44{"time": 1788596795.8113012, "direction": "request", "command": 8, "message": 22, "length": 60, "offset": 0}
45{"time": 1788596795.81131, "direction": "request", "command": 6, "message": 23}
46{"time": 1788596795.8121111, "direction": "response", "command": 5, "message": 21, "status": "0xc0000034"}
47{"time": 1788596795.812144, "direction": "response", "command": 8, "message": 22, "status": "0xc0000034"}
48{"time": 1788596795.81215, "direction": "response", "command": 6, "message": 23, "status": "0xc0000034"}
49{"time": 1788596795.8132281, "direction": "request", "command": 5, "message": 24}
50{"time": 1788596795.813237, "direction": "request", "command": 6, "message": 25}
51{"time": 1788596795.8139038, "direction": "response", "command": 5, "message": 24, "status": "0x0"}
52{"time": 1788596795.8139122, "direction": "response", "command": 6, "message": 25, "status": "0x0"}
53{"time": 1788596795.818496, "direction": "request", "command": 5, "message": 26}
54{"time": 1788596795.8185039, "direction": "request", "command": 14, "message": 27}
55{"time": 1788596795.81851, "direction": "request", "command": 6, "message": 28}
56{"time": 1788596795.819212, "direction": "response", "command": 5, "message": 26, "status": "0x0"}
57{"time": 1788596795.819221, "direction": "response", "command": 14, "message": 27, "status": "0xc000000f"}
58{"time": 1788596795.819226, "direction": "response", "command": 6, "message": 28, "status": "0x0"}
59{"time": 1788596795.819457, "direction": "request", "command": 5, "message": 29}
60{"time": 1788596795.819465, "direction": "request", "command": 14, "message": 30}
61{"time": 1788596795.8194702, "direction": "request", "command": 6, "message": 31}
62{"time": 1788596795.820155, "direction": "response", "command": 5, "message": 29, "status": "0x0"}
63{"time": 1788596795.820163, "direction": "response", "command": 14, "message": 30, "status": "0xc000000f"}
64{"time": 1788596795.820169, "direction": "response", "command": 6, "message": 31, "status": "0x0"}
65{"time": 1788596795.820367, "direction": "request", "command": 5, "message": 32}
66{"time": 1788596795.820373, "direction": "request", "command": 14, "message": 33}
67{"time": 1788596795.820378, "direction": "request", "command": 6, "message": 34}
68{"time": 1788596795.8209631, "direction": "response", "command": 5, "message": 32, "status": "0x0"}
69{"time": 1788596795.820971, "direction": "response", "command": 14, "message": 33, "status": "0xc000000f"}
70{"time": 1788596795.820976, "direction": "response", "command": 6, "message": 34, "status": "0x0"}
71{"time": 1788596795.821236, "direction": "request", "command": 5, "message": 35}
72{"time": 1788596795.8212428, "direction": "request", "command": 14, "message": 36}
73{"time": 1788596795.821248, "direction": "request", "command": 6, "message": 37}
74{"time": 1788596795.821866, "direction": "response", "command": 5, "message": 35, "status": "0x0"}
75{"time": 1788596795.821878, "direction": "response", "command": 14, "message": 36, "status": "0xc000000f"}
76{"time": 1788596795.8218849, "direction": "response", "command": 6, "message": 37, "status": "0x0"}
77{"time": 1788596795.8225238, "direction": "request", "command": 5, "message": 38}
78{"time": 1788596795.822531, "direction": "request", "command": 14, "message": 39}
79{"time": 1788596795.822536, "direction": "request", "command": 6, "message": 40}
80{"time": 1788596795.8228428, "direction": "request", "command": 5, "message": 41}
81{"time": 1788596795.8228621, "direction": "request", "command": 14, "message": 42}
82{"time": 1788596795.8228722, "direction": "request", "command": 6, "message": 43}
83{"time": 1788596795.8231611, "direction": "response", "command": 5, "message": 38, "status": "0x0"}
84{"time": 1788596795.823172, "direction": "response", "command": 14, "message": 39, "status": "0xc000000f"}
85{"time": 1788596795.823179, "direction": "response", "command": 6, "message": 40, "status": "0x0"}
86{"time": 1788596795.8235352, "direction": "response", "command": 5, "message": 41, "status": "0x0"}
87{"time": 1788596795.823543, "direction": "response", "command": 14, "message": 42, "status": "0xc000000f"}
88{"time": 1788596795.823549, "direction": "response", "command": 6, "message": 43, "status": "0x0"}
89{"time": 1788596799.7892811, "direction": "request", "command": 5, "message": 44}
90{"time": 1788596799.789431, "direction": "request", "command": 16, "message": 45}
91{"time": 1788596799.789449, "direction": "request", "command": 6, "message": 46}
92{"time": 1788596799.7907782, "direction": "response", "command": 5, "message": 44, "status": "0x0"}
93{"time": 1788596799.790837, "direction": "response", "command": 16, "message": 45, "status": "0x0"}
94{"time": 1788596799.790874, "direction": "response", "command": 6, "message": 46, "status": "0x0"}
95{"time": 1788596810.810456, "direction": "request", "command": 15, "message": 47}
96{"time": 1788596810.811786, "direction": "response", "command": 15, "message": 47, "status": "0xc0000128"}
97{"time": 1788596825.814044, "direction": "request", "command": 15, "message": 48}
98{"time": 1788596825.815031, "direction": "response", "command": 15, "message": 48, "status": "0xc0000128"}
99{"time": 1788596835.7812622, "direction": "request", "command": 5, "message": 49}
100{"time": 1788596835.781305, "direction": "request", "command": 16, "message": 50}
101{"time": 1788596835.7813172, "direction": "request", "command": 6, "message": 51}
102{"time": 1788596835.782187, "direction": "response", "command": 5, "message": 49, "status": "0x0"}
103{"time": 1788596835.7822, "direction": "response", "command": 16, "message": 50, "status": "0x0"}
104{"time": 1788596835.782208, "direction": "response", "command": 6, "message": 51, "status": "0x0"}
105{"time": 1788596835.7823849, "direction": "request", "command": 5, "message": 52}
106{"time": 1788596835.7823958, "direction": "request", "command": 14, "message": 53}
107{"time": 1788596835.782403, "direction": "request", "command": 6, "message": 54}
108{"time": 1788596835.783127, "direction": "response", "command": 5, "message": 52, "status": "0x0"}
109{"time": 1788596835.783138, "direction": "response", "command": 14, "message": 53, "status": "0x0"}
110{"time": 1788596835.783146, "direction": "response", "command": 6, "message": 54, "status": "0x0"}
111{"time": 1788596835.78332, "direction": "request", "command": 5, "message": 55}
112{"time": 1788596835.783329, "direction": "request", "command": 14, "message": 56}
113{"time": 1788596835.783336, "direction": "request", "command": 6, "message": 57}
114{"time": 1788596835.783911, "direction": "response", "command": 5, "message": 55, "status": "0x0"}
115{"time": 1788596835.783921, "direction": "response", "command": 14, "message": 56, "status": "0xc000000f"}
116{"time": 1788596835.7839282, "direction": "response", "command": 6, "message": 57, "status": "0x0"}
117{"time": 1788596835.784095, "direction": "request", "command": 5, "message": 58}
118{"time": 1788596835.784103, "direction": "request", "command": 6, "message": 59}
119{"time": 1788596835.78494, "direction": "response", "command": 5, "message": 58, "status": "0x0"}
120{"time": 1788596835.784949, "direction": "response", "command": 6, "message": 59, "status": "0x0"}
121{"time": 1788596835.785124, "direction": "request", "command": 5, "message": 60}
122{"time": 1788596835.7851331, "direction": "request", "command": 8, "message": 61, "length": 64, "offset": 0}
123{"time": 1788596835.785141, "direction": "request", "command": 6, "message": 62}
124{"time": 1788596835.7857149, "direction": "response", "command": 5, "message": 60, "status": "0xc0000034"}
125{"time": 1788596835.7857249, "direction": "response", "command": 8, "message": 61, "status": "0xc0000034"}
126{"time": 1788596835.785732, "direction": "response", "command": 6, "message": 62, "status": "0xc0000034"}
127{"time": 1788596835.78588, "direction": "request", "command": 5, "message": 63}
128{"time": 1788596835.785889, "direction": "request", "command": 9, "message": 64, "length": 11, "offset": 0}
129{"time": 1788596835.7858958, "direction": "request", "command": 17, "message": 65}
130{"time": 1788596835.7859032, "direction": "request", "command": 6, "message": 66}
131{"time": 1788596835.7868109, "direction": "response", "command": 5, "message": 63, "status": "0x0"}
132{"time": 1788596835.7868218, "direction": "response", "command": 9, "message": 64, "status": "0x0"}
133{"time": 1788596835.786829, "direction": "response", "command": 17, "message": 65, "status": "0x0"}
134{"time": 1788596835.786837, "direction": "response", "command": 6, "message": 66, "status": "0x0"}
135{"time": 1788596835.787012, "direction": "request", "command": 5, "message": 67}
136{"time": 1788596835.787037, "direction": "request", "command": 14, "message": 68}
137{"time": 1788596835.787045, "direction": "request", "command": 6, "message": 69}
138{"time": 1788596835.7875898, "direction": "response", "command": 5, "message": 67, "status": "0x0"}
139{"time": 1788596835.787599, "direction": "response", "command": 14, "message": 68, "status": "0xc000000f"}
140{"time": 1788596835.787605, "direction": "response", "command": 6, "message": 69, "status": "0x0"}
141{"time": 1788596835.787787, "direction": "request", "command": 5, "message": 70}
142{"time": 1788596835.7877939, "direction": "request", "command": 14, "message": 71}
143{"time": 1788596835.7877991, "direction": "request", "command": 6, "message": 72}
144{"time": 1788596835.788331, "direction": "response", "command": 5, "message": 70, "status": "0x0"}
145{"time": 1788596835.7883399, "direction": "response", "command": 14, "message": 71, "status": "0xc000000f"}
146{"time": 1788596835.788346, "direction": "response", "command": 6, "message": 72, "status": "0x0"}
147{"time": 1788596835.788512, "direction": "request", "command": 5, "message": 73}
148{"time": 1788596835.788519, "direction": "request", "command": 16, "message": 74}
149{"time": 1788596835.78955, "direction": "response", "command": 5, "message": 73, "status": "0x0"}
150{"time": 1788596835.789558, "direction": "response", "command": 16, "message": 74, "status": "0x0"}
151{"time": 1788596835.7897558, "direction": "request", "command": 5, "message": 106}
152{"time": 1788596835.7897768, "direction": "request", "command": 8, "message": 107, "length": 64, "offset": 0}
153{"time": 1788596835.789788, "direction": "request", "command": 6, "message": 108}
154{"time": 1788596835.790401, "direction": "response", "command": 5, "message": 106, "status": "0xc0000034"}
155{"time": 1788596835.7904131, "direction": "response", "command": 8, "message": 107, "status": "0xc0000034"}
156{"time": 1788596835.790421, "direction": "response", "command": 6, "message": 108, "status": "0xc0000034"}
157{"time": 1788596835.790595, "direction": "request", "command": 5, "message": 109}
158{"time": 1788596835.790604, "direction": "request", "command": 9, "message": 110, "length": 11, "offset": 0}
159{"time": 1788596835.790611, "direction": "request", "command": 17, "message": 111}
160{"time": 1788596835.790617, "direction": "request", "command": 6, "message": 112}
161{"time": 1788596835.791643, "direction": "response", "command": 5, "message": 109, "status": "0x0"}
162{"time": 1788596835.7916539, "direction": "response", "command": 9, "message": 110, "status": "0x0"}
163{"time": 1788596835.79166, "direction": "response", "command": 17, "message": 111, "status": "0x0"}
164{"time": 1788596835.791666, "direction": "response", "command": 6, "message": 112, "status": "0x0"}
165{"time": 1788596835.791858, "direction": "request", "command": 5, "message": 113}
166{"time": 1788596835.7918668, "direction": "request", "command": 8, "message": 114, "length": 64, "offset": 0}
167{"time": 1788596835.791874, "direction": "request", "command": 6, "message": 115}
168{"time": 1788596835.7926972, "direction": "response", "command": 5, "message": 113, "status": "0x0"}
169{"time": 1788596835.792707, "direction": "response", "command": 8, "message": 114, "status": "0x0"}
170{"time": 1788596835.792713, "direction": "response", "command": 6, "message": 115, "status": "0x0"}
171{"time": 1788596835.792902, "direction": "request", "command": 5, "message": 116}
172{"time": 1788596835.79291, "direction": "request", "command": 8, "message": 117, "length": 64, "offset": 0}
173{"time": 1788596835.792916, "direction": "request", "command": 6, "message": 118}
174{"time": 1788596835.793588, "direction": "response", "command": 5, "message": 116, "status": "0x0"}
175{"time": 1788596835.7935958, "direction": "response", "command": 8, "message": 117, "status": "0x0"}
176{"time": 1788596835.793602, "direction": "response", "command": 6, "message": 118, "status": "0x0"}
177{"time": 1788596835.793757, "direction": "request", "command": 5, "message": 119}
178{"time": 1788596835.793764, "direction": "request", "command": 16, "message": 120}
179{"time": 1788596835.793781, "direction": "request", "command": 6, "message": 121}
180{"time": 1788596835.7945652, "direction": "response", "command": 5, "message": 119, "status": "0x0"}
181{"time": 1788596835.794572, "direction": "response", "command": 16, "message": 120, "status": "0x0"}
182{"time": 1788596835.7945778, "direction": "response", "command": 6, "message": 121, "status": "0x0"}
183{"time": 1788596835.794724, "direction": "request", "command": 17, "message": 122}
184{"time": 1788596835.795155, "direction": "response", "command": 17, "message": 122, "status": "0x0"}
185{"time": 1788596835.795328, "direction": "request", "command": 17, "message": 123}
186{"time": 1788596835.795807, "direction": "response", "command": 17, "message": 123, "status": "0x0"}
187{"time": 1788596835.795975, "direction": "request", "command": 5, "message": 124}
188{"time": 1788596835.795983, "direction": "request", "command": 8, "message": 125, "length": 64, "offset": 0}
189{"time": 1788596835.795989, "direction": "request", "command": 6, "message": 126}
190{"time": 1788596835.796745, "direction": "response", "command": 5, "message": 124, "status": "0x0"}
191{"time": 1788596835.796754, "direction": "response", "command": 8, "message": 125, "status": "0x0"}
192{"time": 1788596835.79676, "direction": "response", "command": 6, "message": 126, "status": "0x0"}
193{"time": 1788596835.796928, "direction": "request", "command": 5, "message": 127}
194{"time": 1788596835.796937, "direction": "request", "command": 8, "message": 128, "length": 64, "offset": 0}
195{"time": 1788596835.796944, "direction": "request", "command": 6, "message": 129}
196{"time": 1788596835.7977002, "direction": "response", "command": 5, "message": 127, "status": "0x0"}
197{"time": 1788596835.7977102, "direction": "response", "command": 8, "message": 128, "status": "0x0"}
198{"time": 1788596835.797715, "direction": "response", "command": 6, "message": 129, "status": "0x0"}
199{"time": 1788596835.797968, "direction": "request", "command": 9, "message": 130, "length": 1612, "offset": 0, "transactions": 1}
200{"time": 1788596835.798534, "direction": "response", "command": 9, "message": 130, "status": "0x0"}
201{"time": 1788596835.7987142, "direction": "request", "command": 7, "message": 131}
202{"time": 1788596835.800239, "direction": "response", "command": 7, "message": 131, "status": "0x103"}
203{"time": 1788596835.842924, "direction": "response", "command": 7, "message": 131, "status": "0x0"}
204{"time": 1788596835.843112, "direction": "request", "command": 5, "message": 132}
205{"time": 1788596835.843123, "direction": "request", "command": 14, "message": 133}
206{"time": 1788596835.843132, "direction": "request", "command": 6, "message": 134}
207{"time": 1788596835.844085, "direction": "response", "command": 5, "message": 132, "status": "0x0"}
208{"time": 1788596835.8440971, "direction": "response", "command": 14, "message": 133, "status": "0x0"}
209{"time": 1788596835.844105, "direction": "response", "command": 6, "message": 134, "status": "0x0"}
210{"time": 1788596835.8443048, "direction": "request", "command": 5, "message": 135}
211{"time": 1788596835.844314, "direction": "request", "command": 17, "message": 136}
212{"time": 1788596835.844321, "direction": "request", "command": 6, "message": 137}
213{"time": 1788596835.845024, "direction": "response", "command": 5, "message": 135, "status": "0x0"}
214{"time": 1788596835.845036, "direction": "response", "command": 17, "message": 136, "status": "0x0"}
215{"time": 1788596835.845043, "direction": "response", "command": 6, "message": 137, "status": "0x0"}
216{"time": 1788596835.845206, "direction": "request", "command": 5, "message": 138}
217{"time": 1788596835.845216, "direction": "request", "command": 8, "message": 139, "length": 64, "offset": 0}
218{"time": 1788596835.845223, "direction": "request", "command": 6, "message": 140}
219{"time": 1788596835.8459141, "direction": "response", "command": 5, "message": 138, "status": "0x0"}
220{"time": 1788596835.8459241, "direction": "response", "command": 8, "message": 139, "status": "0x0"}
221{"time": 1788596835.845932, "direction": "response", "command": 6, "message": 140, "status": "0x0"}
222{"time": 1788596835.846119, "direction": "request", "command": 5, "message": 141}
223{"time": 1788596835.846129, "direction": "request", "command": 8, "message": 142, "length": 64, "offset": 0}
224{"time": 1788596835.846136, "direction": "request", "command": 6, "message": 143}
225{"time": 1788596835.846812, "direction": "response", "command": 5, "message": 141, "status": "0x0"}
226{"time": 1788596835.846823, "direction": "response", "command": 8, "message": 142, "status": "0x0"}
227{"time": 1788596835.8468301, "direction": "response", "command": 6, "message": 143, "status": "0x0"}
228{"time": 1788596835.8470101, "direction": "request", "command": 5, "message": 144}
229{"time": 1788596835.847019, "direction": "request", "command": 8, "message": 145, "length": 64, "offset": 0}
230{"time": 1788596835.8470268, "direction": "request", "command": 6, "message": 146}
231{"time": 1788596835.847816, "direction": "response", "command": 5, "message": 144, "status": "0x0"}
232{"time": 1788596835.847826, "direction": "response", "command": 8, "message": 145, "status": "0x0"}
233{"time": 1788596835.8478332, "direction": "response", "command": 6, "message": 146, "status": "0x0"}
234{"time": 1788596835.848018, "direction": "request", "command": 5, "message": 147}
235{"time": 1788596835.848029, "direction": "request", "command": 14, "message": 148}
236{"time": 1788596835.848036, "direction": "request", "command": 6, "message": 149}
237{"time": 1788596835.848586, "direction": "response", "command": 5, "message": 147, "status": "0x0"}
238{"time": 1788596835.848597, "direction": "response", "command": 14, "message": 148, "status": "0xc000000f"}
239{"time": 1788596835.848605, "direction": "response", "command": 6, "message": 149, "status": "0x0"}
240{"time": 1788596835.848784, "direction": "request", "command": 5, "message": 150}
241{"time": 1788596835.848795, "direction": "request", "command": 14, "message": 151}
242{"time": 1788596835.848802, "direction": "request", "command": 6, "message": 152}
243{"time": 1788596835.849588, "direction": "response", "command": 5, "message": 150, "status": "0x0"}
244{"time": 1788596835.8496, "direction": "response", "command": 14, "message": 151, "status": "0x0"}
245{"time": 1788596835.849608, "direction": "response", "command": 6, "message": 152, "status": "0x0"}
246{"time": 1788596835.849776, "direction": "request", "command": 5, "message": 153}
247{"time": 1788596835.849785, "direction": "request", "command": 14, "message": 154}
248{"time": 1788596835.849792, "direction": "request", "command": 6, "message": 155}
249{"time": 1788596835.85037, "direction": "response", "command": 5, "message": 153, "status": "0x0"}
250{"time": 1788596835.850379, "direction": "response", "command": 14, "message": 154, "status": "0xc000000f"}
251{"time": 1788596835.8503869, "direction": "response", "command": 6, "message": 155, "status": "0x0"}
252{"time": 1788596835.850662, "direction": "request", "command": 5, "message": 156}
253{"time": 1788596835.8506749, "direction": "request", "command": 14, "message": 157}
254{"time": 1788596835.850682, "direction": "request", "command": 6, "message": 158}
255{"time": 1788596835.851308, "direction": "response", "command": 5, "message": 156, "status": "0x0"}
256{"time": 1788596835.8513181, "direction": "response", "command": 14, "message": 157, "status": "0xc000000f"}
257{"time": 1788596835.851326, "direction": "response", "command": 6, "message": 158, "status": "0x0"}
258{"time": 1788596835.8515341, "direction": "request", "command": 5, "message": 159}
259{"time": 1788596835.851543, "direction": "request", "command": 16, "message": 160}
260{"time": 1788596835.85236, "direction": "response", "command": 5, "message": 159, "status": "0x0"}
261{"time": 1788596835.85237, "direction": "response", "command": 16, "message": 160, "status": "0x0"}
262{"time": 1788596835.852559, "direction": "request", "command": 5, "message": 192}
263{"time": 1788596835.8525681, "direction": "request", "command": 8, "message": 193, "length": 64, "offset": 0}
264{"time": 1788596835.852576, "direction": "request", "command": 6, "message": 194}
265{"time": 1788596835.85332, "direction": "response", "command": 5, "message": 192, "status": "0xc0000034"}
266{"time": 1788596835.853336, "direction": "response", "command": 8, "message": 193, "status": "0xc0000034"}
267{"time": 1788596835.853344, "direction": "response", "command": 6, "message": 194, "status": "0xc0000034"}
268{"time": 1788596835.853515, "direction": "request", "command": 5, "message": 195}
269{"time": 1788596835.853525, "direction": "request", "command": 9, "message": 196, "length": 11, "offset": 0}
270{"time": 1788596835.8535318, "direction": "request", "command": 17, "message": 197}
271{"time": 1788596835.853539, "direction": "request", "command": 6, "message": 198}
272{"time": 1788596835.854403, "direction": "response", "command": 5, "message": 195, "status": "0x0"}
273{"time": 1788596835.8544152, "direction": "response", "command": 9, "message": 196, "status": "0x0"}
274{"time": 1788596835.854423, "direction": "response", "command": 17, "message": 197, "status": "0x0"}
275{"time": 1788596835.854433, "direction": "response", "command": 6, "message": 198, "status": "0x0"}
276{"time": 1788596835.854603, "direction": "request", "command": 5, "message": 199}
277{"time": 1788596835.8546119, "direction": "request", "command": 8, "message": 200, "length": 64, "offset": 0}
278{"time": 1788596835.8546188, "direction": "request", "command": 6, "message": 201}
279{"time": 1788596835.855345, "direction": "response", "command": 5, "message": 199, "status": "0x0"}
280{"time": 1788596835.855357, "direction": "response", "command": 8, "message": 200, "status": "0x0"}
281{"time": 1788596835.855364, "direction": "response", "command": 6, "message": 201, "status": "0x0"}
282{"time": 1788596835.855548, "direction": "request", "command": 5, "message": 202}
283{"time": 1788596835.8555572, "direction": "request", "command": 8, "message": 203, "length": 64, "offset": 0}
284{"time": 1788596835.855565, "direction": "request", "command": 6, "message": 204}
285{"time": 1788596835.856308, "direction": "response", "command": 5, "message": 202, "status": "0x0"}
286{"time": 1788596835.856317, "direction": "response", "command": 8, "message": 203, "status": "0x0"}
287{"time": 1788596835.8563251, "direction": "response", "command": 6, "message": 204, "status": "0x0"}
288{"time": 1788596835.856492, "direction": "request", "command": 5, "message": 205}
289{"time": 1788596835.856501, "direction": "request", "command": 16, "message": 206}
290{"time": 1788596835.856508, "direction": "request", "command": 6, "message": 207}
291{"time": 1788596835.857175, "direction": "response", "command": 5, "message": 205, "status": "0x0"}
292{"time": 1788596835.8571851, "direction": "response", "command": 16, "message": 206, "status": "0x0"}
293{"time": 1788596835.857192, "direction": "response", "command": 6, "message": 207, "status": "0x0"}
294{"time": 1788596835.857345, "direction": "request", "command": 17, "message": 208}
295{"time": 1788596835.857771, "direction": "response", "command": 17, "message": 208, "status": "0x0"}
296{"time": 1788596835.857928, "direction": "request", "command": 17, "message": 209}
297{"time": 1788596835.858361, "direction": "response", "command": 17, "message": 209, "status": "0x0"}
298{"time": 1788596835.858523, "direction": "request", "command": 5, "message": 210}
299{"time": 1788596835.8585322, "direction": "request", "command": 8, "message": 211, "length": 64, "offset": 0}
300{"time": 1788596835.85854, "direction": "request", "command": 6, "message": 212}
301{"time": 1788596835.859335, "direction": "response", "command": 5, "message": 210, "status": "0x0"}
302{"time": 1788596835.859345, "direction": "response", "command": 8, "message": 211, "status": "0x0"}
303{"time": 1788596835.859352, "direction": "response", "command": 6, "message": 212, "status": "0x0"}
304{"time": 1788596835.859532, "direction": "request", "command": 5, "message": 213}
305{"time": 1788596835.859541, "direction": "request", "command": 8, "message": 214, "length": 64, "offset": 0}
306{"time": 1788596835.85955, "direction": "request", "command": 6, "message": 215}
307{"time": 1788596835.860306, "direction": "response", "command": 5, "message": 213, "status": "0x0"}
308{"time": 1788596835.860318, "direction": "response", "command": 8, "message": 214, "status": "0x0"}
309{"time": 1788596835.860333, "direction": "response", "command": 6, "message": 215, "status": "0x0"}
310{"time": 1788596835.8605492, "direction": "request", "command": 9, "message": 216, "length": 3348, "offset": 0, "transactions": 1}
311{"time": 1788596835.861093, "direction": "response", "command": 9, "message": 216, "status": "0x0"}
312{"time": 1788596835.8612711, "direction": "request", "command": 7, "message": 217}
313{"time": 1788596835.862753, "direction": "response", "command": 7, "message": 217, "status": "0x103"}
314{"time": 1788596835.8748028, "direction": "response", "command": 7, "message": 217, "status": "0x0"}
315{"time": 1788596835.875026, "direction": "request", "command": 5, "message": 218}
316{"time": 1788596835.8750432, "direction": "request", "command": 14, "message": 219}
317{"time": 1788596835.8750541, "direction": "request", "command": 6, "message": 220}
318{"time": 1788596835.875881, "direction": "response", "command": 5, "message": 218, "status": "0x0"}
319{"time": 1788596835.875894, "direction": "response", "command": 14, "message": 219, "status": "0x0"}
320{"time": 1788596835.875904, "direction": "response", "command": 6, "message": 220, "status": "0x0"}
321{"time": 1788596835.876116, "direction": "request", "command": 5, "message": 221}
322{"time": 1788596835.876127, "direction": "request", "command": 17, "message": 222}
323{"time": 1788596835.8761349, "direction": "request", "command": 6, "message": 223}
324{"time": 1788596835.876915, "direction": "response", "command": 5, "message": 221, "status": "0x0"}
325{"time": 1788596835.876927, "direction": "response", "command": 17, "message": 222, "status": "0x0"}
326{"time": 1788596835.876935, "direction": "response", "command": 6, "message": 223, "status": "0x0"}
327{"time": 1788596835.877117, "direction": "request", "command": 5, "message": 224}
328{"time": 1788596835.877128, "direction": "request", "command": 8, "message": 225, "length": 64, "offset": 0}
329{"time": 1788596835.877137, "direction": "request", "command": 6, "message": 226}
330{"time": 1788596835.877907, "direction": "response", "command": 5, "message": 224, "status": "0x0"}
331{"time": 1788596835.877919, "direction": "response", "command": 8, "message": 225, "status": "0x0"}
332{"time": 1788596835.877928, "direction": "response", "command": 6, "message": 226, "status": "0x0"}
333{"time": 1788596835.878123, "direction": "request", "command": 5, "message": 227}
334{"time": 1788596835.878135, "direction": "request", "command": 8, "message": 228, "length": 64, "offset": 0}
335{"time": 1788596835.878143, "direction": "request", "command": 6, "message": 229}
336{"time": 1788596835.878859, "direction": "response", "command": 5, "message": 227, "status": "0x0"}
337{"time": 1788596835.8788722, "direction": "response", "command": 8, "message": 228, "status": "0x0"}
338{"time": 1788596835.87888, "direction": "response", "command": 6, "message": 229, "status": "0x0"}
339{"time": 1788596835.879061, "direction": "request", "command": 5, "message": 230}
340{"time": 1788596835.879071, "direction": "request", "command": 8, "message": 231, "length": 64, "offset": 0}
341{"time": 1788596835.8790789, "direction": "request", "command": 6, "message": 232}
342{"time": 1788596835.8798451, "direction": "response", "command": 5, "message": 230, "status": "0x0"}
343{"time": 1788596835.879874, "direction": "response", "command": 8, "message": 231, "status": "0x0"}
344{"time": 1788596835.879889, "direction": "response", "command": 6, "message": 232, "status": "0x0"}
345{"time": 1788596835.88011, "direction": "request", "command": 5, "message": 233}
346{"time": 1788596835.880125, "direction": "request", "command": 17, "message": 234}
347{"time": 1788596835.8801348, "direction": "request", "command": 6, "message": 235}
348{"time": 1788596835.880755, "direction": "response", "command": 5, "message": 233, "status": "0x0"}
349{"time": 1788596835.880768, "direction": "response", "command": 17, "message": 234, "status": "0x0"}
350{"time": 1788596835.880777, "direction": "response", "command": 6, "message": 235, "status": "0x0"}
351{"time": 1788596835.880948, "direction": "request", "command": 5, "message": 236}
352{"time": 1788596835.880959, "direction": "request", "command": 8, "message": 237, "length": 64, "offset": 0}
353{"time": 1788596835.88098, "direction": "request", "command": 6, "message": 238}
354{"time": 1788596835.881666, "direction": "response", "command": 5, "message": 236, "status": "0x0"}
355{"time": 1788596835.8816772, "direction": "response", "command": 8, "message": 237, "status": "0x0"}
356{"time": 1788596835.881686, "direction": "response", "command": 6, "message": 238, "status": "0x0"}
357{"time": 1788596835.8818848, "direction": "request", "command": 5, "message": 239}
358{"time": 1788596835.881896, "direction": "request", "command": 8, "message": 240, "length": 64, "offset": 0}
359{"time": 1788596835.8819048, "direction": "request", "command": 6, "message": 241}
360{"time": 1788596835.882564, "direction": "response", "command": 5, "message": 239, "status": "0x0"}
361{"time": 1788596835.882578, "direction": "response", "command": 8, "message": 240, "status": "0x0"}
362{"time": 1788596835.882588, "direction": "response", "command": 6, "message": 241, "status": "0x0"}
363{"time": 1788596835.882774, "direction": "request", "command": 5, "message": 242}
364{"time": 1788596835.882785, "direction": "request", "command": 17, "message": 243}
365{"time": 1788596835.882794, "direction": "request", "command": 6, "message": 244}
366{"time": 1788596835.883372, "direction": "response", "command": 5, "message": 242, "status": "0x0"}
367{"time": 1788596835.883383, "direction": "response", "command": 17, "message": 243, "status": "0x0"}
368{"time": 1788596835.883391, "direction": "response", "command": 6, "message": 244, "status": "0x0"}
369{"time": 1788596835.8835561, "direction": "request", "command": 5, "message": 245}
370{"time": 1788596835.8835661, "direction": "request", "command": 8, "message": 246, "length": 64, "offset": 0}
371{"time": 1788596835.883575, "direction": "request", "command": 6, "message": 247}
372{"time": 1788596835.884284, "direction": "response", "command": 5, "message": 245, "status": "0x0"}
373{"time": 1788596835.884296, "direction": "response", "command": 8, "message": 246, "status": "0x0"}
374{"time": 1788596835.884305, "direction": "response", "command": 6, "message": 247, "status": "0x0"}
375{"time": 1788596835.8950741, "control": {"mode": "up", "cut": 7, "occurrence": 1}}
376{"time": 1788596836.267212, "direction": "request", "command": 5, "message": 248}
377{"time": 1788596836.2673762, "direction": "request", "command": 14, "message": 249}
378{"time": 1788596836.2674098, "direction": "request", "command": 6, "message": 250}
379{"time": 1788596836.268703, "direction": "response", "command": 5, "message": 248, "status": "0x0"}
380{"time": 1788596836.2687821, "direction": "response", "command": 14, "message": 249, "status": "0x0"}
381{"time": 1788596836.2688031, "direction": "response", "command": 6, "message": 250, "status": "0x0"}
382{"time": 1788596840.815815, "direction": "request", "command": 15, "message": 251}
383{"time": 1788596840.81712, "direction": "response", "command": 15, "message": 251, "status": "0xc0000128"}
384{"time": 1788596852.0828722, "direction": "request", "command": 5, "message": 252}
385{"time": 1788596852.082936, "direction": "request", "command": 14, "message": 253}
386{"time": 1788596852.082953, "direction": "request", "command": 6, "message": 254}
387{"time": 1788596852.08429, "direction": "response", "command": 5, "message": 252, "status": "0x0"}
388{"time": 1788596852.084308, "direction": "response", "command": 14, "message": 253, "status": "0x0"}
389{"time": 1788596852.084322, "direction": "response", "command": 6, "message": 254, "status": "0x0"}
390{"time": 1788596852.084469, "direction": "request", "command": 5, "message": 255}
391{"time": 1788596852.0844831, "direction": "request", "command": 14, "message": 256}
392{"time": 1788596852.0844932, "direction": "request", "command": 6, "message": 257}
393{"time": 1788596852.085145, "direction": "response", "command": 5, "message": 255, "status": "0x0"}
394{"time": 1788596852.0851588, "direction": "response", "command": 14, "message": 256, "status": "0x0"}
395{"time": 1788596852.08517, "direction": "response", "command": 6, "message": 257, "status": "0x0"}
396{"time": 1788596852.0853472, "direction": "request", "command": 6, "message": 258}
397{"time": 1788596852.085727, "direction": "response", "command": 6, "message": 258, "status": "0x0"}
398{"time": 1788596852.085851, "direction": "request", "command": 5, "message": 259}
399{"time": 1788596852.086438, "direction": "response", "command": 5, "message": 259, "status": "0x0"}
400{"time": 1788596852.086581, "direction": "request", "command": 16, "message": 260}
401{"time": 1788596852.0869691, "direction": "response", "command": 16, "message": 260, "status": "0x0"}
402{"time": 1788596852.087104, "direction": "request", "command": 5, "message": 261}
403{"time": 1788596852.08762, "direction": "response", "command": 5, "message": 261, "status": "0x0"}
404{"time": 1788596852.087734, "direction": "request", "command": 10, "message": 262, "locks": [[0, 18446744073709551615, 18]]}
405{"time": 1788596852.088133, "direction": "response", "command": 10, "message": 262, "status": "0x0"}
406{"time": 1788596852.088268, "direction": "request", "command": 10, "message": 263, "locks": [[0, 18446744073709551615, 4]]}
407{"time": 1788596852.088591, "direction": "response", "command": 10, "message": 263, "status": "0x0"}
408{"time": 1788596852.088691, "direction": "request", "command": 6, "message": 264}
409{"time": 1788596852.0890172, "direction": "response", "command": 6, "message": 264, "status": "0x0"}
410{"time": 1788596852.0895748, "direction": "request", "command": 6, "message": 265}
411{"time": 1788596852.089941, "direction": "response", "command": 6, "message": 265, "status": "0x0"}
412{"time": 1788596852.090056, "direction": "request", "command": 5, "message": 266}
413{"time": 1788596852.090595, "direction": "response", "command": 5, "message": 266, "status": "0x0"}
414{"time": 1788596852.0907068, "direction": "request", "command": 5, "message": 267}
415{"time": 1788596852.0907168, "direction": "request", "command": 8, "message": 268, "length": 64, "offset": 0}
416{"time": 1788596852.0907252, "direction": "request", "command": 6, "message": 269}
417{"time": 1788596852.091358, "direction": "response", "command": 5, "message": 267, "status": "0x0"}
418{"time": 1788596852.091367, "direction": "response", "command": 8, "message": 268, "status": "0x0"}
419{"time": 1788596852.0913742, "direction": "response", "command": 6, "message": 269, "status": "0x0"}
420{"time": 1788596852.0914922, "direction": "request", "command": 5, "message": 270}
421{"time": 1788596852.0919738, "direction": "response", "command": 5, "message": 270, "status": "0x0"}
422{"time": 1788596852.092103, "direction": "request", "command": 10, "message": 271, "locks": [[0, 18446744073709551615, 18]]}
423{"time": 1788596852.092434, "direction": "response", "command": 10, "message": 271, "status": "0x0"}
424{"time": 1788596852.092918, "direction": "request", "command": 9, "message": 272, "length": 4784, "offset": 0, "transactions": 1}
425{"time": 1788596852.093438, "direction": "response", "command": 9, "message": 272, "status": "0x0"}
426{"time": 1788596852.093545, "direction": "request", "command": 7, "message": 273}
427{"time": 1788596852.095024, "direction": "response", "command": 7, "message": 273, "status": "0x103"}
428{"time": 1788596852.102499, "direction": "response", "command": 7, "message": 273, "status": "0x0"}
429{"time": 1788596852.10252, "cut": {"direction": "response", "command": 7, "message": 273, "status": "0x0"}}
430{"time": 1788596990.199491, "control": {"mode": "up", "run": 2}}
431{"time": 1788596990.200674, "direction": "request", "command": 0, "message": 0}
432{"time": 1788596990.2034822, "direction": "response", "command": 0, "message": 0, "status": "0x0"}
433{"time": 1788596990.230218, "direction": "request", "command": 1, "message": 1}
434{"time": 1788596990.2309299, "direction": "response", "command": 1, "message": 1, "status": "0xc0000016"}
435{"time": 1788596990.231947, "direction": "request", "command": 1, "message": 2}
436{"time": 1788596990.2345312, "direction": "response", "command": 1, "message": 2, "status": "0x0"}
437{"time": 1788596990.234638, "direction": "request", "command": 3, "message": 3}
438{"time": 1788596990.250109, "direction": "response", "command": 3, "message": 3, "status": "0x0"}
439{"time": 1788596990.25027, "direction": "request", "command": 5, "message": 4}
440{"time": 1788596990.250284, "direction": "request", "command": 6, "message": 5}
441{"time": 1788596990.250889, "direction": "response", "command": 5, "message": 4, "status": "0x0"}
442{"time": 1788596990.250901, "direction": "response", "command": 6, "message": 5, "status": "0x0"}
443{"time": 1788596990.251123, "direction": "request", "command": 5, "message": 6}
444{"time": 1788596990.2515771, "direction": "response", "command": 5, "message": 6, "status": "0xc0000034"}
445{"time": 1788596990.2516558, "direction": "request", "command": 5, "message": 7}
446{"time": 1788596990.25204, "direction": "response", "command": 5, "message": 7, "status": "0xc0000034"}
447{"time": 1788596990.8390532, "direction": "request", "command": 15, "message": 8}
448{"time": 1788596990.839582, "direction": "response", "command": 15, "message": 8, "status": "0xc0000128"}
449{"time": 1788597097.911454, "control": {"mode": "up", "cut": 7, "occurrence": 5}}
450{"time": 1788597097.9196749, "direction": "request", "command": 5, "message": 9}
451{"time": 1788597097.9197, "direction": "request", "command": 16, "message": 10}
452{"time": 1788597097.91971, "direction": "request", "command": 6, "message": 11}
453{"time": 1788597097.92048, "direction": "response", "command": 5, "message": 9, "status": "0x0"}
454{"time": 1788597097.9204931, "direction": "response", "command": 16, "message": 10, "status": "0x0"}
455{"time": 1788597097.920501, "direction": "response", "command": 6, "message": 11, "status": "0x0"}
456{"time": 1788597097.920633, "direction": "request", "command": 5, "message": 12}
457{"time": 1788597097.9206421, "direction": "request", "command": 14, "message": 13}
458{"time": 1788597097.92065, "direction": "request", "command": 6, "message": 14}
459{"time": 1788597097.9215128, "direction": "response", "command": 5, "message": 12, "status": "0x0"}
460{"time": 1788597097.9215229, "direction": "response", "command": 14, "message": 13, "status": "0x0"}
461{"time": 1788597097.92153, "direction": "response", "command": 6, "message": 14, "status": "0x0"}
462{"time": 1788597097.921654, "direction": "request", "command": 5, "message": 15}
463{"time": 1788597097.921663, "direction": "request", "command": 14, "message": 16}
464{"time": 1788597097.921669, "direction": "request", "command": 6, "message": 17}
465{"time": 1788597097.9223628, "direction": "response", "command": 5, "message": 15, "status": "0x0"}
466{"time": 1788597097.922373, "direction": "response", "command": 14, "message": 16, "status": "0x0"}
467{"time": 1788597097.922379, "direction": "response", "command": 6, "message": 17, "status": "0x0"}
468{"time": 1788597097.922508, "direction": "request", "command": 5, "message": 18}
469{"time": 1788597097.922517, "direction": "request", "command": 14, "message": 19}
470{"time": 1788597097.9225228, "direction": "request", "command": 6, "message": 20}
471{"time": 1788597097.923136, "direction": "response", "command": 5, "message": 18, "status": "0x0"}
472{"time": 1788597097.923145, "direction": "response", "command": 14, "message": 19, "status": "0x0"}
473{"time": 1788597097.923152, "direction": "response", "command": 6, "message": 20, "status": "0x0"}
474{"time": 1788597097.923296, "direction": "request", "command": 5, "message": 21}
475{"time": 1788597097.9240162, "direction": "response", "command": 5, "message": 21, "status": "0x0"}
476{"time": 1788597097.924135, "direction": "request", "command": 16, "message": 22}
477{"time": 1788597097.924494, "direction": "response", "command": 16, "message": 22, "status": "0x0"}
478{"time": 1788597097.924614, "direction": "request", "command": 5, "message": 23}
479{"time": 1788597097.925426, "direction": "response", "command": 5, "message": 23, "status": "0x0"}
480{"time": 1788597097.9255629, "direction": "request", "command": 10, "message": 24, "locks": [[0, 18446744073709551615, 18]]}
481{"time": 1788597097.926087, "direction": "response", "command": 10, "message": 24, "status": "0x0"}
482{"time": 1788597097.926219, "direction": "request", "command": 16, "message": 25}
483{"time": 1788597097.9266508, "direction": "response", "command": 16, "message": 25, "status": "0x0"}
484{"time": 1788597097.926816, "direction": "request", "command": 8, "message": 26, "length": 3348, "offset": 0}
485{"time": 1788597097.927356, "direction": "response", "command": 8, "message": 26, "status": "0x0"}
486{"time": 1788597097.927493, "direction": "request", "command": 10, "message": 27, "locks": [[0, 18446744073709551615, 4]]}
487{"time": 1788597097.927831, "direction": "response", "command": 10, "message": 27, "status": "0x0"}
488{"time": 1788597097.9279401, "direction": "request", "command": 6, "message": 28}
489{"time": 1788597097.9282901, "direction": "response", "command": 6, "message": 28, "status": "0x0"}
490{"time": 1788597097.9286342, "direction": "request", "command": 6, "message": 29}
491{"time": 1788597097.92904, "direction": "response", "command": 6, "message": 29, "status": "0x0"}
492{"time": 1788597097.929172, "direction": "request", "command": 5, "message": 30}
493{"time": 1788597097.929704, "direction": "response", "command": 5, "message": 30, "status": "0x0"}
494{"time": 1788597097.9298282, "direction": "request", "command": 5, "message": 31}
495{"time": 1788597097.929837, "direction": "request", "command": 8, "message": 32, "length": 64, "offset": 0}
496{"time": 1788597097.929845, "direction": "request", "command": 6, "message": 33}
497{"time": 1788597097.930536, "direction": "response", "command": 5, "message": 31, "status": "0x0"}
498{"time": 1788597097.9305449, "direction": "response", "command": 8, "message": 32, "status": "0x0"}
499{"time": 1788597097.930551, "direction": "response", "command": 6, "message": 33, "status": "0x0"}
500{"time": 1788597097.9306722, "direction": "request", "command": 5, "message": 34}
501{"time": 1788597097.931146, "direction": "response", "command": 5, "message": 34, "status": "0x0"}
502{"time": 1788597097.931262, "direction": "request", "command": 10, "message": 35, "locks": [[0, 18446744073709551615, 18]]}
503{"time": 1788597097.931602, "direction": "response", "command": 10, "message": 35, "status": "0x0"}
504{"time": 1788597097.932076, "direction": "request", "command": 9, "message": 36, "length": 4800, "offset": 0, "transactions": 1}
505{"time": 1788597097.9325771, "direction": "response", "command": 9, "message": 36, "status": "0x0"}
506{"time": 1788597097.932696, "direction": "request", "command": 7, "message": 37}
507{"time": 1788597097.934089, "direction": "response", "command": 7, "message": 37, "status": "0x103"}
508{"time": 1788597097.945364, "direction": "response", "command": 7, "message": 37, "status": "0x0"}
509{"time": 1788597097.9455411, "direction": "request", "command": 7, "message": 38}
510{"time": 1788597097.946035, "direction": "response", "command": 7, "message": 38, "status": "0x0"}
511{"time": 1788597097.946199, "direction": "request", "command": 9, "message": 39, "length": 4800, "offset": 0, "transactions": 1}
512{"time": 1788597097.9467032, "direction": "response", "command": 9, "message": 39, "status": "0x0"}
513{"time": 1788597097.946827, "direction": "request", "command": 7, "message": 40}
514{"time": 1788597097.948259, "direction": "response", "command": 7, "message": 40, "status": "0x103"}
515{"time": 1788597097.9586291, "direction": "response", "command": 7, "message": 40, "status": "0x0"}
516{"time": 1788597097.95882, "direction": "request", "command": 7, "message": 41}
517{"time": 1788597097.959311, "direction": "response", "command": 7, "message": 41, "status": "0x0"}
518{"time": 1788597097.959487, "direction": "request", "command": 9, "message": 42, "length": 4800, "offset": 0, "transactions": 2}
519{"time": 1788597097.96, "direction": "response", "command": 9, "message": 42, "status": "0x0"}
520{"time": 1788597097.960138, "direction": "request", "command": 7, "message": 43}
521{"time": 1788597097.961529, "direction": "response", "command": 7, "message": 43, "status": "0x103"}
522{"time": 1788597097.969268, "direction": "response", "command": 7, "message": 43, "status": "0x0"}
523{"time": 1788597097.969293, "cut": {"direction": "response", "command": 7, "message": 43, "status": "0x0"}}
524{"time": 1788597112.334699, "control": {"mode": "up", "run": 3}}
525{"time": 1788597112.3361301, "direction": "request", "command": 0, "message": 0}
526{"time": 1788597112.339016, "direction": "response", "command": 0, "message": 0, "status": "0x0"}
527{"time": 1788597112.356815, "direction": "request", "command": 1, "message": 1}
528{"time": 1788597112.357676, "direction": "response", "command": 1, "message": 1, "status": "0xc0000016"}
529{"time": 1788597112.358426, "direction": "request", "command": 1, "message": 2}
530{"time": 1788597112.360981, "direction": "response", "command": 1, "message": 2, "status": "0x0"}
531{"time": 1788597112.361074, "direction": "request", "command": 3, "message": 3}
532{"time": 1788597112.376659, "direction": "response", "command": 3, "message": 3, "status": "0x0"}
533{"time": 1788597112.376792, "direction": "request", "command": 5, "message": 4}
534{"time": 1788597112.376807, "direction": "request", "command": 6, "message": 5}
535{"time": 1788597112.37741, "direction": "response", "command": 5, "message": 4, "status": "0x0"}
536{"time": 1788597112.377426, "direction": "response", "command": 6, "message": 5, "status": "0x0"}
537{"time": 1788597112.37765, "direction": "request", "command": 5, "message": 6}
538{"time": 1788597112.378347, "direction": "response", "command": 5, "message": 6, "status": "0xc0000034"}
539{"time": 1788597112.591533, "direction": "request", "command": 5, "message": 7}
540{"time": 1788597112.591583, "direction": "request", "command": 14, "message": 8}
541{"time": 1788597112.5916002, "direction": "request", "command": 6, "message": 9}
542{"time": 1788597112.592694, "direction": "response", "command": 5, "message": 7, "status": "0x0"}
543{"time": 1788597112.5927181, "direction": "response", "command": 14, "message": 8, "status": "0x0"}
544{"time": 1788597112.5927281, "direction": "response", "command": 6, "message": 9, "status": "0x0"}
545{"time": 1788597146.110676, "control": {"mode": "up", "cut": 7, "occurrence": 7}}
546{"time": 1788597146.118313, "direction": "request", "command": 5, "message": 10}
547{"time": 1788597146.118352, "direction": "request", "command": 16, "message": 11}
548{"time": 1788597146.118363, "direction": "request", "command": 6, "message": 12}
549{"time": 1788597146.1191502, "direction": "response", "command": 5, "message": 10, "status": "0x0"}
550{"time": 1788597146.119166, "direction": "response", "command": 16, "message": 11, "status": "0x0"}
551{"time": 1788597146.119178, "direction": "response", "command": 6, "message": 12, "status": "0x0"}
552{"time": 1788597146.119358, "direction": "request", "command": 5, "message": 13}
553{"time": 1788597146.119371, "direction": "request", "command": 14, "message": 14}
554{"time": 1788597146.1193779, "direction": "request", "command": 6, "message": 15}
555{"time": 1788597146.120053, "direction": "response", "command": 5, "message": 13, "status": "0x0"}
556{"time": 1788597146.120063, "direction": "response", "command": 14, "message": 14, "status": "0x0"}
557{"time": 1788597146.120071, "direction": "response", "command": 6, "message": 15, "status": "0x0"}
558{"time": 1788597146.120223, "direction": "request", "command": 5, "message": 16}
559{"time": 1788597146.1202319, "direction": "request", "command": 14, "message": 17}
560{"time": 1788597146.120239, "direction": "request", "command": 6, "message": 18}
561{"time": 1788597146.12096, "direction": "response", "command": 5, "message": 16, "status": "0x0"}
562{"time": 1788597146.120969, "direction": "response", "command": 14, "message": 17, "status": "0x0"}
563{"time": 1788597146.120976, "direction": "response", "command": 6, "message": 18, "status": "0x0"}
564{"time": 1788597146.121137, "direction": "request", "command": 5, "message": 19}
565{"time": 1788597146.1211462, "direction": "request", "command": 14, "message": 20}
566{"time": 1788597146.121152, "direction": "request", "command": 6, "message": 21}
567{"time": 1788597146.121918, "direction": "response", "command": 5, "message": 19, "status": "0x0"}
568{"time": 1788597146.121928, "direction": "response", "command": 14, "message": 20, "status": "0x0"}
569{"time": 1788597146.1219351, "direction": "response", "command": 6, "message": 21, "status": "0x0"}
570{"time": 1788597146.122135, "direction": "request", "command": 5, "message": 22}
571{"time": 1788597146.1231859, "direction": "response", "command": 5, "message": 22, "status": "0x0"}
572{"time": 1788597146.123358, "direction": "request", "command": 16, "message": 23}
573{"time": 1788597146.1238039, "direction": "response", "command": 16, "message": 23, "status": "0x0"}
574{"time": 1788597146.123966, "direction": "request", "command": 5, "message": 24}
575{"time": 1788597146.124553, "direction": "response", "command": 5, "message": 24, "status": "0x0"}
576{"time": 1788597146.124694, "direction": "request", "command": 10, "message": 25, "locks": [[0, 18446744073709551615, 18]]}
577{"time": 1788597146.125215, "direction": "response", "command": 10, "message": 25, "status": "0x0"}
578{"time": 1788597146.125376, "direction": "request", "command": 16, "message": 26}
579{"time": 1788597146.125888, "direction": "response", "command": 16, "message": 26, "status": "0x0"}
580{"time": 1788597146.1261241, "direction": "request", "command": 8, "message": 27, "length": 111640, "offset": 0}
581{"time": 1788597146.129089, "direction": "response", "command": 8, "message": 27, "status": "0x0"}
582{"time": 1788597146.129372, "direction": "request", "command": 10, "message": 29, "locks": [[0, 18446744073709551615, 4]]}
583{"time": 1788597146.12983, "direction": "response", "command": 10, "message": 29, "status": "0x0"}
584{"time": 1788597146.129972, "direction": "request", "command": 6, "message": 30}
585{"time": 1788597146.130374, "direction": "response", "command": 6, "message": 30, "status": "0x0"}
586{"time": 1788597146.1339068, "direction": "request", "command": 6, "message": 31}
587{"time": 1788597146.134444, "direction": "response", "command": 6, "message": 31, "status": "0x0"}
588{"time": 1788597146.134611, "direction": "request", "command": 5, "message": 32}
589{"time": 1788597146.1352088, "direction": "response", "command": 5, "message": 32, "status": "0x0"}
590{"time": 1788597146.1353679, "direction": "request", "command": 5, "message": 33}
591{"time": 1788597146.135377, "direction": "request", "command": 8, "message": 34, "length": 64, "offset": 0}
592{"time": 1788597146.135385, "direction": "request", "command": 6, "message": 35}
593{"time": 1788597146.136214, "direction": "response", "command": 5, "message": 33, "status": "0x0"}
594{"time": 1788597146.136223, "direction": "response", "command": 8, "message": 34, "status": "0x0"}
595{"time": 1788597146.136228, "direction": "response", "command": 6, "message": 35, "status": "0x0"}
596{"time": 1788597146.136398, "direction": "request", "command": 5, "message": 36}
597{"time": 1788597146.137014, "direction": "response", "command": 5, "message": 36, "status": "0x0"}
598{"time": 1788597146.137166, "direction": "request", "command": 10, "message": 37, "locks": [[0, 18446744073709551615, 18]]}
599{"time": 1788597146.137558, "direction": "response", "command": 10, "message": 37, "status": "0x0"}
600{"time": 1788597146.14624, "direction": "request", "command": 9, "message": 38, "length": 15792, "offset": 98304}
601{"time": 1788597146.1470678, "direction": "response", "command": 9, "message": 38, "status": "0x0"}
602{"time": 1788597146.1472378, "direction": "request", "command": 7, "message": 39}
603{"time": 1788597146.1487622, "direction": "response", "command": 7, "message": 39, "status": "0x103"}
604{"time": 1788597146.171916, "direction": "response", "command": 7, "message": 39, "status": "0x0"}
605{"time": 1788597146.1721148, "direction": "request", "command": 7, "message": 40}
606{"time": 1788597146.172704, "direction": "response", "command": 7, "message": 40, "status": "0x0"}
607{"time": 1788597146.172941, "direction": "request", "command": 9, "message": 41, "length": 16384, "offset": 0, "transactions": 255}
608{"time": 1788597146.1737149, "direction": "response", "command": 9, "message": 41, "status": "0x0"}
609{"time": 1788597146.17388, "direction": "request", "command": 7, "message": 42}
610{"time": 1788597146.1753678, "direction": "response", "command": 7, "message": 42, "status": "0x103"}
611{"time": 1788597146.1873732, "direction": "response", "command": 7, "message": 42, "status": "0x0"}
612{"time": 1788597146.187534, "direction": "request", "command": 7, "message": 43}
613{"time": 1788597146.1880891, "direction": "response", "command": 7, "message": 43, "status": "0x0"}
614{"time": 1788597146.1883252, "direction": "request", "command": 9, "message": 44, "length": 16384, "offset": 0, "transactions": 511}
615{"time": 1788597146.1891148, "direction": "response", "command": 9, "message": 44, "status": "0x0"}
616{"time": 1788597146.189273, "direction": "request", "command": 7, "message": 45}
617{"time": 1788597146.190787, "direction": "response", "command": 7, "message": 45, "status": "0x103"}
618{"time": 1788597146.201043, "direction": "response", "command": 7, "message": 45, "status": "0x0"}
619{"time": 1788597146.201206, "direction": "request", "command": 7, "message": 46}
620{"time": 1788597146.2017422, "direction": "response", "command": 7, "message": 46, "status": "0x0"}
621{"time": 1788597146.201958, "direction": "request", "command": 9, "message": 47, "length": 16384, "offset": 0, "transactions": 256}
622{"time": 1788597146.202718, "direction": "response", "command": 9, "message": 47, "status": "0x0"}
623{"time": 1788597146.2028842, "direction": "request", "command": 7, "message": 48}
624{"time": 1788597146.204403, "direction": "response", "command": 7, "message": 48, "status": "0x103"}
625{"time": 1788597146.2136042, "direction": "response", "command": 7, "message": 48, "status": "0x0"}
626{"time": 1788597146.213614, "cut": {"direction": "response", "command": 7, "message": 48, "status": "0x0"}}
627{"time": 1788620541.257727, "control": {"mode": "up", "run": 4}}
corpus/collaboration/round-01/smb-success.jsonl created+185
...@@ -0,0 +1,185 @@
1{"time": 1788596642.322161, "listening": 11445}
2{"time": 1788596643.459317, "direction": "response", "command": 0, "message": 0, "status": "0x0"}
3{"time": 1788596643.459601, "direction": "request", "command": 0, "message": 1}
4{"time": 1788596643.460313, "direction": "response", "command": 0, "message": 1, "status": "0x0"}
5{"time": 1788596643.524991, "direction": "request", "command": 1, "message": 2}
6{"time": 1788596643.525923, "direction": "response", "command": 1, "message": 2, "status": "0xc0000016"}
7{"time": 1788596643.5271392, "direction": "request", "command": 1, "message": 3}
8{"time": 1788596643.529094, "direction": "response", "command": 1, "message": 3, "status": "0x0"}
9{"time": 1788596643.5300171, "direction": "request", "command": 3, "message": 4}
10{"time": 1788596643.545954, "direction": "response", "command": 3, "message": 4, "status": "0x0"}
11{"time": 1788596643.702154, "direction": "request", "command": 5, "message": 5}
12{"time": 1788596643.702209, "direction": "request", "command": 16, "message": 6}
13{"time": 1788596643.702228, "direction": "request", "command": 6, "message": 7}
14{"time": 1788596643.7037492, "direction": "response", "command": 5, "message": 5, "status": "0x0"}
15{"time": 1788596643.7037702, "direction": "response", "command": 16, "message": 6, "status": "0x0"}
16{"time": 1788596643.7037818, "direction": "response", "command": 6, "message": 7, "status": "0x0"}
17{"time": 1788596643.70399, "direction": "request", "command": 5, "message": 8}
18{"time": 1788596643.704005, "direction": "request", "command": 16, "message": 9}
19{"time": 1788596643.704015, "direction": "request", "command": 6, "message": 10}
20{"time": 1788596643.704721, "direction": "response", "command": 5, "message": 8, "status": "0x0"}
21{"time": 1788596643.704735, "direction": "response", "command": 16, "message": 9, "status": "0x0"}
22{"time": 1788596643.7047439, "direction": "response", "command": 6, "message": 10, "status": "0x0"}
23{"time": 1788596643.704912, "direction": "request", "command": 5, "message": 11}
24{"time": 1788596643.7049239, "direction": "request", "command": 16, "message": 12}
25{"time": 1788596643.7049322, "direction": "request", "command": 6, "message": 13}
26{"time": 1788596643.705508, "direction": "response", "command": 5, "message": 11, "status": "0x0"}
27{"time": 1788596643.7055209, "direction": "response", "command": 16, "message": 12, "status": "0x0"}
28{"time": 1788596643.705529, "direction": "response", "command": 6, "message": 13, "status": "0x0"}
29{"time": 1788596643.705715, "direction": "request", "command": 5, "message": 14}
30{"time": 1788596643.7057269, "direction": "request", "command": 11, "message": 15}
31{"time": 1788596643.705735, "direction": "request", "command": 6, "message": 16}
32{"time": 1788596643.7062871, "direction": "response", "command": 5, "message": 14, "status": "0x0"}
33{"time": 1788596643.7062988, "direction": "response", "command": 11, "message": 15, "status": "0x0"}
34{"time": 1788596643.7063081, "direction": "response", "command": 6, "message": 16, "status": "0x0"}
35{"time": 1788596643.706497, "direction": "request", "command": 5, "message": 17}
36{"time": 1788596643.706514, "direction": "request", "command": 16, "message": 18}
37{"time": 1788596643.706524, "direction": "request", "command": 6, "message": 19}
38{"time": 1788596643.706547, "direction": "request", "command": 15, "message": 20}
39{"time": 1788596643.707222, "direction": "response", "command": 5, "message": 17, "status": "0x0"}
40{"time": 1788596643.7072341, "direction": "response", "command": 16, "message": 18, "status": "0x0"}
41{"time": 1788596643.707244, "direction": "response", "command": 6, "message": 19, "status": "0x0"}
42{"time": 1788596643.7072651, "direction": "response", "command": 15, "message": 20, "status": "0xc0000128"}
43{"time": 1788596643.7110121, "direction": "request", "command": 5, "message": 21}
44{"time": 1788596643.7110422, "direction": "request", "command": 8, "message": 22, "length": 60, "offset": 0}
45{"time": 1788596643.711055, "direction": "request", "command": 6, "message": 23}
46{"time": 1788596643.7118561, "direction": "response", "command": 5, "message": 21, "status": "0xc0000034"}
47{"time": 1788596643.711905, "direction": "response", "command": 8, "message": 22, "status": "0xc0000034"}
48{"time": 1788596643.711918, "direction": "response", "command": 6, "message": 23, "status": "0xc0000034"}
49{"time": 1788596643.7129269, "direction": "request", "command": 5, "message": 24}
50{"time": 1788596643.712957, "direction": "request", "command": 6, "message": 25}
51{"time": 1788596643.713665, "direction": "response", "command": 5, "message": 24, "status": "0x0"}
52{"time": 1788596643.7136798, "direction": "response", "command": 6, "message": 25, "status": "0x0"}
53{"time": 1788596643.7179441, "direction": "request", "command": 5, "message": 26}
54{"time": 1788596643.717964, "direction": "request", "command": 14, "message": 27}
55{"time": 1788596643.717972, "direction": "request", "command": 6, "message": 28}
56{"time": 1788596643.7187111, "direction": "response", "command": 5, "message": 26, "status": "0x0"}
57{"time": 1788596643.718731, "direction": "response", "command": 14, "message": 27, "status": "0xc000000f"}
58{"time": 1788596643.71874, "direction": "response", "command": 6, "message": 28, "status": "0x0"}
59{"time": 1788596643.719701, "direction": "request", "command": 5, "message": 29}
60{"time": 1788596643.719717, "direction": "request", "command": 14, "message": 30}
61{"time": 1788596643.7197251, "direction": "request", "command": 6, "message": 31}
62{"time": 1788596643.7203462, "direction": "response", "command": 5, "message": 29, "status": "0x0"}
63{"time": 1788596643.720358, "direction": "response", "command": 14, "message": 30, "status": "0xc000000f"}
64{"time": 1788596643.720366, "direction": "response", "command": 6, "message": 31, "status": "0x0"}
65{"time": 1788596643.720575, "direction": "request", "command": 5, "message": 32}
66{"time": 1788596643.720584, "direction": "request", "command": 14, "message": 33}
67{"time": 1788596643.72059, "direction": "request", "command": 6, "message": 34}
68{"time": 1788596643.721225, "direction": "response", "command": 5, "message": 32, "status": "0x0"}
69{"time": 1788596643.721235, "direction": "response", "command": 14, "message": 33, "status": "0xc000000f"}
70{"time": 1788596643.721241, "direction": "response", "command": 6, "message": 34, "status": "0x0"}
71{"time": 1788596643.7214148, "direction": "request", "command": 5, "message": 35}
72{"time": 1788596643.7214231, "direction": "request", "command": 14, "message": 36}
73{"time": 1788596643.721429, "direction": "request", "command": 6, "message": 37}
74{"time": 1788596643.721952, "direction": "response", "command": 5, "message": 35, "status": "0x0"}
75{"time": 1788596643.721961, "direction": "response", "command": 14, "message": 36, "status": "0xc000000f"}
76{"time": 1788596643.7219672, "direction": "response", "command": 6, "message": 37, "status": "0x0"}
77{"time": 1788596643.72212, "direction": "request", "command": 5, "message": 38}
78{"time": 1788596643.722128, "direction": "request", "command": 14, "message": 39}
79{"time": 1788596643.722134, "direction": "request", "command": 6, "message": 40}
80{"time": 1788596643.722678, "direction": "response", "command": 5, "message": 38, "status": "0x0"}
81{"time": 1788596643.72269, "direction": "response", "command": 14, "message": 39, "status": "0xc000000f"}
82{"time": 1788596643.722697, "direction": "response", "command": 6, "message": 40, "status": "0x0"}
83{"time": 1788596657.975753, "direction": "request", "command": 5, "message": 41}
84{"time": 1788596657.975786, "direction": "request", "command": 14, "message": 42}
85{"time": 1788596657.9757938, "direction": "request", "command": 6, "message": 43}
86{"time": 1788596657.976853, "direction": "response", "command": 5, "message": 41, "status": "0x0"}
87{"time": 1788596657.976863, "direction": "response", "command": 14, "message": 42, "status": "0x0"}
88{"time": 1788596657.976869, "direction": "response", "command": 6, "message": 43, "status": "0x0"}
89{"time": 1788596657.9770591, "direction": "request", "command": 5, "message": 44}
90{"time": 1788596657.977067, "direction": "request", "command": 14, "message": 45}
91{"time": 1788596657.977073, "direction": "request", "command": 6, "message": 46}
92{"time": 1788596657.977941, "direction": "response", "command": 5, "message": 44, "status": "0x0"}
93{"time": 1788596657.977949, "direction": "response", "command": 14, "message": 45, "status": "0x0"}
94{"time": 1788596657.977955, "direction": "response", "command": 6, "message": 46, "status": "0x0"}
95{"time": 1788596657.978118, "direction": "request", "command": 5, "message": 47}
96{"time": 1788596657.9781241, "direction": "request", "command": 14, "message": 48}
97{"time": 1788596657.978129, "direction": "request", "command": 6, "message": 49}
98{"time": 1788596657.9789271, "direction": "response", "command": 5, "message": 47, "status": "0x0"}
99{"time": 1788596657.978935, "direction": "response", "command": 14, "message": 48, "status": "0x0"}
100{"time": 1788596657.97894, "direction": "response", "command": 6, "message": 49, "status": "0x0"}
101{"time": 1788596657.979126, "direction": "request", "command": 5, "message": 50}
102{"time": 1788596657.980051, "direction": "response", "command": 5, "message": 50, "status": "0x0"}
103{"time": 1788596657.9802299, "direction": "request", "command": 16, "message": 51}
104{"time": 1788596657.980719, "direction": "response", "command": 16, "message": 51, "status": "0x0"}
105{"time": 1788596657.9808671, "direction": "request", "command": 16, "message": 52}
106{"time": 1788596657.981366, "direction": "response", "command": 16, "message": 52, "status": "0x0"}
107{"time": 1788596657.981566, "direction": "request", "command": 8, "message": 53, "length": 10608, "offset": 0}
108{"time": 1788596657.982351, "direction": "response", "command": 8, "message": 53, "status": "0x0"}
109{"time": 1788596657.98284, "direction": "request", "command": 6, "message": 54}
110{"time": 1788596657.983326, "direction": "response", "command": 6, "message": 54, "status": "0x0"}
111{"time": 1788596657.983478, "direction": "request", "command": 5, "message": 55}
112{"time": 1788596657.984164, "direction": "response", "command": 5, "message": 55, "status": "0x0"}
113{"time": 1788596657.984324, "direction": "request", "command": 5, "message": 56}
114{"time": 1788596657.984332, "direction": "request", "command": 8, "message": 57, "length": 64, "offset": 0}
115{"time": 1788596657.9843378, "direction": "request", "command": 6, "message": 58}
116{"time": 1788596657.98513, "direction": "response", "command": 5, "message": 56, "status": "0x0"}
117{"time": 1788596657.985137, "direction": "response", "command": 8, "message": 57, "status": "0x0"}
118{"time": 1788596657.985143, "direction": "response", "command": 6, "message": 58, "status": "0x0"}
119{"time": 1788596657.9852958, "direction": "request", "command": 5, "message": 59}
120{"time": 1788596657.985934, "direction": "response", "command": 5, "message": 59, "status": "0x0"}
121{"time": 1788596657.986092, "direction": "request", "command": 10, "message": 60, "locks": [[0, 18446744073709551615, 18]]}
122{"time": 1788596657.986513, "direction": "response", "command": 10, "message": 60, "status": "0x0"}
123{"time": 1788596657.987117, "direction": "request", "command": 9, "message": 61, "length": 11032, "offset": 0}
124{"time": 1788596657.987828, "direction": "response", "command": 9, "message": 61, "status": "0x0"}
125{"time": 1788596657.988062, "direction": "request", "command": 7, "message": 62}
126{"time": 1788596657.989613, "direction": "response", "command": 7, "message": 62, "status": "0x103"}
127{"time": 1788596658.041591, "direction": "response", "command": 7, "message": 62, "status": "0x0"}
128{"time": 1788596658.041806, "direction": "request", "command": 7, "message": 63}
129{"time": 1788596658.0425558, "direction": "response", "command": 7, "message": 63, "status": "0x0"}
130{"time": 1788596658.0428128, "direction": "request", "command": 9, "message": 64, "length": 11032, "offset": 0}
131{"time": 1788596658.043593, "direction": "response", "command": 9, "message": 64, "status": "0x0"}
132{"time": 1788596658.0437891, "direction": "request", "command": 7, "message": 65}
133{"time": 1788596658.045302, "direction": "response", "command": 7, "message": 65, "status": "0x103"}
134{"time": 1788596658.060354, "direction": "response", "command": 7, "message": 65, "status": "0x0"}
135{"time": 1788596658.0606148, "direction": "request", "command": 7, "message": 66}
136{"time": 1788596658.061306, "direction": "response", "command": 7, "message": 66, "status": "0x0"}
137{"time": 1788596658.061534, "direction": "request", "command": 9, "message": 67, "length": 11032, "offset": 0}
138{"time": 1788596658.062328, "direction": "response", "command": 9, "message": 67, "status": "0x0"}
139{"time": 1788596658.062509, "direction": "request", "command": 7, "message": 68}
140{"time": 1788596658.06418, "direction": "response", "command": 7, "message": 68, "status": "0x103"}
141{"time": 1788596658.073554, "direction": "response", "command": 7, "message": 68, "status": "0x0"}
142{"time": 1788596658.073741, "direction": "request", "command": 7, "message": 69}
143{"time": 1788596658.074263, "direction": "response", "command": 7, "message": 69, "status": "0x0"}
144{"time": 1788596658.07441, "direction": "request", "command": 10, "message": 70, "locks": [[0, 18446744073709551615, 4]]}
145{"time": 1788596658.074871, "direction": "response", "command": 10, "message": 70, "status": "0x0"}
146{"time": 1788596658.0750148, "direction": "request", "command": 6, "message": 71}
147{"time": 1788596658.075412, "direction": "response", "command": 6, "message": 71, "status": "0x0"}
148{"time": 1788596658.709572, "direction": "request", "command": 15, "message": 72}
149{"time": 1788596658.710887, "direction": "response", "command": 15, "message": 72, "status": "0xc0000128"}
150{"time": 1788596673.71379, "direction": "request", "command": 15, "message": 73}
151{"time": 1788596673.7150478, "direction": "response", "command": 15, "message": 73, "status": "0xc0000128"}
152{"time": 1788596688.717846, "direction": "request", "command": 15, "message": 74}
153{"time": 1788596688.718818, "direction": "response", "command": 15, "message": 74, "status": "0xc0000128"}
154{"time": 1788596695.637965, "direction": "request", "command": 6, "message": 75}
155{"time": 1788596695.639402, "direction": "response", "command": 6, "message": 75, "status": "0x0"}
156{"time": 1788596703.720216, "direction": "request", "command": 15, "message": 76}
157{"time": 1788596703.721806, "direction": "response", "command": 15, "message": 76, "status": "0xc0000128"}
158{"time": 1788596727.719579, "direction": "request", "command": 5, "message": 77}
159{"time": 1788596727.7196622, "direction": "request", "command": 16, "message": 78}
160{"time": 1788596727.719687, "direction": "request", "command": 6, "message": 79}
161{"time": 1788596727.7207522, "direction": "response", "command": 5, "message": 77, "status": "0x0"}
162{"time": 1788596727.720813, "direction": "response", "command": 16, "message": 78, "status": "0x0"}
163{"time": 1788596727.720837, "direction": "response", "command": 6, "message": 79, "status": "0x0"}
164{"time": 1788596727.721025, "direction": "request", "command": 5, "message": 80}
165{"time": 1788596727.721066, "direction": "request", "command": 16, "message": 81}
166{"time": 1788596727.72109, "direction": "request", "command": 6, "message": 82}
167{"time": 1788596727.721766, "direction": "response", "command": 5, "message": 80, "status": "0x0"}
168{"time": 1788596727.721811, "direction": "response", "command": 16, "message": 81, "status": "0x0"}
169{"time": 1788596727.72183, "direction": "response", "command": 6, "message": 82, "status": "0x0"}
170{"time": 1788596794.3989592, "direction": "request", "command": 5, "message": 83}
171{"time": 1788596794.399014, "direction": "request", "command": 16, "message": 84}
172{"time": 1788596794.3990269, "direction": "request", "command": 6, "message": 85}
173{"time": 1788596794.400012, "direction": "response", "command": 5, "message": 83, "status": "0x0"}
174{"time": 1788596794.4000251, "direction": "response", "command": 16, "message": 84, "status": "0x0"}
175{"time": 1788596794.4000351, "direction": "response", "command": 6, "message": 85, "status": "0x0"}
176{"time": 1788596794.4002051, "direction": "request", "command": 5, "message": 86}
177{"time": 1788596794.400216, "direction": "request", "command": 16, "message": 87}
178{"time": 1788596794.400224, "direction": "request", "command": 6, "message": 88}
179{"time": 1788596794.401098, "direction": "response", "command": 5, "message": 86, "status": "0x0"}
180{"time": 1788596794.4011068, "direction": "response", "command": 16, "message": 87, "status": "0x0"}
181{"time": 1788596794.4011142, "direction": "response", "command": 6, "message": 88, "status": "0x0"}
182{"time": 1788596794.401372, "direction": "request", "command": 4, "message": 89}
183{"time": 1788596794.401824, "direction": "response", "command": 4, "message": 89, "status": "0x0"}
184{"time": 1788596794.401966, "direction": "request", "command": 2, "message": 90}
185{"time": 1788596794.4024022, "direction": "response", "command": 2, "message": 90, "status": "0x0"}
corpus/m6/ansi/notebook/Open Notebook.onetoc2 created+1
...@@ -0,0 +1 @@
1../../../native/20260905-05/notebook/Open Notebook.onetoc2
\ No newline at end of file
corpus/m6/ansi/notebook/synthetic.one created
Binary files /dev/null and b/corpus/m6/ansi/notebook/synthetic.one differ
corpus/m6/cell-shading-control-01/ORACLE.md created+14
...@@ -0,0 +1,14 @@
1# Cell shading on OneNote 2010
2
3The COM schema rejects `shadingColor`. This separate Rust-authored storage control
4replaces one cell's four-byte modification timestamp property with documented
5`CellShadingColor` (`0x14001e26`) and the COLORREF bytes `ff ff 00 00` (yellow).
6`input/probe.rs` records the bounded transformation, including object-digest repair;
7`input/generation.log` records its execution. The timestamp is deliberately absent
8on that cell; other table content and geometry remain unchanged.
9
10A fresh OneNote 14.0.4763.1000 cache opens the file successfully. Its XML omits cell
11shading and its PDF renders the cell white, as shown in `shading-2.png`. The Rust
12model retains the documented yellow value. This establishes a native 2010
13rendering limitation for the tested property, not native rendering parity for
14cell shading. The report's color follows the documented stored value.
corpus/m6/cell-shading-control-01/agent.py created+439
...@@ -0,0 +1,439 @@
1import base64
2import ctypes
3import hashlib
4import json
5import os
6import struct
7import subprocess
8import sys
9import tempfile
10import threading
11import time
12import zlib
13from ctypes import wintypes
14from http.server import ThreadingHTTPServer, BaseHTTPRequestHandler
15
16BASE = os.path.dirname(os.path.abspath(__file__))
17with open(__file__, 'rb') as source:
18 AGENT_SHA256 = hashlib.sha256(source.read()).hexdigest()
19LOCK = threading.Lock()
20
21user32 = ctypes.windll.user32
22gdi32 = ctypes.windll.gdi32
23
24SRCCOPY = 0x00CC0020
25CAPTUREBLT = 0x40000000
26BI_RGB = 0
27DIB_RGB_COLORS = 0
28
29# restype must be set on x64: the default c_int return truncates a 64-bit HANDLE.
30user32.GetDC.restype = wintypes.HDC
31user32.GetDC.argtypes = [wintypes.HWND]
32user32.ReleaseDC.restype = ctypes.c_int
33user32.ReleaseDC.argtypes = [wintypes.HWND, wintypes.HDC]
34user32.GetSystemMetrics.restype = ctypes.c_int
35user32.GetSystemMetrics.argtypes = [ctypes.c_int]
36gdi32.CreateCompatibleDC.restype = wintypes.HDC
37gdi32.CreateCompatibleDC.argtypes = [wintypes.HDC]
38gdi32.CreateCompatibleBitmap.restype = wintypes.HBITMAP
39gdi32.CreateCompatibleBitmap.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int]
40gdi32.SelectObject.restype = wintypes.HGDIOBJ
41gdi32.SelectObject.argtypes = [wintypes.HDC, wintypes.HGDIOBJ]
42gdi32.BitBlt.restype = wintypes.BOOL
43gdi32.BitBlt.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int, ctypes.c_int,
44 ctypes.c_int, wintypes.HDC, ctypes.c_int, ctypes.c_int,
45 wintypes.DWORD]
46gdi32.GetDIBits.restype = ctypes.c_int
47gdi32.GetDIBits.argtypes = [wintypes.HDC, wintypes.HBITMAP, wintypes.UINT,
48 wintypes.UINT, ctypes.c_void_p, ctypes.c_void_p,
49 wintypes.UINT]
50gdi32.DeleteObject.restype = wintypes.BOOL
51gdi32.DeleteObject.argtypes = [wintypes.HGDIOBJ]
52gdi32.DeleteDC.restype = wintypes.BOOL
53gdi32.DeleteDC.argtypes = [wintypes.HDC]
54
55WNDENUMPROC = ctypes.WINFUNCTYPE(wintypes.BOOL, wintypes.HWND, wintypes.LPARAM)
56user32.GetForegroundWindow.restype = wintypes.HWND
57user32.GetForegroundWindow.argtypes = []
58user32.GetWindowTextW.restype = ctypes.c_int
59user32.GetWindowTextW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int]
60user32.GetClassNameW.restype = ctypes.c_int
61user32.GetClassNameW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int]
62user32.GetClientRect.restype = wintypes.BOOL
63user32.GetClientRect.argtypes = [wintypes.HWND, ctypes.POINTER(wintypes.RECT)]
64user32.EnumChildWindows.restype = wintypes.BOOL
65user32.EnumChildWindows.argtypes = [wintypes.HWND, WNDENUMPROC, wintypes.LPARAM]
66
67
68class BITMAPINFOHEADER(ctypes.Structure):
69 _fields_ = [("biSize", wintypes.DWORD),
70 ("biWidth", wintypes.LONG),
71 ("biHeight", wintypes.LONG),
72 ("biPlanes", wintypes.WORD),
73 ("biBitCount", wintypes.WORD),
74 ("biCompression", wintypes.DWORD),
75 ("biSizeImage", wintypes.DWORD),
76 ("biXPelsPerMeter", wintypes.LONG),
77 ("biYPelsPerMeter", wintypes.LONG),
78 ("biClrUsed", wintypes.DWORD),
79 ("biClrImportant", wintypes.DWORD)]
80
81
82PREAMBLE = (
83 "#Requires AutoHotkey v2.0\n"
84 "#SingleInstance Off\n"
85 "#Warn All, Off\n"
86 'FileEncoding "UTF-8-RAW"\n'
87 'SendMode "Input"\n'
88 "SetWorkingDir A_ScriptDir\n"
89 'CoordMode "Mouse", "Screen"\n'
90 'CoordMode "Pixel", "Screen"\n'
91 'CoordMode "ToolTip", "Screen"\n'
92 "SetTitleMatchMode 2\n"
93 "DetectHiddenWindows true\n"
94)
95
96
97def ahk_path():
98 u64 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey64.exe")
99 u32 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey32.exe")
100 return u64 if os.path.exists(u64) else u32
101
102
103def _chunk(tag, data):
104 return (struct.pack(">I", len(data)) + tag + data +
105 struct.pack(">I", zlib.crc32(tag + data) & 0xffffffff))
106
107
108def _to_png(bgra, w, h):
109 arr = bytearray(bgra)
110 r = arr[2::4]
111 arr[2::4] = arr[0::4]
112 arr[0::4] = r
113 del arr[3::4]
114 stride = w * 3
115 mv = memoryview(arr)
116 raw = bytearray()
117 for y in range(h):
118 raw.append(0)
119 raw += mv[y * stride:(y + 1) * stride]
120 ihdr = struct.pack(">IIBBBBB", w, h, 8, 2, 0, 0, 0)
121 return (b"\x89PNG\r\n\x1a\n" + _chunk(b"IHDR", ihdr) +
122 _chunk(b"IDAT", zlib.compress(bytes(raw))) + _chunk(b"IEND", b""))
123
124
125def capture():
126 w = user32.GetSystemMetrics(0)
127 h = user32.GetSystemMetrics(1)
128 hdc = user32.GetDC(None)
129 mem = None
130 hbm = None
131 try:
132 mem = gdi32.CreateCompatibleDC(hdc)
133 hbm = gdi32.CreateCompatibleBitmap(hdc, w, h)
134 old = gdi32.SelectObject(mem, hbm)
135 gdi32.BitBlt(mem, 0, 0, w, h, hdc, 0, 0, SRCCOPY | CAPTUREBLT)
136 gdi32.SelectObject(mem, old)
137 bmi = BITMAPINFOHEADER()
138 bmi.biSize = ctypes.sizeof(BITMAPINFOHEADER)
139 bmi.biWidth = w
140 bmi.biHeight = -h # negative => top-down rows, matches screenshot orientation
141 bmi.biPlanes = 1
142 bmi.biBitCount = 32
143 bmi.biCompression = BI_RGB
144 buf = ctypes.create_string_buffer(w * h * 4)
145 if gdi32.GetDIBits(mem, hbm, 0, h, buf, ctypes.byref(bmi),
146 DIB_RGB_COLORS) == 0:
147 raise RuntimeError("GetDIBits failed")
148 data = buf.raw
149 finally:
150 if hbm:
151 gdi32.DeleteObject(hbm)
152 if mem:
153 gdi32.DeleteDC(mem)
154 user32.ReleaseDC(None, hdc)
155 return _to_png(data, w, h), w, h
156
157
158def _win_text(fn, hwnd, n=512):
159 buf = ctypes.create_unicode_buffer(n)
160 fn(hwnd, buf, n)
161 return buf.value
162
163
164def active_window():
165 hwnd = user32.GetForegroundWindow()
166 if not hwnd:
167 return {"title": "", "class": "", "dialog": False}
168 cls = _win_text(user32.GetClassNameW, hwnd)
169 return {"title": _win_text(user32.GetWindowTextW, hwnd),
170 "class": cls, "dialog": cls == "#32770"}
171
172
173def control_tree():
174 hwnd = user32.GetForegroundWindow()
175 rows = []
176
177 def add(h):
178 rect = wintypes.RECT()
179 user32.GetClientRect(h, ctypes.byref(rect))
180 rows.append((_win_text(user32.GetClassNameW, h),
181 _win_text(user32.GetWindowTextW, h),
182 rect.left, rect.top,
183 rect.right - rect.left, rect.bottom - rect.top))
184
185 if hwnd:
186 add(hwnd)
187
188 def cb(child, _lparam):
189 add(child)
190 return True
191 user32.EnumChildWindows(hwnd, WNDENUMPROC(cb), 0)
192 lines = ["%-24s %-28s %s" % ("class", "text", "l,t,w,h")]
193 for cls, text, l, t, w, h in rows:
194 lines.append("%-24s %-28s %d,%d,%d,%d" % (cls, text, l, t, w, h))
195 return "\n".join(lines)
196
197
198def _run(argv, timeout_ms, encoding, on_timeout=None):
199 def dec(b):
200 return b.decode(encoding, "replace") if b else ""
201
202 p = subprocess.Popen(argv, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
203 try:
204 out, err = p.communicate(timeout=timeout_ms / 1000.0)
205 return p.returncode, dec(out), dec(err), None
206 except subprocess.TimeoutExpired:
207 if on_timeout:
208 on_timeout()
209 subprocess.call(["taskkill", "/F", "/T", "/PID", str(p.pid)])
210 try:
211 # A process the script launched can outlive taskkill still holding the
212 # inherited stdout pipe; an unbounded wait here wedges the agent's lock.
213 out, err = p.communicate(timeout=5)
214 except subprocess.TimeoutExpired:
215 out = err = b""
216 for pipe in (p.stdout, p.stderr):
217 if pipe:
218 pipe.close()
219 msg = "timed out after %d ms, process killed" % timeout_ms
220 return None, dec(out), dec(err), msg
221
222
223def run_ahk(script, timeout_ms, on_timeout=None):
224 fd, path = tempfile.mkstemp(suffix=".ahk")
225 os.close(fd)
226 # AutoHotkey (Unicode-only) needs a UTF-8 BOM to read the file as UTF-8.
227 with open(path, "wb") as f:
228 f.write(b"\xef\xbb\xbf" + (PREAMBLE + script).encode("utf-8"))
229 try:
230 # /ErrorStdOut sends syntax errors to stderr instead of a blocking modal.
231 code, out, err, error = _run([ahk_path(), "/ErrorStdOut", path], timeout_ms,
232 "utf-8", on_timeout)
233 finally:
234 os.remove(path)
235 if error:
236 error = "script " + error
237 return code, out, err, error
238
239
240def _safe_capture(error):
241 try:
242 png, w, h = capture()
243 return base64.b64encode(png).decode("ascii"), w, h, error
244 except Exception as e:
245 note = "screenshot failed: " + repr(e)
246 return "", 0, 0, (error + "; " + note if error else note)
247
248
249LOG_PATH = os.path.join(BASE, "agent.log")
250LOG_LOCK = threading.Lock()
251
252
253def log(text, stamp=True):
254 """Console and agent.log, so a session can be reconstructed after the fact."""
255 line = time.strftime("%Y-%m-%d %H:%M:%S ") + text if stamp else text
256 with LOG_LOCK:
257 print(line, end="" if line.endswith("\n") else "\n", flush=True)
258 try:
259 with open(LOG_PATH, "a", encoding="utf-8") as f:
260 f.write(line if line.endswith("\n") else line + "\n")
261 except OSError:
262 pass # a log that cannot be written must not take the agent down
263
264
265class Handler(BaseHTTPRequestHandler):
266 def log_message(self, *a):
267 pass
268
269 def _send(self, code, obj):
270 body = json.dumps(obj).encode("utf-8")
271 self.send_response(code)
272 self.send_header("Content-Type", "application/json")
273 self.send_header("Content-Length", str(len(body)))
274 self.end_headers()
275 self.wfile.write(body)
276
277 def _log(self, start, code, body=None):
278 log("%s %s %dms exit=%s" % (self.command, self.path,
279 int((time.time() - start) * 1000), code))
280 if body:
281 log("".join(" | %s\n" % l for l in body.splitlines()), stamp=False)
282
283 def _auth_ok(self):
284 token = os.environ.get("WIN7_TOKEN")
285 return not token or self.headers.get("X-Win7-Token") == token
286
287 def _body(self):
288 n = int(self.headers.get("Content-Length") or 0)
289 raw = self.rfile.read(n) if n else b""
290 return json.loads(raw.decode("utf-8")) if raw else {}
291
292 def do_GET(self):
293 start = time.time()
294 if not self._auth_ok():
295 self._send(401, {"error": "bad token"})
296 elif self.path == "/health":
297 self._send(200, {"ok": True, "w": user32.GetSystemMetrics(0),
298 "h": user32.GetSystemMetrics(1),
299 "hostname": os.environ.get("COMPUTERNAME", ""),
300 "ahk": ahk_path(), "python": sys.executable,
301 "agent_sha256": AGENT_SHA256})
302 else:
303 self._send(404, {"error": "not found"})
304 self._log(start, None)
305
306 def do_POST(self):
307 start = time.time()
308 code = None
309 if not self._auth_ok():
310 self._send(401, {"error": "bad token"})
311 self._log(start, None)
312 return
313 try:
314 data = self._body()
315 except Exception:
316 self._send(400, {"error": "bad json"})
317 self._log(start, None)
318 return
319 body = {"/exec": data.get("script"), "/cmd": data.get("command"),
320 "/spawn": data.get("command"),
321 "/put": data.get("path"), "/get": data.get("path")}.get(self.path)
322 try:
323 if self.path == "/exec":
324 resp = self._exec(data)
325 code = resp["exit"]
326 elif self.path == "/cmd":
327 resp = self._cmd(data)
328 code = resp["exit"]
329 elif self.path == "/spawn":
330 resp = self._spawn(data)
331 code = 0
332 elif self.path == "/put":
333 resp = self._put(data)
334 elif self.path == "/get":
335 resp = self._get(data)
336 elif self.path == "/shot":
337 resp = self._shot()
338 elif self.path == "/ui":
339 resp = self._ui()
340 else:
341 self._send(404, {"error": "not found"})
342 self._log(start, None)
343 return
344 self._send(200, resp)
345 except Exception as e:
346 self._send(200, {"error": repr(e), "exit": None, "stdout": "",
347 "stderr": "", "png_b64": "", "w": 0, "h": 0})
348 self._log(start, code, body)
349
350 def _exec(self, data):
351 pre = []
352
353 def grab(): # capture before taskkill so the blocker is still on screen
354 pre.append((_safe_capture(None), active_window()))
355
356 with LOCK:
357 code, out, err, error = run_ahk(data.get("script", ""),
358 data.get("timeout_ms", 60000), grab)
359 if pre:
360 (b64, w, h, note), win = pre[0]
361 else:
362 time.sleep(data.get("shot_delay_ms", 500) / 1000.0)
363 b64, w, h, note = _safe_capture(None)
364 win = active_window()
365 if note:
366 error = error + "; " + note if error else note
367 return {"exit": code, "stdout": out, "stderr": err, "png_b64": b64,
368 "w": w, "h": h, "error": error, "win": win}
369
370 def _put(self, data):
371 path = data.get("path", "")
372 blob = base64.b64decode(data.get("b64", ""))
373 parent = os.path.dirname(path)
374 if parent and not os.path.isdir(parent):
375 os.makedirs(parent)
376 with open(path, "wb") as f:
377 f.write(blob)
378 return {"bytes": len(blob), "path": os.path.abspath(path), "error": None}
379
380 def _get(self, data):
381 with open(data.get("path", ""), "rb") as f:
382 blob = f.read()
383 return {"b64": base64.b64encode(blob).decode("ascii"), "bytes": len(blob),
384 "error": None}
385
386 def _cmd(self, data):
387 with LOCK:
388 # A raw command-line string, not a list: on Windows list2cmdline would
389 # backslash-escape the embedded quotes before cmd.exe ever sees them.
390 code, out, err, error = _run("cmd.exe /c " + data.get("command", ""),
391 data.get("timeout_ms", 60000), "oem")
392 return {"exit": code, "stdout": out, "stderr": err, "error": error}
393
394 def _spawn(self, data):
395 flags = subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS
396 process = subprocess.Popen(data.get("command", ""), stdin=subprocess.DEVNULL,
397 stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL,
398 close_fds=True, creationflags=flags)
399 return {"pid": process.pid, "error": None}
400
401 def _shot(self):
402 b64, w, h, error = _safe_capture(None)
403 win = active_window()
404 return {"png_b64": b64, "w": w, "h": h, "error": error, "win": win}
405
406 def _ui(self):
407 win = active_window()
408 controls = control_tree()
409 return {"win": win, "controls": controls, "error": None}
410
411
412def keep_awake():
413 """Hold the display and system awake for as long as this process lives.
414
415 Screen blanking alone is harmless -- BitBlt still captures the composited
416 desktop -- but sleep kills the agent outright, and a locked session moves
417 the desktop to Winlogon where neither AutoHotkey nor the capture can reach.
418 """
419 ES_CONTINUOUS, ES_SYSTEM_REQUIRED, ES_DISPLAY_REQUIRED = 0x80000000, 0x1, 0x2
420 kernel32 = ctypes.windll.kernel32
421 kernel32.SetThreadExecutionState.restype = wintypes.DWORD
422 kernel32.SetThreadExecutionState.argtypes = [wintypes.DWORD]
423 return kernel32.SetThreadExecutionState(
424 ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED)
425
426
427def main():
428 user32.SetProcessDPIAware()
429 awake = keep_awake()
430 port = int(os.environ.get("WIN7_PORT", "8777"))
431 srv = ThreadingHTTPServer(("0.0.0.0", port), Handler)
432 log("win7-agent listening on 0.0.0.0:%d ahk=%s log=%s%s"
433 % (port, ahk_path(), LOG_PATH,
434 "" if awake else " (WARNING: could not inhibit sleep)"))
435 srv.serve_forever()
436
437
438if __name__ == "__main__":
439 main()
corpus/m6/cell-shading-control-01/commands.jsonl created+3
...@@ -0,0 +1,3 @@
1{"command": "powershell -NoProfile -Command \"Expand-Archive -LiteralPath C:\\one-tests\\transfer.zip -DestinationPath C:\\one-tests\\runs\\capture\\notebook\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
2{"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-92ED7B8E -ExpectedPages 2 -Pdf", "exit": 0, "stdout": "Read 1 sections and 2 pages.\r\n", "stderr": "", "error": null}
3{"command": "powershell -NoProfile -Command \"Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\read -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
corpus/m6/cell-shading-control-01/format-differences.json created+1
...@@ -0,0 +1 @@
1[]
\ No newline at end of file
corpus/m6/cell-shading-control-01/geometry-differences.json created+1
...@@ -0,0 +1 @@
1[]
\ No newline at end of file
corpus/m6/cell-shading-control-01/health.json created+9
...@@ -0,0 +1,9 @@
1{
2 "ok": true,
3 "w": 800,
4 "h": 600,
5 "hostname": "ONE-M6-92ED7B8E",
6 "ahk": "C:\\win7-agent\\vendor\\ahk\\AutoHotkey64.exe",
7 "python": "C:\\win7-agent\\vendor\\python\\python.exe",
8 "agent_sha256": "ef7ca89be026695cf4412460a2eec308b0ed253fb9245597a7fe5d6938e49f89"
9}
corpus/m6/cell-shading-control-01/input/generation.log created+4
...@@ -0,0 +1,4 @@
1 Compiling onestore v0.1.0 (/Users/clo/dev/one)
2 Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.19s
3 Running `target/debug/examples/cell_probe`
4Changed one cell timestamp property to CellShadingColor yellow at object offset 10284
corpus/m6/cell-shading-control-01/input/notebook/synthetic.one created
Binary files /dev/null and b/corpus/m6/cell-shading-control-01/input/notebook/synthetic.one differ
corpus/m6/cell-shading-control-01/input/probe.rs created+22
...@@ -0,0 +1,22 @@
1use onestore::{Store, RevisionIndex, ObjectData, PropertySets, Value, Reference, document::Document};
2fn main() -> Result<(), Box<dyn std::error::Error>> {
3 let source=std::fs::read("corpus/m6/native-structure-01/notebook/synthetic.one")?;
4 let store=Store::parse(&source)?;let index=RevisionIndex::parse(&store)?;let document=Document::parse(&index)?;
5 let mut bytes=source.clone();let mut changed=false;
6 'spaces: for (sid,space) in &document.spaces {for rid in space.revisions.keys() {let revision=index.resolve(*sid,*rid)?;
7 for object in revision.objects.values().filter(|o| o.jcid==0x60024) {if let ObjectData::Properties(data)=object.data {
8 let sets=PropertySets::parse(data)?;let property=sets.sets[0].iter().find(|p|p.id==0x14001d7a).unwrap();
9 let Value::Bytes(value)=property.value else {panic!("Expected a four-byte timestamp")};assert_eq!(value.len(),4);
10 let start=data.as_ptr().addr()-source.as_ptr().addr();let at=value.as_ptr().addr()-source.as_ptr().addr();
11 let offsets:Vec<_>=data.windows(4).enumerate().filter(|(_,b)|*b==0x14001d7au32.to_le_bytes()).map(|(i,_)|i).collect();assert_eq!(offsets.len(),1);
12 bytes[start+offsets[0]..start+offsets[0]+4].copy_from_slice(&0x14001e26u32.to_le_bytes());
13 bytes[at..at+4].copy_from_slice(&[255,255,0,0]);
14 let digest=md5::compute(&bytes[start..start+data.len()]).0;
15 for node in store.lists.values().flat_map(|list|&list.nodes) {if matches!(node.id,0xc2|0xc4|0xc5) && let Some(Reference::Data(chunk))=node.reference && chunk.offset==start as u64 && chunk.length==data.len() as u64 {
16 let hash=node.payload.as_ptr().addr()-source.as_ptr().addr()+node.payload.len()-16;bytes[hash..hash+16].copy_from_slice(&digest);
17 }}
18 println!("Changed one cell timestamp property to CellShadingColor yellow at object offset {start}");changed=true;break 'spaces;
19 }}}}
20 assert!(changed);let store=Store::parse(&bytes)?;assert!(store.checksum_mismatches.is_empty());let index=RevisionIndex::parse(&store)?;Document::parse(&index)?;
21 let path="evidence/m6/cell-shading-input/notebook/synthetic.one";assert!(!std::path::Path::new(path).exists());std::fs::write(path,bytes)?;Ok(())
22}
corpus/m6/cell-shading-control-01/machine.json created+1
...@@ -0,0 +1 @@
1{"name": "m6-92ed7b8e", "hostname": "ONE-M6-92ED7B8E"}
corpus/m6/cell-shading-control-01/model/assets.json created+1
...@@ -0,0 +1 @@
1[]
\ No newline at end of file
corpus/m6/cell-shading-control-01/model/document.json created+1
...@@ -0,0 +1 @@
1{"file_id":[215,207,224,40,38,150,39,79,128,28,7,188,161,187,189,237],"root":"{2339F5E7-15B0-496E-A684-E40EAB23A0CB},1","spaces":{"{6468BA56-B67A-0708-25C1-355E72B08FDD},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{DDEA62BD-E855-034A-0B36-431645B9F46E},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{7C3AC437-BD9C-0D16-2058-C992E3ED6D0F},1"},"revisions":{"{7C3AC437-BD9C-0D16-2058-C992E3ED6D0F},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}},"{DDEA62BD-E855-034A-0B36-431645B9F46E},1":{"roots":{"1":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},10","2":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},11","4":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},26"},"nodes":{"{DE36500D-E769-0AF2-1CBD-2D476AC40105},10":{"jcid":393271,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},12"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Native feature probes","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"32558373b5d7c842b00ed3825f33507e"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"80b4208a9a3ddd01"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},12":{"jcid":393227,"children":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},39","{DE36500D-E769-0AF2-1CBD-2D476AC40105},97"],"content":[],"structure":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},13"],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123388,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":null,"level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"7600690072007400750061006c000000"}},{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},13":{"jcid":393260,"children":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},14","{DE36500D-E769-0AF2-1CBD-2D476AC40105},20"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123384,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Title"},"extra":[[{"id":335551550,"value":{"Bytes":"0c000900"}},{"id":335551620,"value":{"Bytes":"00000000"}},{"id":335551729,"value":{"Bytes":"00000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},14":{"jcid":393228,"children":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},33"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123388,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708793,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"},{"id":2281708689,"value":"NoData"},{"id":335551724,"value":{"Bytes":"00009040"}},{"id":2281708799,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"virtual"},"extra":[[{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},18":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},20":{"jcid":393228,"children":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},21","{DE36500D-E769-0AF2-1CBD-2D476AC40105},24"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123384,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708725,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708766,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},21":{"jcid":393229,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},22"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123384,"modified":1473123384,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},22":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123384,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Saturday, September 05, 2026","runs":[{"start":0,"end":28,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null}],"paragraph_style":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},23":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"PageDateTime"},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},24":{"jcid":393229,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},25"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123384,"modified":1473123384,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},25":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123384,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"5:56 PM","runs":[{"start":0,"end":7,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null}],"paragraph_style":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},26":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},33":{"jcid":393229,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},37"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123387,"modified":1473123387,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},37":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Native feature probes","runs":[{"start":0,"end":21,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},38","extra_set":null}],"paragraph_style":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":2281708724,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},38":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":17.0,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},39":{"jcid":393228,"children":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},40","{DE36500D-E769-0AF2-1CBD-2D476AC40105},46","{DE36500D-E769-0AF2-1CBD-2D476AC40105},52","{DE36500D-E769-0AF2-1CBD-2D476AC40105},58","{DE36500D-E769-0AF2-1CBD-2D476AC40105},65","{DE36500D-E769-0AF2-1CBD-2D476AC40105},71","{DE36500D-E769-0AF2-1CBD-2D476AC40105},82","{DE36500D-E769-0AF2-1CBD-2D476AC40105},90"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":72.0,"y":108.0,"max_width":480.0,"max_height":115.94244},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123388,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},40":{"jcid":393229,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},44"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123387,"modified":1473123387,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},44":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Black highlight, automatic text","runs":[{"start":0,"end":31,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},45","extra_set":null}],"paragraph_style":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},45":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":0,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},46":{"jcid":393229,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},50"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123387,"modified":1473123387,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},50":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"White text on black highlight","runs":[{"start":0,"end":29,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},51","extra_set":null}],"paragraph_style":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},51":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":13355979,"highlight":0,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},52":{"jcid":393229,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},56"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123387,"modified":1473123387,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},56":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Black text on black highlight","runs":[{"start":0,"end":29,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},57","extra_set":null}],"paragraph_style":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},57":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":0,"highlight":0,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},58":{"jcid":393229,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},62"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123387,"modified":1473123387,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},62":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Before middle after","runs":[{"start":0,"end":7,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},63","extra_set":null},{"start":7,"end":13,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},64","extra_set":null},{"start":13,"end":19,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},63","extra_set":null}],"paragraph_style":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},63":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":true,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},64":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":true,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":0,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},65":{"jcid":393229,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},69"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123387,"modified":1473123387,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},69":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Yellow highlight, automatic text","runs":[{"start":0,"end":32,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},70","extra_set":null}],"paragraph_style":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},70":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":65535,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},71":{"jcid":393229,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},75"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123387,"modified":1473123387,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},75":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Plain bold italic underline strike super sub font and color","runs":[{"start":0,"end":6,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null},{"start":6,"end":10,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},63","extra_set":null},{"start":10,"end":11,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null},{"start":11,"end":17,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},76","extra_set":null},{"start":17,"end":18,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null},{"start":18,"end":27,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},77","extra_set":null},{"start":27,"end":28,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null},{"start":28,"end":34,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},78","extra_set":null},{"start":34,"end":35,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null},{"start":35,"end":40,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},79","extra_set":null},{"start":40,"end":41,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null},{"start":41,"end":44,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},80","extra_set":null},{"start":44,"end":45,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null},{"start":45,"end":59,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},81","extra_set":null}],"paragraph_style":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},76":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":true,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},77":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":true,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334293,"value":{"Bytes":"01"}},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},78":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":true,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},79":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":true,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},80":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":true,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},81":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Consolas","font_size":18.0,"color":2113664,"highlight":16776960,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},82":{"jcid":393229,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},86"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123385,"modified":1473123387,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},86":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"BMP 😀é 東京 مرحبا","runs":[{"start":0,"end":4,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null},{"start":4,"end":8,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},87","extra_set":null},{"start":8,"end":9,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null},{"start":9,"end":11,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},88","extra_set":null},{"start":11,"end":12,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null},{"start":12,"end":17,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},89","extra_set":null}],"paragraph_style":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},87":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":true,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":0,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"01"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},88":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"SimSun","font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":2281714858,"value":"NoData"},{"id":201334017,"value":{"Bytes":"86"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},89":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":true,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Arial","font_size":null,"color":null,"highlight":null,"language":1025,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":2281714858,"value":"NoData"},{"id":201334017,"value":{"Bytes":"b2"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},90":{"jcid":393229,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},94"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123387,"modified":1473123387,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},94":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Before ﷟HYPERLINK \"https://example.invalid/fixture?x=1&y=2\"Link label after","runs":[{"start":0,"end":7,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null},{"start":7,"end":59,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},95","extra_set":null},{"start":59,"end":69,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},96","extra_set":null},{"start":69,"end":75,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null}],"paragraph_style":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},95":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":true,"hyperlink":true,"hyperlink_label":true,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},96":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":true,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":true,"hyperlink_label":true,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},97":{"jcid":393228,"children":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},98","{DE36500D-E769-0AF2-1CBD-2D476AC40105},105","{DE36500D-E769-0AF2-1CBD-2D476AC40105},112","{DE36500D-E769-0AF2-1CBD-2D476AC40105},124","{DE36500D-E769-0AF2-1CBD-2D476AC40105},130","{DE36500D-E769-0AF2-1CBD-2D476AC40105},136"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":72.0,"y":540.0,"max_width":480.0,"max_height":294.3158},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123388,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},98":{"jcid":393229,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},102"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123387,"modified":1473123387,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},102":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":2,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Named paragraph style","runs":[{"start":0,"end":21,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null}],"paragraph_style":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},104","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"03000000"}},{"id":335551620,"value":{"Bytes":"03000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},104":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":20.0,"color":5649426,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":288.0,"space_after":144.0,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"h1"},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},105":{"jcid":393229,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},109"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123387,"modified":1473123387,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},109":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[{"definition":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},111","action_type":null,"status":1,"created":1262401445,"completed":1262405106,"start":null,"due":null,"task_id":null,"extra_set":1},{"definition":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},110","action_type":null,"status":0,"created":1262401445,"completed":0,"start":null,"due":null,"task_id":null,"extra_set":2}],"kind":{"type":"RichText","text":"Two tags on this paragraph","runs":[{"start":0,"end":26,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null}],"paragraph_style":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}],[],[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},110":{"jcid":1179715,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"TagDefinition","label":"Fixture checkbox","action_type":0,"shape":3,"color":null,"highlight":null},"extra":[[{"id":201340019,"value":{"Bytes":"00"}},{"id":335557735,"value":{"Bytes":"00000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},111":{"jcid":1179715,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"TagDefinition","label":"Fixture custom tag","action_type":90,"shape":13,"color":2113664,"highlight":16776960},"extra":[[{"id":201340019,"value":{"Bytes":"00"}},{"id":335557735,"value":{"Bytes":"00000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},112":{"jcid":393229,"children":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},117"],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},116"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123387,"modified":1473123387,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},123"],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},116":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Outer bullet","runs":[{"start":0,"end":12,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null}],"paragraph_style":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},117":{"jcid":393229,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},121"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123387,"modified":1473123387,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},122"],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},121":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Nested bullet","runs":[{"start":0,"end":13,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null}],"paragraph_style":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},122":{"jcid":393234,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":11.0,"color":4278190080,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"List","font":"Wingdings","format":"§","restart":null,"bullet":9},"extra":[[{"id":201333952,"value":{"Bytes":"00"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},123":{"jcid":393234,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":11.0,"color":4278190080,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"List","font":"Courier New","format":"○","restart":null,"bullet":4},"extra":[[{"id":201333952,"value":{"Bytes":"00"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},124":{"jcid":393229,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},128"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123387,"modified":1473123387,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},129"],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},128":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Numbered item three","runs":[{"start":0,"end":19,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null}],"paragraph_style":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},129":{"jcid":393234,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"List","font":null,"format":"�\u0001.","restart":3,"bullet":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},130":{"jcid":393229,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},134"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123387,"modified":1473123387,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},135"],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},134":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Numbered item four","runs":[{"start":0,"end":18,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null}],"paragraph_style":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},135":{"jcid":393234,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"List","font":null,"format":"�\u0001.","restart":null,"bullet":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},136":{"jcid":393229,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},137"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123387,"modified":1473123387,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},137":{"jcid":393250,"children":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},138","{DE36500D-E769-0AF2-1CBD-2D476AC40105},155","{DE36500D-E769-0AF2-1CBD-2D476AC40105},172"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123388,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Table","rows":3,"columns":2,"widths":[120.0,37.115906],"locked":[true,false],"borders":true},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},138":{"jcid":393251,"children":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},139","{DE36500D-E769-0AF2-1CBD-2D476AC40105},147"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123388,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Row"},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},139":{"jcid":393252,"children":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},142"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":65535},"extra":[[{"id":469769234,"value":{"Bytes":"04e9ebeb0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},142":{"jcid":393229,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},146"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123387,"modified":1473123387,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},146":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Cell 0,0","runs":[{"start":0,"end":8,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null}],"paragraph_style":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},147":{"jcid":393252,"children":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},150"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123388,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"0404bfeb0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},150":{"jcid":393229,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},154"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123387,"modified":1473123387,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},154":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Cell 0,1","runs":[{"start":0,"end":8,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null}],"paragraph_style":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},155":{"jcid":393251,"children":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},159","{DE36500D-E769-0AF2-1CBD-2D476AC40105},156"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123388,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Row"},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},156":{"jcid":393252,"children":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},167"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123388,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"0404bfeb0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},159":{"jcid":393252,"children":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},162"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123388,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"04e9ebeb0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},162":{"jcid":393229,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},166"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123387,"modified":1473123387,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},166":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Cell 1,0","runs":[{"start":0,"end":8,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null}],"paragraph_style":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},167":{"jcid":393229,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},171"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123387,"modified":1473123387,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},171":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Cell 1,1","runs":[{"start":0,"end":8,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null}],"paragraph_style":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},172":{"jcid":393251,"children":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},176","{DE36500D-E769-0AF2-1CBD-2D476AC40105},173"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123388,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Row"},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},173":{"jcid":393252,"children":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},184"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123388,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"0404bfeb0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},176":{"jcid":393252,"children":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},179"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123388,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"04e9ebeb0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},179":{"jcid":393229,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},183"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123387,"modified":1473123387,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},183":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Cell 2,0","runs":[{"start":0,"end":8,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null}],"paragraph_style":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},184":{"jcid":393229,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},188"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123387,"modified":1473123387,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},188":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Cell 2,1","runs":[{"start":0,"end":8,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null}],"paragraph_style":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]}}}}},"{4CB7E8D5-17AD-4A9E-82D9-C44455ADE942},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{95241300-D037-0AC6-1781-826EE0C1EE08},1"},"revisions":{"{95241300-D037-0AC6-1781-826EE0C1EE08},1":{"roots":{"1":"{2339F5E7-15B0-496E-A684-E40EAB23A0CB},20","2":"{2339F5E7-15B0-496E-A684-E40EAB23A0CB},21"},"nodes":{"{2339F5E7-15B0-496E-A684-E40EAB23A0CB},20":{"jcid":393271,"children":[],"content":["{2339F5E7-15B0-496E-A684-E40EAB23A0CB},22"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":null},"extra":[[]]},"{2339F5E7-15B0-496E-A684-E40EAB23A0CB},21":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"A notebook created in Rust.","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"3ba097e16397eb4394b7a682b3f6d2b5"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"0090fcc4053ddd01"}}]]},"{2339F5E7-15B0-496E-A684-E40EAB23A0CB},22":{"jcid":393227,"children":["{2339F5E7-15B0-496E-A684-E40EAB23A0CB},23"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123416,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":"A notebook created in Rust.","level":null,"width":null,"height":null,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":null},"extra":[[{"id":469769589,"value":{"Bytes":"4600690078007400750072006500200041007500740068006f0072000000"}}]]},"{2339F5E7-15B0-496E-A684-E40EAB23A0CB},23":{"jcid":393228,"children":["{2339F5E7-15B0-496E-A684-E40EAB23A0CB},24"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":36.0,"y":36.0,"max_width":375.07498,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473059488,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[0.0]},"extra":[[]]},"{2339F5E7-15B0-496E-A684-E40EAB23A0CB},24":{"jcid":393229,"children":[],"content":["{2339F5E7-15B0-496E-A684-E40EAB23A0CB},25"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473059488,"modified":1473059488,"original_author":"{2339F5E7-15B0-496E-A684-E40EAB23A0CB},26","latest_author":"{2339F5E7-15B0-496E-A684-E40EAB23A0CB},26","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{2339F5E7-15B0-496E-A684-E40EAB23A0CB},25":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473059488,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"A notebook created in Rust.","runs":[{"start":0,"end":27,"format":"{2339F5E7-15B0-496E-A684-E40EAB23A0CB},27","extra_set":null}],"paragraph_style":null,"boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}}]]},"{2339F5E7-15B0-496E-A684-E40EAB23A0CB},26":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"Fixture Author"},"extra":[[]]},"{2339F5E7-15B0-496E-A684-E40EAB23A0CB},27":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[]]}}}}},"{2339F5E7-15B0-496E-A684-E40EAB23A0CB},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{24CFEA87-F2D2-0D37-22B3-486454D921D0},1"},"revisions":{"{24CFEA87-F2D2-0D37-22B3-486454D921D0},1":{"roots":{"1":"{2339F5E7-15B0-496E-A684-E40EAB23A0CB},10","2":"{2339F5E7-15B0-496E-A684-E40EAB23A0CB},11"},"nodes":{"{60F9030D-914C-036C-357C-5A10B544F64C},10":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{6468BA56-B67A-0708-25C1-355E72B08FDD},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"20db62751eb1ad43b791d7c0f3445102"}},{"id":402660453,"value":{"Bytes":"80b4208a9a3ddd01"}},{"id":603993154,"value":{"Objects":["{46C07A67-807A-45E6-92D5-E2F2A894BA35},1"]}}]]},"{46C07A67-807A-45E6-92D5-E2F2A894BA35},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Native feature probes","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"32558373b5d7c842b00ed3825f33507e"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"80b4208a9a3ddd01"}}]]},"{6E1F28E4-21AD-0870-35CD-13E88F89DCAA},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"A notebook created in Rust.","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"3ba097e16397eb4394b7a682b3f6d2b5"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"0090fcc4053ddd01"}}]]},"{2339F5E7-15B0-496E-A684-E40EAB23A0CB},10":{"jcid":393223,"children":["{2339F5E7-15B0-496E-A684-E40EAB23A0CB},12","{60F9030D-914C-036C-357C-5A10B544F64C},10"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Section","default_template":null},"extra":[[{"id":469769264,"value":{"Bytes":"4275ebe8f5d4d648b7db01384d836a10"}},{"id":402660453,"value":{"Bytes":"0090fcc4053ddd01"}}]]},"{2339F5E7-15B0-496E-A684-E40EAB23A0CB},11":{"jcid":131121,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"SectionMetadata","name":null,"color":14985354},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]},"{2339F5E7-15B0-496E-A684-E40EAB23A0CB},12":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{4CB7E8D5-17AD-4A9E-82D9-C44455ADE942},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"85134bb69bdfbb41b3ab4322b6cccb44"}},{"id":402660453,"value":{"Bytes":"0090fcc4053ddd01"}},{"id":603993154,"value":{"Objects":["{6E1F28E4-21AD-0870-35CD-13E88F89DCAA},1"]}}]]}}}}}}}
\ No newline at end of file
corpus/m6/cell-shading-control-01/model/text.json created+1
...@@ -0,0 +1 @@
1{"{6468BA56-B67A-0708-25C1-355E72B08FDD},1":{"{7C3AC437-BD9C-0D16-2058-C992E3ED6D0F},1":{},"{DDEA62BD-E855-034A-0B36-431645B9F46E},1":{"{DE36500D-E769-0AF2-1CBD-2D476AC40105},22":[{"text":"Saturday, September 05, 2026","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{DE36500D-E769-0AF2-1CBD-2D476AC40105},25":[{"text":"5:56 PM","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{DE36500D-E769-0AF2-1CBD-2D476AC40105},37":[{"text":"Native feature probes","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":17.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{DE36500D-E769-0AF2-1CBD-2D476AC40105},44":[{"text":"Black highlight, automatic text","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":0,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{DE36500D-E769-0AF2-1CBD-2D476AC40105},50":[{"text":"White text on black highlight","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":13355979,"highlight":0,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{DE36500D-E769-0AF2-1CBD-2D476AC40105},56":[{"text":"Black text on black highlight","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":0,"highlight":0,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{DE36500D-E769-0AF2-1CBD-2D476AC40105},62":[{"text":"Before ","format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"middle","format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":0,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":" after","format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{DE36500D-E769-0AF2-1CBD-2D476AC40105},69":[{"text":"Yellow highlight, automatic text","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":65535,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{DE36500D-E769-0AF2-1CBD-2D476AC40105},75":[{"text":"Plain ","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"bold","format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":" ","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"italic","format":{"bold":false,"italic":true,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":" ","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"underline","format":{"bold":false,"italic":false,"underline":true,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":" ","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"strike","format":{"bold":false,"italic":false,"underline":false,"strike":true,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":" ","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"super","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":true,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":" ","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"sub","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":true,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":" ","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"font and color","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Consolas","font_size":18.0,"color":2113664,"highlight":16776960,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{DE36500D-E769-0AF2-1CBD-2D476AC40105},86":[{"text":"BMP ","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"😀é","format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":0,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":" ","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"東京","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"SimSun","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":" ","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"مرحبا","format":{"bold":false,"italic":true,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Arial","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1025,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{DE36500D-E769-0AF2-1CBD-2D476AC40105},94":[{"text":"Before ","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"﷟HYPERLINK \"https://example.invalid/fixture?x=1&y=2\"","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":true,"hyperlink":true,"hyperlink_label":true,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"Link label","format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":true,"hyperlink_label":true,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":"https://example.invalid/fixture?x=1&y=2"},{"text":" after","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{DE36500D-E769-0AF2-1CBD-2D476AC40105},102":[{"text":"Named paragraph style","format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":20.0,"color":5649426,"highlight":4278190080,"language":1033,"alignment":2,"rtl":null,"space_before":288.0,"space_after":144.0,"line_spacing":null},"link":null}],"{DE36500D-E769-0AF2-1CBD-2D476AC40105},109":[{"text":"Two tags on this paragraph","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{DE36500D-E769-0AF2-1CBD-2D476AC40105},116":[{"text":"Outer bullet","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{DE36500D-E769-0AF2-1CBD-2D476AC40105},121":[{"text":"Nested bullet","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{DE36500D-E769-0AF2-1CBD-2D476AC40105},128":[{"text":"Numbered item three","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{DE36500D-E769-0AF2-1CBD-2D476AC40105},134":[{"text":"Numbered item four","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{DE36500D-E769-0AF2-1CBD-2D476AC40105},146":[{"text":"Cell 0,0","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{DE36500D-E769-0AF2-1CBD-2D476AC40105},154":[{"text":"Cell 0,1","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{DE36500D-E769-0AF2-1CBD-2D476AC40105},166":[{"text":"Cell 1,0","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{DE36500D-E769-0AF2-1CBD-2D476AC40105},171":[{"text":"Cell 1,1","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{DE36500D-E769-0AF2-1CBD-2D476AC40105},183":[{"text":"Cell 2,0","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{DE36500D-E769-0AF2-1CBD-2D476AC40105},188":[{"text":"Cell 2,1","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]}},"{4CB7E8D5-17AD-4A9E-82D9-C44455ADE942},1":{"{95241300-D037-0AC6-1781-826EE0C1EE08},1":{"{2339F5E7-15B0-496E-A684-E40EAB23A0CB},25":[{"text":"A notebook created in Rust.","format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"link":null}]}},"{2339F5E7-15B0-496E-A684-E40EAB23A0CB},1":{"{24CFEA87-F2D2-0D37-22B3-486454D921D0},1":{}}}
\ No newline at end of file
corpus/m6/cell-shading-control-01/pdf-format-checks.json created+27
...@@ -0,0 +1,27 @@
1[
2 {
3 "file": "synthetic.one",
4 "page": 1,
5 "paragraphs": 4,
6 "pdf": "page-001.pdf",
7 "pdf_sha256": "d3f834574d212c9fe672bfd79db7aea35181937b9eb38a603d767bbc9dc510d9",
8 "source_sha256": "df80ddabd0288dde9f050db2417c00e48c8af6f65693f754dc8196ee61ae86ac",
9 "xml_omissions": [
10 {
11 "paragraph": 4,
12 "field": "highlight",
13 "stored": "#000000",
14 "native": "automatic",
15 "characters": 6,
16 "positions": [
17 7,
18 8,
19 9,
20 10,
21 11,
22 12
23 ]
24 }
25 ]
26 }
27]
\ No newline at end of file
corpus/m6/cell-shading-control-01/read/environment.json created+7
...@@ -0,0 +1,7 @@
1{
2 "powershell": "5.1.14409.1005",
3 "schema": "xs2010",
4 "hostname": "ONE-M6-92ED7B8E",
5 "cold": true,
6 "onenote": "14.0.4763.1000"
7}
corpus/m6/cell-shading-control-01/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{F64F199B-2965-4BDE-90D9-0C6088F81DE2}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-06T06:25:42.000Z" color="#B49EDE" isCurrentlyViewed="true"><one:Section name="synthetic" ID="{A5724122-8481-0254-06BE-0167E8865424}{1}{B0}" path="C:\one-tests\runs\capture\notebook\synthetic.one" lastModifiedTime="2026-09-06T06:25:42.000Z" color="#8AA8E4" isCurrentlyViewed="true"><one:Page ID="{CAFC5C10-869C-01A4-22E3-212D16081DAD}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T06:25:42.000Z" pageLevel="1"/><one:Page ID="{E2230E93-274B-4C32-85FB-D03731157B32}{1}{B0}" name="Native feature probes" dateTime="2026-09-06T00:56:24.000Z" lastModifiedTime="2026-09-06T06:25:42.000Z" pageLevel="1" isCurrentlyViewed="true"/></one:Section></one:Notebook>
corpus/m6/cell-shading-control-01/read/page-000.pdf created
Binary files /dev/null and b/corpus/m6/cell-shading-control-01/read/page-000.pdf differ
corpus/m6/cell-shading-control-01/read/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{CAFC5C10-869C-01A4-22E3-212D16081DAD}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T06:25:42.000Z" pageLevel="1" style="font-family:Calibri;font-size:11.0pt" lang="en-US"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="Fixture Author" lastModifiedBy="Fixture Author" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{A5724122-8481-0254-06BE-0167E8865424}{23}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="191.1661224365234" height="13.4277172088623"/><one:Indents><one:Indent level="0" indent="0.0"/></one:Indents><one:OEChildren><one:OE creationTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{A5724122-8481-0254-06BE-0167E8865424}{24}{B0}" alignment="left"><one:T><![CDATA[A notebook created in Rust.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/cell-shading-control-01/read/page-001.pdf created
Binary files /dev/null and b/corpus/m6/cell-shading-control-01/read/page-001.pdf differ
corpus/m6/cell-shading-control-01/read/page-001.xml created+28
...@@ -0,0 +1,28 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E2230E93-274B-4C32-85FB-D03731157B32}{1}{B0}" name="Native feature probes" dateTime="2026-09-06T00:56:24.000Z" lastModifiedTime="2026-09-06T06:25:42.000Z" pageLevel="1" lang="en-US"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="Fixture checkbox"/><one:TagDef index="1" type="90" symbol="13" fontColor="#804020" highlightColor="#00FFFF" name="Fixture custom tag"/><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:QuickStyleDef index="1" name="h1" fontColor="#123456" highlightColor="automatic" font="Calibri" fontSize="20.0" bold="true" spaceBefore="8.0" spaceAfter="4.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Native feature probes]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T00:56:28.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="354.3946228027344" height="115.9424285888672"/><one:OEChildren><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='background:black;mso-highlight:black'>Black highlight, automatic text</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#CBCBCB"><one:T><![CDATA[<span
4style='background:black;mso-highlight:black'>White text on black highlight</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{52}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:black"><one:T><![CDATA[<span
5style='background:black;mso-highlight:black'>Black text on black highlight</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{58}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
6style='font-weight:bold'>Before middle after</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{65}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
7style='background:yellow;mso-highlight:yellow'>Yellow highlight, automatic text</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{71}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span style='font-family:Calibri;
8font-size:11.0pt'>Plain </span><span style='font-weight:bold;font-family:Calibri;
9font-size:11.0pt'>bold</span><span style='font-family:Calibri;font-size:11.0pt'> </span><span
10style='font-style:italic;font-family:Calibri;font-size:11.0pt'>italic</span><span
11style='font-family:Calibri;font-size:11.0pt'> </span><span style='text-decoration:
12underline;font-family:Calibri;font-size:11.0pt'>underline</span><span
13style='font-family:Calibri;font-size:11.0pt'> </span><span style='text-decoration:
14line-through;font-family:Calibri;font-size:11.0pt'>strike</span><span
15style='font-family:Calibri;font-size:11.0pt'> </span><span style='vertical-align:
16super;font-family:Calibri;font-size:11.0pt'>super</span><span style='font-family:
17Calibri;font-size:11.0pt'> </span><span style='vertical-align:sub;font-family:
18Calibri;font-size:11.0pt'>sub</span><span style='font-family:Calibri;
19font-size:11.0pt'> </span><span style='font-family:Consolas;font-size:18.0pt;
20color:#804020;background:aqua;mso-highlight:aqua'>font and color</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T00:56:25.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{82}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
21style='font-family:Calibri' lang=en-US>BMP </span><span style='font-weight:
22bold;font-family:Calibri' lang=x-none>&#128512;é</span><span style='font-family:
23Calibri' lang=en-US> </span><span style='font-family:SimSun' lang=en-US>東京</span><span
24style='font-family:Calibri' lang=en-US> </span><span style='font-style:italic;
25font-family:Arial;direction:rtl;unicode-bidi:embed' lang=ar-SA>مرحبا</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{90}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Before <a
26href="https://example.invalid/fixture?x=1&amp;y=2"><span style='font-weight:
27bold'>Link label</span></a> after]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T00:56:28.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{97}{B0}"><one:Position x="72.0" y="540.0" z="1"/><one:Size width="480.0" height="294.3157653808594"/><one:OEChildren><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{98}{B0}" alignment="right" spaceBefore="288.0" spaceAfter="144.0" quickStyleIndex="1"><one:T><![CDATA[<span
28style='font-weight:bold'>Named paragraph style</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{105}{B0}" alignment="left" quickStyleIndex="0"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:Tag index="1" completed="true" disabled="false" creationDate="2020-01-02T03:04:05.000Z" completionDate="2020-01-02T04:05:06.000Z"/><one:T><![CDATA[Two tags on this paragraph]]></one:T></one:OE><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{112}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Bullet bullet="3" fontSize="11.0"/></one:List><one:T><![CDATA[Outer bullet]]></one:T><one:OEChildren><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{117}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Bullet bullet="13" fontSize="11.0"/></one:List><one:T><![CDATA[Nested bullet]]></one:T></one:OE></one:OEChildren></one:OE><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{124}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="1" numberFormat="##." restartNumberingAt="3" fontSize="11.0" font="Calibri" text="III."/></one:List><one:T><![CDATA[Numbered item three]]></one:T></one:OE><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{130}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="1" numberFormat="##." fontSize="11.0" font="Calibri" text="IV."/></one:List><one:T><![CDATA[Numbered item four]]></one:T></one:OE><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:28.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{136}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T00:56:28.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{137}{B0}"><one:Columns><one:Column index="0" width="120.0" isLocked="true"/><one:Column index="1" width="37.11590576171875"/></one:Columns><one:Row objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{138}{B0}" lastModifiedTime="2026-09-06T00:56:28.000Z"><one:Cell lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{139}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{142}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T00:56:28.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{147}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{150}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{155}{B0}" lastModifiedTime="2026-09-06T00:56:28.000Z"><one:Cell lastModifiedTime="2026-09-06T00:56:28.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{159}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{162}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T00:56:28.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{156}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{167}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{172}{B0}" lastModifiedTime="2026-09-06T00:56:28.000Z"><one:Cell lastModifiedTime="2026-09-06T00:56:28.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{176}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{179}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 2,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T00:56:28.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{173}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{184}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 2,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/cell-shading-control-01/read/payloads.json created+3
...@@ -0,0 +1,3 @@
1[
2
3]
\ No newline at end of file
corpus/m6/cell-shading-control-01/render.log created+1
...@@ -0,0 +1 @@
1Fontconfig error: Cannot load default config file: File not found
corpus/m6/cell-shading-control-01/restart-agent.py created+35
...@@ -0,0 +1,35 @@
1"""Run through the old agent's detached spawn endpoint in a disposable clone."""
2import os
3import ctypes
4from ctypes import wintypes
5import subprocess
6import sys
7import time
8
9if len(sys.argv) != 2 or not sys.argv[1].startswith('ONE-M6-') or os.environ.get('COMPUTERNAME') != sys.argv[1]:
10 raise SystemExit('The disposable clone hostname does not match.')
11parent = os.getppid()
12kernel = ctypes.WinDLL('kernel32', use_last_error=True)
13kernel.OpenProcess.argtypes = (wintypes.DWORD, wintypes.BOOL, wintypes.DWORD)
14kernel.OpenProcess.restype = wintypes.HANDLE
15kernel.TerminateProcess.argtypes = (wintypes.HANDLE, wintypes.UINT)
16kernel.TerminateProcess.restype = wintypes.BOOL
17kernel.WaitForSingleObject.argtypes = (wintypes.HANDLE, wintypes.DWORD)
18kernel.WaitForSingleObject.restype = wintypes.DWORD
19kernel.CloseHandle.argtypes = (wintypes.HANDLE,)
20kernel.CloseHandle.restype = wintypes.BOOL
21handle = kernel.OpenProcess(0x100001, False, parent)
22if not handle:
23 raise ctypes.WinError(ctypes.get_last_error())
24time.sleep(0.5)
25try:
26 if not kernel.TerminateProcess(handle, 0):
27 raise ctypes.WinError(ctypes.get_last_error())
28 if kernel.WaitForSingleObject(handle, 5000) != 0:
29 raise RuntimeError('The old agent did not terminate.')
30finally:
31 kernel.CloseHandle(handle)
32with open(r'C:\one-tests\agent-restart.log', 'ab') as log:
33 subprocess.Popen([sys.executable, r'C:\win7-agent\agent.py'], stdin=subprocess.DEVNULL,
34 stdout=log, stderr=log, close_fds=True,
35 creationflags=subprocess.DETACHED_PROCESS | subprocess.CREATE_NEW_PROCESS_GROUP)
corpus/m6/cell-shading-control-01/run.json created+17
...@@ -0,0 +1,17 @@
1{
2 "notebook": "/Users/clo/dev/one/evidence/m6/cell-shading-input/notebook",
3 "expected_pages": 2,
4 "author": null,
5 "author_timeout_seconds": 600,
6 "inspect": false,
7 "base": {
8 "file": "win7-office-base.qcow2",
9 "format": "qcow2",
10 "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346",
11 "virtual_size": 68719476736
12 },
13 "scripts": {
14 "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
15 "read.ps1": "086789e467779add0fc071ad8c524c2b02d3d0d609aea4a41f3128cadba371e8"
16 }
17}
corpus/m6/cell-shading-control-01/scripts/cold.ps1 created+27
...@@ -0,0 +1,27 @@
1param([Parameter(Mandatory=$true)][string]$Root, [string]$CloneHost = '')
2Set-StrictMode -Version Latest
3$ErrorActionPreference = 'Stop'
4$root = [IO.Path]::GetFullPath($Root).TrimEnd('\')
5if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') {
6 throw 'Choose a run directly below C:\one-tests\runs.'
7}
8if (Get-Process ONENOTE -ErrorAction SilentlyContinue) { throw 'Close OneNote before resetting its test cache.' }
9$key = 'HKCU:\Software\Microsoft\Office\14.0\OneNote'
10if ($CloneHost) {
11 if ($CloneHost -notmatch '^ONE-[A-Z0-9-]+$' -or [Environment]::MachineName -ne $CloneHost) {
12 throw 'The disposable clone hostname does not match this machine.'
13 }
14 New-Item "$key\Options\Paths" -Force | Out-Null
15 New-ItemProperty "$key\Options\Paths" -Name UnfiledNotesSection -PropertyType ExpandString -Value 'C:\one-tests\Loose.one' -Force | Out-Null
16} elseif ((Get-ItemProperty "$key\Options\Paths").UnfiledNotesSection -ne 'C:\one-tests\Loose.one' -or
17 -not (Test-Path 'C:\one-tests\profile-original-cache')) {
18 throw 'Park the personal OneNote profile before resetting the test cache.'
19}
20$cache = Join-Path $env:LOCALAPPDATA 'Microsoft\OneNote\14.0'
21$parked = Join-Path 'C:\one-tests\caches' ([IO.Path]::GetFileName($root))
22if (Test-Path $parked) { throw 'Choose a new run; its parked cache already exists.' }
23New-Item -ItemType Directory -Path 'C:\one-tests\caches' -Force | Out-Null
24if (Test-Path $cache) { Move-Item -LiteralPath $cache -Destination $parked }
25if (Test-Path "$key\OpenNotebooks") { Remove-Item "$key\OpenNotebooks" -Recurse }
26New-Item "$key\OpenNotebooks" | Out-Null
27New-ItemProperty "$key\OpenNotebooks" -Name '1' -PropertyType String -Value "$root\notebook" | Out-Null
corpus/m6/cell-shading-control-01/scripts/read.ps1 created+139
...@@ -0,0 +1,139 @@
1param(
2 [Parameter(Mandatory=$true)][string]$Root,
3 [int]$ExpectedPages = -1,
4 [switch]$UseCurrentCache,
5 [switch]$Pdf,
6 [switch]$KeepOpen,
7 [string]$CloneHost = ''
8)
9Set-StrictMode -Version Latest
10$ErrorActionPreference = 'Stop'
11$root = [IO.Path]::GetFullPath($Root).TrimEnd('\')
12if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') {
13 throw 'Choose a run directly below C:\one-tests\runs.'
14}
15$notebook = Join-Path $root 'notebook'
16$output = Join-Path $root 'read'
17if (Test-Path $output) { throw 'Choose a new read destination.' }
18if ($UseCurrentCache) {
19 if ((Get-ItemProperty 'HKCU:\Software\Microsoft\Office\14.0\OneNote\Options\Paths').UnfiledNotesSection -ne 'C:\one-tests\Loose.one') {
20 throw 'Park the personal OneNote profile before reading test notebooks.'
21 }
22} else {
23 & "$PSScriptRoot\cold-current.ps1" -Root $root -CloneHost $CloneHost
24}
25New-Item -ItemType Directory -Path $output | Out-Null
26$app = New-Object -ComObject OneNote.Application
27$notebookId = ''
28$failure = $null
29try {
30 $app.OpenHierarchy($notebook, '', [ref]$notebookId, 0)
31 $process = Get-Process ONENOTE
32 @{ hostname = [Environment]::MachineName; onenote = $process.MainModule.FileVersionInfo.FileVersion;
33 powershell = $PSVersionTable.PSVersion.ToString(); schema = 'xs2010'; cold = (-not $UseCurrentCache.IsPresent) } |
34 ConvertTo-Json | Set-Content (Join-Path $output 'environment.json') -Encoding UTF8
35 $sections = @()
36 foreach ($file in @(Get-ChildItem $notebook -Recurse | Where-Object { $_.Extension -eq '.one' })) {
37 $id = ''
38 $app.OpenHierarchy($file.FullName, '', [ref]$id, 0)
39 $sections += $id
40 }
41 $deadline = [DateTime]::UtcNow.AddSeconds(300)
42 $previous = ''
43 $stableSince = [DateTime]::UtcNow
44 $settled = $false
45 do {
46 $pages = @{}
47 foreach ($section in $sections) {
48 $hierarchy = ''
49 $app.GetHierarchy($section, 4, [ref]$hierarchy, 1)
50 [xml]$xml = $hierarchy
51 foreach ($node in $xml.SelectNodes('//*[@path]')) {
52 if (-not $node.GetAttribute('path').StartsWith("$notebook\", [StringComparison]::OrdinalIgnoreCase)) {
53 throw 'OneNote opened a section outside the copied notebook.'
54 }
55 }
56 foreach ($node in $xml.SelectNodes('//*[local-name()="Page"]')) {
57 $id = $node.GetAttribute('ID')
58 $content = ''
59 $app.GetPageContent($id, [ref]$content, 1, 1)
60 $pages[$id] = $content
61 }
62 }
63 $signature = [String]::Join('|', @($pages.Keys | Sort-Object | ForEach-Object { $_ + $pages[$_] }))
64 if ($signature -ne $previous) {
65 $previous = $signature
66 $stableSince = [DateTime]::UtcNow
67 }
68 if ((($ExpectedPages -ge 0 -and $pages.Count -eq $ExpectedPages) -or
69 ($ExpectedPages -lt 0 -and $pages.Count -gt 0)) -and
70 ([DateTime]::UtcNow - $stableSince).TotalSeconds -ge 2) { $settled = $true; break }
71 Start-Sleep -Milliseconds 250
72 } while ([DateTime]::UtcNow -lt $deadline)
73 if (-not $settled -or ($ExpectedPages -ge 0 -and $pages.Count -ne $ExpectedPages) -or ($ExpectedPages -lt 0 -and $pages.Count -eq 0)) {
74 $index = 0
75 foreach ($id in @($pages.Keys | Sort-Object)) {
76 [IO.File]::WriteAllText((Join-Path $output ('unsettled-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8)
77 $index++
78 }
79 $hierarchy = ''
80 $app.GetHierarchy($notebookId, 4, [ref]$hierarchy, 1)
81 [IO.File]::WriteAllText((Join-Path $output 'unsettled-hierarchy.xml'), $hierarchy, [Text.Encoding]::UTF8)
82 throw "Expected $ExpectedPages pages; OneNote returned $($pages.Count)."
83 }
84 $index = 0
85 $payloads = @()
86 foreach ($id in @($pages.Keys | Sort-Object)) {
87 [IO.File]::WriteAllText((Join-Path $output ('page-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8)
88 if ($Pdf) {
89 $pdfPath = Join-Path $output ('page-{0:d3}.pdf' -f $index)
90 $app.NavigateTo($id, '', $false)
91 $app.Publish($id, $pdfPath, 3, '')
92 if (-not (Test-Path $pdfPath) -or (Get-Item $pdfPath).Length -eq 0) { throw 'OneNote did not publish the page PDF.' }
93 }
94 [xml]$page = $pages[$id]
95 foreach ($file in $page.SelectNodes('//*[local-name()="InsertedFile" or local-name()="MediaFile"]')) {
96 $bytes = [IO.File]::ReadAllBytes($file.GetAttribute('pathCache'))
97 $hash = [BitConverter]::ToString([Security.Cryptography.SHA256]::Create().ComputeHash($bytes)).Replace('-', '').ToLowerInvariant()
98 [IO.File]::WriteAllBytes((Join-Path $output ($hash + '.attachment')), $bytes)
99 $payloads += @{ page = $id; object = $file.ParentNode.GetAttribute('objectID');
100 kind = $file.LocalName; name = $file.GetAttribute('preferredName');
101 sha256 = $hash; bytes = $bytes.Length }
102 }
103 $index++
104 }
105 [IO.File]::WriteAllText((Join-Path $output 'payloads.json'), (ConvertTo-Json -InputObject $payloads -Depth 4), [Text.Encoding]::UTF8)
106 $all = ''
107 $app.GetHierarchy($notebookId, 4, [ref]$all, 1)
108 [xml]$finalTree = $all
109 $finalIds = @($finalTree.SelectNodes('//*[local-name()="Page"]') | ForEach-Object { $_.GetAttribute('ID') } | Sort-Object -Unique)
110 if ($finalIds.Count -ne $pages.Count -or @($finalIds | Where-Object { -not $pages.ContainsKey($_) }).Count -ne 0) {
111 throw 'The notebook hierarchy changed while collecting page evidence; repeat the cold read.'
112 }
113 [IO.File]::WriteAllText((Join-Path $output 'hierarchy.xml'), $all, [Text.Encoding]::UTF8)
114 Write-Output "Read $($sections.Count) sections and $($pages.Count) pages."
115} catch {
116 $failure = $_
117 [IO.File]::WriteAllText((Join-Path $output 'failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8)
118 throw
119} finally {
120 try {
121 try {
122 if ($notebookId -and $CloneHost) { $app.SyncHierarchy($notebookId) }
123 if ($notebookId -and -not $KeepOpen -and (-not $UseCurrentCache -or $CloneHost)) {
124 $app.CloseNotebook($notebookId, $false)
125 }
126 } catch {
127 if ($null -eq $failure) { throw }
128 [IO.File]::WriteAllText((Join-Path $output 'cleanup-failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8)
129 }
130 } finally {
131 [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
132 }
133 $app = $null
134 [GC]::Collect()
135 [GC]::WaitForPendingFinalizers()
136 if (-not $UseCurrentCache -and -not $CloneHost) {
137 Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10
138 }
139}
corpus/m6/cell-shading-control-01/shading-1.png created
Binary files /dev/null and b/corpus/m6/cell-shading-control-01/shading-1.png differ
corpus/m6/cell-shading-control-01/shading-2.png created
Binary files /dev/null and b/corpus/m6/cell-shading-control-01/shading-2.png differ
corpus/m6/cell-shading-control-01/source.json created+8
...@@ -0,0 +1,8 @@
1[
2 {
3 "path": "synthetic.one",
4 "bytes": 22908,
5 "sha256": "df80ddabd0288dde9f050db2417c00e48c8af6f65693f754dc8196ee61ae86ac",
6 "mtime_ns": 1788675858562666007
7 }
8]
corpus/m6/cell-shading-control-01/teardown.json created+1
...@@ -0,0 +1 @@
1{"absent": true}
corpus/m6/live-collaboration-15/ORACLE.md created+33
...@@ -0,0 +1,33 @@
1# Live collaboration and interruption matrix
2
3`tools/native_collaboration.py` ran two fresh Windows 7 / OneNote
414.0.4763.1000 clients against the disposable Linux Samba server. `linux.json`,
5`server.jsonl`, `run.json`, each client's native captures, and checkpoint notebooks
6record the environment and operations. `result.json` contains seven passing cases:
7
8- A Rust scalar edit and a native edit to another outline converged.
9- Concurrent edits to the same text retained both versions as a native conflict.
10- Samba restart preserved the converged state.
11- Disconnecting one client's lab NIC allowed independent offline/online edits;
12 both converged after reconnection.
13- An exclusive macOS file lock prevented native changes to the shared bytes;
14 the queued native edit synchronized after release.
15- Terminating and restarting OneNote preserved already synchronized edits.
16- Abruptly terminating QEMU and reopening the same overlay preserved those edits.
17
18`retention.json` validates the current page's explicit conflict-space reference,
19not merely the presence of old text in historical revisions. The final notebook
20was reopened from a separate fresh cache in `../live-collaboration-cold-15`.
21Its native comparison passed, and `conflict.png` shows the competing edit in
22OneNote's read-only conflict view. Both Windows clients, the verifier, and the
23Linux VM were deleted; teardown records accompany each run.
24
25Process/VM termination covers already server-persisted data. It does not claim
26unsynchronized cache durability or physical host power-loss safety. The separate
27stage-5 corpus covers lost successful SMB FLUSH responses.
28
29The controller submits only the edited top-level content container. Submitting
30all cached page containers in an offline update replayed stale content over an
31unrelated online edit; failure evidence is `evidence/m6/live-collaboration-13`.
32Mac SMB mounts were explicitly reconnected after Samba restarts because the OS
33revoked the original mount. Failed setup runs remain separate from acceptance.
corpus/m6/live-collaboration-15/a/agent.py created+439
...@@ -0,0 +1,439 @@
1import base64
2import ctypes
3import hashlib
4import json
5import os
6import struct
7import subprocess
8import sys
9import tempfile
10import threading
11import time
12import zlib
13from ctypes import wintypes
14from http.server import ThreadingHTTPServer, BaseHTTPRequestHandler
15
16BASE = os.path.dirname(os.path.abspath(__file__))
17with open(__file__, 'rb') as source:
18 AGENT_SHA256 = hashlib.sha256(source.read()).hexdigest()
19LOCK = threading.Lock()
20
21user32 = ctypes.windll.user32
22gdi32 = ctypes.windll.gdi32
23
24SRCCOPY = 0x00CC0020
25CAPTUREBLT = 0x40000000
26BI_RGB = 0
27DIB_RGB_COLORS = 0
28
29# restype must be set on x64: the default c_int return truncates a 64-bit HANDLE.
30user32.GetDC.restype = wintypes.HDC
31user32.GetDC.argtypes = [wintypes.HWND]
32user32.ReleaseDC.restype = ctypes.c_int
33user32.ReleaseDC.argtypes = [wintypes.HWND, wintypes.HDC]
34user32.GetSystemMetrics.restype = ctypes.c_int
35user32.GetSystemMetrics.argtypes = [ctypes.c_int]
36gdi32.CreateCompatibleDC.restype = wintypes.HDC
37gdi32.CreateCompatibleDC.argtypes = [wintypes.HDC]
38gdi32.CreateCompatibleBitmap.restype = wintypes.HBITMAP
39gdi32.CreateCompatibleBitmap.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int]
40gdi32.SelectObject.restype = wintypes.HGDIOBJ
41gdi32.SelectObject.argtypes = [wintypes.HDC, wintypes.HGDIOBJ]
42gdi32.BitBlt.restype = wintypes.BOOL
43gdi32.BitBlt.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int, ctypes.c_int,
44 ctypes.c_int, wintypes.HDC, ctypes.c_int, ctypes.c_int,
45 wintypes.DWORD]
46gdi32.GetDIBits.restype = ctypes.c_int
47gdi32.GetDIBits.argtypes = [wintypes.HDC, wintypes.HBITMAP, wintypes.UINT,
48 wintypes.UINT, ctypes.c_void_p, ctypes.c_void_p,
49 wintypes.UINT]
50gdi32.DeleteObject.restype = wintypes.BOOL
51gdi32.DeleteObject.argtypes = [wintypes.HGDIOBJ]
52gdi32.DeleteDC.restype = wintypes.BOOL
53gdi32.DeleteDC.argtypes = [wintypes.HDC]
54
55WNDENUMPROC = ctypes.WINFUNCTYPE(wintypes.BOOL, wintypes.HWND, wintypes.LPARAM)
56user32.GetForegroundWindow.restype = wintypes.HWND
57user32.GetForegroundWindow.argtypes = []
58user32.GetWindowTextW.restype = ctypes.c_int
59user32.GetWindowTextW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int]
60user32.GetClassNameW.restype = ctypes.c_int
61user32.GetClassNameW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int]
62user32.GetClientRect.restype = wintypes.BOOL
63user32.GetClientRect.argtypes = [wintypes.HWND, ctypes.POINTER(wintypes.RECT)]
64user32.EnumChildWindows.restype = wintypes.BOOL
65user32.EnumChildWindows.argtypes = [wintypes.HWND, WNDENUMPROC, wintypes.LPARAM]
66
67
68class BITMAPINFOHEADER(ctypes.Structure):
69 _fields_ = [("biSize", wintypes.DWORD),
70 ("biWidth", wintypes.LONG),
71 ("biHeight", wintypes.LONG),
72 ("biPlanes", wintypes.WORD),
73 ("biBitCount", wintypes.WORD),
74 ("biCompression", wintypes.DWORD),
75 ("biSizeImage", wintypes.DWORD),
76 ("biXPelsPerMeter", wintypes.LONG),
77 ("biYPelsPerMeter", wintypes.LONG),
78 ("biClrUsed", wintypes.DWORD),
79 ("biClrImportant", wintypes.DWORD)]
80
81
82PREAMBLE = (
83 "#Requires AutoHotkey v2.0\n"
84 "#SingleInstance Off\n"
85 "#Warn All, Off\n"
86 'FileEncoding "UTF-8-RAW"\n'
87 'SendMode "Input"\n'
88 "SetWorkingDir A_ScriptDir\n"
89 'CoordMode "Mouse", "Screen"\n'
90 'CoordMode "Pixel", "Screen"\n'
91 'CoordMode "ToolTip", "Screen"\n'
92 "SetTitleMatchMode 2\n"
93 "DetectHiddenWindows true\n"
94)
95
96
97def ahk_path():
98 u64 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey64.exe")
99 u32 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey32.exe")
100 return u64 if os.path.exists(u64) else u32
101
102
103def _chunk(tag, data):
104 return (struct.pack(">I", len(data)) + tag + data +
105 struct.pack(">I", zlib.crc32(tag + data) & 0xffffffff))
106
107
108def _to_png(bgra, w, h):
109 arr = bytearray(bgra)
110 r = arr[2::4]
111 arr[2::4] = arr[0::4]
112 arr[0::4] = r
113 del arr[3::4]
114 stride = w * 3
115 mv = memoryview(arr)
116 raw = bytearray()
117 for y in range(h):
118 raw.append(0)
119 raw += mv[y * stride:(y + 1) * stride]
120 ihdr = struct.pack(">IIBBBBB", w, h, 8, 2, 0, 0, 0)
121 return (b"\x89PNG\r\n\x1a\n" + _chunk(b"IHDR", ihdr) +
122 _chunk(b"IDAT", zlib.compress(bytes(raw))) + _chunk(b"IEND", b""))
123
124
125def capture():
126 w = user32.GetSystemMetrics(0)
127 h = user32.GetSystemMetrics(1)
128 hdc = user32.GetDC(None)
129 mem = None
130 hbm = None
131 try:
132 mem = gdi32.CreateCompatibleDC(hdc)
133 hbm = gdi32.CreateCompatibleBitmap(hdc, w, h)
134 old = gdi32.SelectObject(mem, hbm)
135 gdi32.BitBlt(mem, 0, 0, w, h, hdc, 0, 0, SRCCOPY | CAPTUREBLT)
136 gdi32.SelectObject(mem, old)
137 bmi = BITMAPINFOHEADER()
138 bmi.biSize = ctypes.sizeof(BITMAPINFOHEADER)
139 bmi.biWidth = w
140 bmi.biHeight = -h # negative => top-down rows, matches screenshot orientation
141 bmi.biPlanes = 1
142 bmi.biBitCount = 32
143 bmi.biCompression = BI_RGB
144 buf = ctypes.create_string_buffer(w * h * 4)
145 if gdi32.GetDIBits(mem, hbm, 0, h, buf, ctypes.byref(bmi),
146 DIB_RGB_COLORS) == 0:
147 raise RuntimeError("GetDIBits failed")
148 data = buf.raw
149 finally:
150 if hbm:
151 gdi32.DeleteObject(hbm)
152 if mem:
153 gdi32.DeleteDC(mem)
154 user32.ReleaseDC(None, hdc)
155 return _to_png(data, w, h), w, h
156
157
158def _win_text(fn, hwnd, n=512):
159 buf = ctypes.create_unicode_buffer(n)
160 fn(hwnd, buf, n)
161 return buf.value
162
163
164def active_window():
165 hwnd = user32.GetForegroundWindow()
166 if not hwnd:
167 return {"title": "", "class": "", "dialog": False}
168 cls = _win_text(user32.GetClassNameW, hwnd)
169 return {"title": _win_text(user32.GetWindowTextW, hwnd),
170 "class": cls, "dialog": cls == "#32770"}
171
172
173def control_tree():
174 hwnd = user32.GetForegroundWindow()
175 rows = []
176
177 def add(h):
178 rect = wintypes.RECT()
179 user32.GetClientRect(h, ctypes.byref(rect))
180 rows.append((_win_text(user32.GetClassNameW, h),
181 _win_text(user32.GetWindowTextW, h),
182 rect.left, rect.top,
183 rect.right - rect.left, rect.bottom - rect.top))
184
185 if hwnd:
186 add(hwnd)
187
188 def cb(child, _lparam):
189 add(child)
190 return True
191 user32.EnumChildWindows(hwnd, WNDENUMPROC(cb), 0)
192 lines = ["%-24s %-28s %s" % ("class", "text", "l,t,w,h")]
193 for cls, text, l, t, w, h in rows:
194 lines.append("%-24s %-28s %d,%d,%d,%d" % (cls, text, l, t, w, h))
195 return "\n".join(lines)
196
197
198def _run(argv, timeout_ms, encoding, on_timeout=None):
199 def dec(b):
200 return b.decode(encoding, "replace") if b else ""
201
202 p = subprocess.Popen(argv, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
203 try:
204 out, err = p.communicate(timeout=timeout_ms / 1000.0)
205 return p.returncode, dec(out), dec(err), None
206 except subprocess.TimeoutExpired:
207 if on_timeout:
208 on_timeout()
209 subprocess.call(["taskkill", "/F", "/T", "/PID", str(p.pid)])
210 try:
211 # A process the script launched can outlive taskkill still holding the
212 # inherited stdout pipe; an unbounded wait here wedges the agent's lock.
213 out, err = p.communicate(timeout=5)
214 except subprocess.TimeoutExpired:
215 out = err = b""
216 for pipe in (p.stdout, p.stderr):
217 if pipe:
218 pipe.close()
219 msg = "timed out after %d ms, process killed" % timeout_ms
220 return None, dec(out), dec(err), msg
221
222
223def run_ahk(script, timeout_ms, on_timeout=None):
224 fd, path = tempfile.mkstemp(suffix=".ahk")
225 os.close(fd)
226 # AutoHotkey (Unicode-only) needs a UTF-8 BOM to read the file as UTF-8.
227 with open(path, "wb") as f:
228 f.write(b"\xef\xbb\xbf" + (PREAMBLE + script).encode("utf-8"))
229 try:
230 # /ErrorStdOut sends syntax errors to stderr instead of a blocking modal.
231 code, out, err, error = _run([ahk_path(), "/ErrorStdOut", path], timeout_ms,
232 "utf-8", on_timeout)
233 finally:
234 os.remove(path)
235 if error:
236 error = "script " + error
237 return code, out, err, error
238
239
240def _safe_capture(error):
241 try:
242 png, w, h = capture()
243 return base64.b64encode(png).decode("ascii"), w, h, error
244 except Exception as e:
245 note = "screenshot failed: " + repr(e)
246 return "", 0, 0, (error + "; " + note if error else note)
247
248
249LOG_PATH = os.path.join(BASE, "agent.log")
250LOG_LOCK = threading.Lock()
251
252
253def log(text, stamp=True):
254 """Console and agent.log, so a session can be reconstructed after the fact."""
255 line = time.strftime("%Y-%m-%d %H:%M:%S ") + text if stamp else text
256 with LOG_LOCK:
257 print(line, end="" if line.endswith("\n") else "\n", flush=True)
258 try:
259 with open(LOG_PATH, "a", encoding="utf-8") as f:
260 f.write(line if line.endswith("\n") else line + "\n")
261 except OSError:
262 pass # a log that cannot be written must not take the agent down
263
264
265class Handler(BaseHTTPRequestHandler):
266 def log_message(self, *a):
267 pass
268
269 def _send(self, code, obj):
270 body = json.dumps(obj).encode("utf-8")
271 self.send_response(code)
272 self.send_header("Content-Type", "application/json")
273 self.send_header("Content-Length", str(len(body)))
274 self.end_headers()
275 self.wfile.write(body)
276
277 def _log(self, start, code, body=None):
278 log("%s %s %dms exit=%s" % (self.command, self.path,
279 int((time.time() - start) * 1000), code))
280 if body:
281 log("".join(" | %s\n" % l for l in body.splitlines()), stamp=False)
282
283 def _auth_ok(self):
284 token = os.environ.get("WIN7_TOKEN")
285 return not token or self.headers.get("X-Win7-Token") == token
286
287 def _body(self):
288 n = int(self.headers.get("Content-Length") or 0)
289 raw = self.rfile.read(n) if n else b""
290 return json.loads(raw.decode("utf-8")) if raw else {}
291
292 def do_GET(self):
293 start = time.time()
294 if not self._auth_ok():
295 self._send(401, {"error": "bad token"})
296 elif self.path == "/health":
297 self._send(200, {"ok": True, "w": user32.GetSystemMetrics(0),
298 "h": user32.GetSystemMetrics(1),
299 "hostname": os.environ.get("COMPUTERNAME", ""),
300 "ahk": ahk_path(), "python": sys.executable,
301 "agent_sha256": AGENT_SHA256})
302 else:
303 self._send(404, {"error": "not found"})
304 self._log(start, None)
305
306 def do_POST(self):
307 start = time.time()
308 code = None
309 if not self._auth_ok():
310 self._send(401, {"error": "bad token"})
311 self._log(start, None)
312 return
313 try:
314 data = self._body()
315 except Exception:
316 self._send(400, {"error": "bad json"})
317 self._log(start, None)
318 return
319 body = {"/exec": data.get("script"), "/cmd": data.get("command"),
320 "/spawn": data.get("command"),
321 "/put": data.get("path"), "/get": data.get("path")}.get(self.path)
322 try:
323 if self.path == "/exec":
324 resp = self._exec(data)
325 code = resp["exit"]
326 elif self.path == "/cmd":
327 resp = self._cmd(data)
328 code = resp["exit"]
329 elif self.path == "/spawn":
330 resp = self._spawn(data)
331 code = 0
332 elif self.path == "/put":
333 resp = self._put(data)
334 elif self.path == "/get":
335 resp = self._get(data)
336 elif self.path == "/shot":
337 resp = self._shot()
338 elif self.path == "/ui":
339 resp = self._ui()
340 else:
341 self._send(404, {"error": "not found"})
342 self._log(start, None)
343 return
344 self._send(200, resp)
345 except Exception as e:
346 self._send(200, {"error": repr(e), "exit": None, "stdout": "",
347 "stderr": "", "png_b64": "", "w": 0, "h": 0})
348 self._log(start, code, body)
349
350 def _exec(self, data):
351 pre = []
352
353 def grab(): # capture before taskkill so the blocker is still on screen
354 pre.append((_safe_capture(None), active_window()))
355
356 with LOCK:
357 code, out, err, error = run_ahk(data.get("script", ""),
358 data.get("timeout_ms", 60000), grab)
359 if pre:
360 (b64, w, h, note), win = pre[0]
361 else:
362 time.sleep(data.get("shot_delay_ms", 500) / 1000.0)
363 b64, w, h, note = _safe_capture(None)
364 win = active_window()
365 if note:
366 error = error + "; " + note if error else note
367 return {"exit": code, "stdout": out, "stderr": err, "png_b64": b64,
368 "w": w, "h": h, "error": error, "win": win}
369
370 def _put(self, data):
371 path = data.get("path", "")
372 blob = base64.b64decode(data.get("b64", ""))
373 parent = os.path.dirname(path)
374 if parent and not os.path.isdir(parent):
375 os.makedirs(parent)
376 with open(path, "wb") as f:
377 f.write(blob)
378 return {"bytes": len(blob), "path": os.path.abspath(path), "error": None}
379
380 def _get(self, data):
381 with open(data.get("path", ""), "rb") as f:
382 blob = f.read()
383 return {"b64": base64.b64encode(blob).decode("ascii"), "bytes": len(blob),
384 "error": None}
385
386 def _cmd(self, data):
387 with LOCK:
388 # A raw command-line string, not a list: on Windows list2cmdline would
389 # backslash-escape the embedded quotes before cmd.exe ever sees them.
390 code, out, err, error = _run("cmd.exe /c " + data.get("command", ""),
391 data.get("timeout_ms", 60000), "oem")
392 return {"exit": code, "stdout": out, "stderr": err, "error": error}
393
394 def _spawn(self, data):
395 flags = subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS
396 process = subprocess.Popen(data.get("command", ""), stdin=subprocess.DEVNULL,
397 stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL,
398 close_fds=True, creationflags=flags)
399 return {"pid": process.pid, "error": None}
400
401 def _shot(self):
402 b64, w, h, error = _safe_capture(None)
403 win = active_window()
404 return {"png_b64": b64, "w": w, "h": h, "error": error, "win": win}
405
406 def _ui(self):
407 win = active_window()
408 controls = control_tree()
409 return {"win": win, "controls": controls, "error": None}
410
411
412def keep_awake():
413 """Hold the display and system awake for as long as this process lives.
414
415 Screen blanking alone is harmless -- BitBlt still captures the composited
416 desktop -- but sleep kills the agent outright, and a locked session moves
417 the desktop to Winlogon where neither AutoHotkey nor the capture can reach.
418 """
419 ES_CONTINUOUS, ES_SYSTEM_REQUIRED, ES_DISPLAY_REQUIRED = 0x80000000, 0x1, 0x2
420 kernel32 = ctypes.windll.kernel32
421 kernel32.SetThreadExecutionState.restype = wintypes.DWORD
422 kernel32.SetThreadExecutionState.argtypes = [wintypes.DWORD]
423 return kernel32.SetThreadExecutionState(
424 ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED)
425
426
427def main():
428 user32.SetProcessDPIAware()
429 awake = keep_awake()
430 port = int(os.environ.get("WIN7_PORT", "8777"))
431 srv = ThreadingHTTPServer(("0.0.0.0", port), Handler)
432 log("win7-agent listening on 0.0.0.0:%d ahk=%s log=%s%s"
433 % (port, ahk_path(), LOG_PATH,
434 "" if awake else " (WARNING: could not inhibit sleep)"))
435 srv.serve_forever()
436
437
438if __name__ == "__main__":
439 main()
corpus/m6/live-collaboration-15/a/closed created+1
...@@ -0,0 +1 @@
1closed
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0001.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0002.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0003.json created+1
...@@ -0,0 +1 @@
1{"action": "edit", "expected": "Fictitious positioned outline.", "text": "Native disjoint edit."}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0004.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0005.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0006.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0007.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0008.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0009.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0010.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0011.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0012.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0013.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0014.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0015.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0016.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0017.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0018.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0019.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0020.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0021.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0022.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0023.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0024.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0025.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0026.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0027.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0028.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0029.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0030.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0031.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0032.json created+1
...@@ -0,0 +1 @@
1{"action": "edit", "expected": "Rust disjoint edit.........", "text": "Client A concurrent edit."}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0033.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0034.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0035.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0036.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0037.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0038.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0039.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0040.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0041.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0042.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0043.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0044.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0045.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0046.json created+1
...@@ -0,0 +1 @@
1{"action": "edit", "expected": "Native disjoint edit.", "text": "Client A offline edit."}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0047.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0048.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0049.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0050.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0051.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0052.json created+1
...@@ -0,0 +1 @@
1{"action": "edit", "expected": "Client A offline edit.", "text": "Native lock recovery."}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0053.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0054.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0055.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0056.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0057.json created+1
...@@ -0,0 +1 @@
1{"action": "kill-process"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0058.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0059.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0060.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0061.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/command-0062.json created+1
...@@ -0,0 +1 @@
1{"action": "close"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/commands.jsonl created+71
...@@ -0,0 +1,71 @@
1{"command": "mkdir C:\\one-tests\\runs\\capture", "exit": 0, "stdout": "", "stderr": "", "error": null}
2{"command": "powershell -NoProfile -ExecutionPolicy Bypass -File C:\\one-tests\\network.ps1 -LabMac 52:54:02:c6:92:8d", "exit": 0, "stdout": "{\"renewalResult\":0,\"releaseResult\":83,\"mac\":\"52:54:02:c6:92:8d\",\"address\":\"192.168.77.111\"}\r\n", "stderr": "", "error": null}
3{"command": "ipconfig", "exit": 0, "stdout": "\r\nWindows IP Configuration\r\n\r\n\r\nEthernet adapter Local Area Connection 2:\r\n\r\n Connection-specific DNS Suffix . : \r\n Link-local IPv6 Address . . . . . : fe80::9965:a22f:77e:4939%13\r\n IPv4 Address. . . . . . . . . . . : 192.168.77.111\r\n Subnet Mask . . . . . . . . . . . : 255.255.255.0\r\n Default Gateway . . . . . . . . . : \r\n\r\nEthernet adapter Local Area Connection:\r\n\r\n Connection-specific DNS Suffix . : \r\n Site-local IPv6 Address . . . . . : fec0::2458:7ec3:bb80:2557%1\r\n Link-local IPv6 Address . . . . . : fe80::2458:7ec3:bb80:2557%11\r\n IPv4 Address. . . . . . . . . . . : 10.0.2.15\r\n Subnet Mask . . . . . . . . . . . : 255.255.255.0\r\n Default Gateway . . . . . . . . . : fe80::2%11\r\n 10.0.2.2\r\n\r\nTunnel adapter isatap.{2913F119-34A2-4D05-B185-573FF3B2121A}:\r\n\r\n Media State . . . . . . . . . . . : Media disconnected\r\n Connection-specific DNS Suffix . : \r\n\r\nTunnel adapter isatap.{A59CB099-98D4-4C81-9159-48128C5EBB69}:\r\n\r\n Media State . . . . . . . . . . . : Media disconnected\r\n Connection-specific DNS Suffix . : \r\n", "stderr": "", "error": null}
4{"command": "dir \\\\192.168.77.1\\agent\\m6-collaboration", "exit": 0, "stdout": " Volume in drive \\\\192.168.77.1\\agent is agent\r\n Volume Serial Number is 640F-A719\r\n\r\n Directory of \\\\192.168.77.1\\agent\\m6-collaboration\r\n\r\n09/05/2026 10:58 PM <DIR> .\r\n09/05/2026 10:58 PM <DIR> ..\r\n09/04/2026 10:12 PM 4,944 Open Notebook.onetoc2\r\n09/04/2026 10:12 PM 27,808 synthetic.one\r\n 2 File(s) 32,752 bytes\r\n 2 Dir(s) 14,688,968,704 bytes free\r\n", "stderr": "", "error": null}
5{"command": "if exist C:\\one-tests\\runs\\capture\\ready del C:\\one-tests\\runs\\capture\\ready", "exit": 0, "stdout": "", "stderr": "", "error": null}
6{"command": "ipconfig", "exit": 0, "stdout": "\r\nWindows IP Configuration\r\n\r\n\r\nEthernet adapter Local Area Connection 2:\r\n\r\n Connection-specific DNS Suffix . : \r\n Link-local IPv6 Address . . . . . : fe80::9965:a22f:77e:4939%13\r\n IPv4 Address. . . . . . . . . . . : 192.168.77.111\r\n Subnet Mask . . . . . . . . . . . : 255.255.255.0\r\n Default Gateway . . . . . . . . . : \r\n\r\nEthernet adapter Local Area Connection:\r\n\r\n Connection-specific DNS Suffix . : \r\n Site-local IPv6 Address . . . . . : fec0::2458:7ec3:bb80:2557%1\r\n Link-local IPv6 Address . . . . . : fe80::2458:7ec3:bb80:2557%11\r\n IPv4 Address. . . . . . . . . . . : 10.0.2.15\r\n Subnet Mask . . . . . . . . . . . : 255.255.255.0\r\n Default Gateway . . . . . . . . . : fe80::2%11\r\n 10.0.2.2\r\n\r\nTunnel adapter isatap.{2913F119-34A2-4D05-B185-573FF3B2121A}:\r\n\r\n Media State . . . . . . . . . . . : Media disconnected\r\n Connection-specific DNS Suffix . : \r\n\r\nTunnel adapter isatap.{A59CB099-98D4-4C81-9159-48128C5EBB69}:\r\n\r\n Media State . . . . . . . . . . . : Media disconnected\r\n Connection-specific DNS Suffix . : \r\n", "stderr": "", "error": null}
7{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0001.tmp C:\\one-tests\\runs\\capture\\inbox\\0001.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
8{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0002.tmp C:\\one-tests\\runs\\capture\\inbox\\0002.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
9{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0003.tmp C:\\one-tests\\runs\\capture\\inbox\\0003.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
10{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0004.tmp C:\\one-tests\\runs\\capture\\inbox\\0004.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
11{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0005.tmp C:\\one-tests\\runs\\capture\\inbox\\0005.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
12{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0006.tmp C:\\one-tests\\runs\\capture\\inbox\\0006.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
13{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0007.tmp C:\\one-tests\\runs\\capture\\inbox\\0007.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
14{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0008.tmp C:\\one-tests\\runs\\capture\\inbox\\0008.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
15{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0009.tmp C:\\one-tests\\runs\\capture\\inbox\\0009.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
16{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0010.tmp C:\\one-tests\\runs\\capture\\inbox\\0010.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
17{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0011.tmp C:\\one-tests\\runs\\capture\\inbox\\0011.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
18{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0012.tmp C:\\one-tests\\runs\\capture\\inbox\\0012.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
19{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0013.tmp C:\\one-tests\\runs\\capture\\inbox\\0013.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
20{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0014.tmp C:\\one-tests\\runs\\capture\\inbox\\0014.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
21{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0015.tmp C:\\one-tests\\runs\\capture\\inbox\\0015.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
22{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0016.tmp C:\\one-tests\\runs\\capture\\inbox\\0016.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
23{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0017.tmp C:\\one-tests\\runs\\capture\\inbox\\0017.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
24{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0018.tmp C:\\one-tests\\runs\\capture\\inbox\\0018.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
25{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0019.tmp C:\\one-tests\\runs\\capture\\inbox\\0019.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
26{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0020.tmp C:\\one-tests\\runs\\capture\\inbox\\0020.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
27{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0021.tmp C:\\one-tests\\runs\\capture\\inbox\\0021.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
28{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0022.tmp C:\\one-tests\\runs\\capture\\inbox\\0022.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
29{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0023.tmp C:\\one-tests\\runs\\capture\\inbox\\0023.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
30{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0024.tmp C:\\one-tests\\runs\\capture\\inbox\\0024.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
31{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0025.tmp C:\\one-tests\\runs\\capture\\inbox\\0025.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
32{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0026.tmp C:\\one-tests\\runs\\capture\\inbox\\0026.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
33{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0027.tmp C:\\one-tests\\runs\\capture\\inbox\\0027.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
34{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0028.tmp C:\\one-tests\\runs\\capture\\inbox\\0028.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
35{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0029.tmp C:\\one-tests\\runs\\capture\\inbox\\0029.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
36{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0030.tmp C:\\one-tests\\runs\\capture\\inbox\\0030.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
37{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0031.tmp C:\\one-tests\\runs\\capture\\inbox\\0031.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
38{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0032.tmp C:\\one-tests\\runs\\capture\\inbox\\0032.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
39{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0033.tmp C:\\one-tests\\runs\\capture\\inbox\\0033.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
40{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0034.tmp C:\\one-tests\\runs\\capture\\inbox\\0034.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
41{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0035.tmp C:\\one-tests\\runs\\capture\\inbox\\0035.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
42{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0036.tmp C:\\one-tests\\runs\\capture\\inbox\\0036.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
43{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0037.tmp C:\\one-tests\\runs\\capture\\inbox\\0037.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
44{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0038.tmp C:\\one-tests\\runs\\capture\\inbox\\0038.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
45{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0039.tmp C:\\one-tests\\runs\\capture\\inbox\\0039.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
46{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0040.tmp C:\\one-tests\\runs\\capture\\inbox\\0040.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
47{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0041.tmp C:\\one-tests\\runs\\capture\\inbox\\0041.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
48{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0042.tmp C:\\one-tests\\runs\\capture\\inbox\\0042.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
49{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0043.tmp C:\\one-tests\\runs\\capture\\inbox\\0043.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
50{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0044.tmp C:\\one-tests\\runs\\capture\\inbox\\0044.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
51{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0045.tmp C:\\one-tests\\runs\\capture\\inbox\\0045.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
52{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0046.tmp C:\\one-tests\\runs\\capture\\inbox\\0046.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
53{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0047.tmp C:\\one-tests\\runs\\capture\\inbox\\0047.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
54{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0048.tmp C:\\one-tests\\runs\\capture\\inbox\\0048.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
55{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0049.tmp C:\\one-tests\\runs\\capture\\inbox\\0049.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
56{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0050.tmp C:\\one-tests\\runs\\capture\\inbox\\0050.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
57{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0051.tmp C:\\one-tests\\runs\\capture\\inbox\\0051.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
58{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0052.tmp C:\\one-tests\\runs\\capture\\inbox\\0052.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
59{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0053.tmp C:\\one-tests\\runs\\capture\\inbox\\0053.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
60{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0054.tmp C:\\one-tests\\runs\\capture\\inbox\\0054.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
61{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0055.tmp C:\\one-tests\\runs\\capture\\inbox\\0055.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
62{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0056.tmp C:\\one-tests\\runs\\capture\\inbox\\0056.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
63{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0057.tmp C:\\one-tests\\runs\\capture\\inbox\\0057.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
64{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0058.tmp C:\\one-tests\\runs\\capture\\inbox\\0058.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
65{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0059.tmp C:\\one-tests\\runs\\capture\\inbox\\0059.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
66{"command": "powershell -NoProfile -ExecutionPolicy Bypass -File C:\\one-tests\\network.ps1 -LabMac 52:54:02:c6:92:8d", "exit": 0, "stdout": "{\"renewalResult\":0,\"releaseResult\":0,\"mac\":\"52:54:02:c6:92:8d\",\"address\":\"192.168.77.111\"}\r\n", "stderr": "", "error": null}
67{"command": "if exist C:\\one-tests\\runs\\capture\\ready del C:\\one-tests\\runs\\capture\\ready", "exit": 0, "stdout": "", "stderr": "", "error": null}
68{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0060.tmp C:\\one-tests\\runs\\capture\\inbox\\0060.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
69{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0061.tmp C:\\one-tests\\runs\\capture\\inbox\\0061.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
70{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0062.tmp C:\\one-tests\\runs\\capture\\inbox\\0062.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
71{"command": "powershell -NoProfile -Command \"Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\* -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
corpus/m6/live-collaboration-15/a/controller-0.log created
corpus/m6/live-collaboration-15/a/controller-59.log created
corpus/m6/live-collaboration-15/a/health.json created+9
...@@ -0,0 +1,9 @@
1{
2 "ok": true,
3 "w": 800,
4 "h": 600,
5 "hostname": "ONE-M6-55EF988A",
6 "ahk": "C:\\win7-agent\\vendor\\ahk\\AutoHotkey64.exe",
7 "python": "C:\\win7-agent\\vendor\\python\\python.exe",
8 "agent_sha256": "ef7ca89be026695cf4412460a2eec308b0ed253fb9245597a7fe5d6938e49f89"
9}
corpus/m6/live-collaboration-15/a/inbox/0001.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0002.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0003.json created+1
...@@ -0,0 +1 @@
1{"action": "edit", "expected": "Fictitious positioned outline.", "text": "Native disjoint edit."}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0004.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0005.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0006.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0007.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0008.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0009.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0010.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0011.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0012.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0013.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0014.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0015.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0016.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0017.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0018.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0019.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0020.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0021.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0022.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0023.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0024.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0025.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0026.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0027.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0028.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0029.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0030.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0031.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0032.json created+1
...@@ -0,0 +1 @@
1{"action": "edit", "expected": "Rust disjoint edit.........", "text": "Client A concurrent edit."}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0033.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0034.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0035.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0036.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0037.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0038.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0039.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0040.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0041.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0042.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0043.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0044.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0045.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0046.json created+1
...@@ -0,0 +1 @@
1{"action": "edit", "expected": "Native disjoint edit.", "text": "Client A offline edit."}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0047.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0048.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0049.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0050.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0051.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0052.json created+1
...@@ -0,0 +1 @@
1{"action": "edit", "expected": "Client A offline edit.", "text": "Native lock recovery."}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0053.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0054.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0055.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0056.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0057.json created
Binary files /dev/null and b/corpus/m6/live-collaboration-15/a/inbox/0057.json differ
corpus/m6/live-collaboration-15/a/inbox/0058.json created
Binary files /dev/null and b/corpus/m6/live-collaboration-15/a/inbox/0058.json differ
corpus/m6/live-collaboration-15/a/inbox/0059.json created
Binary files /dev/null and b/corpus/m6/live-collaboration-15/a/inbox/0059.json differ
corpus/m6/live-collaboration-15/a/inbox/0060.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0061.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/inbox/0062.json created+1
...@@ -0,0 +1 @@
1{"action": "close"}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/machine.json created+1
...@@ -0,0 +1 @@
1{"name": "m6-55ef988a", "hostname": "ONE-M6-55EF988A"}
corpus/m6/live-collaboration-15/a/outbox/1/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/10/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/11/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/11/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:00:50.000Z" color="#8AA8E4"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section>
corpus/m6/live-collaboration-15/a/outbox/11/page-0.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/outbox/12/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/13/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/13/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:00:50.000Z" color="#8AA8E4"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section>
corpus/m6/live-collaboration-15/a/outbox/13/page-0.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/outbox/14/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/15/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/15/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:00:50.000Z" color="#8AA8E4"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section>
corpus/m6/live-collaboration-15/a/outbox/15/page-0.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/outbox/16/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/17/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/17/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:00:50.000Z" color="#8AA8E4"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section>
corpus/m6/live-collaboration-15/a/outbox/17/page-0.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/outbox/18/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/19/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/19/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:00:50.000Z" color="#8AA8E4"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section>
corpus/m6/live-collaboration-15/a/outbox/19/page-0.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/outbox/2/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/2/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:00:50.000Z" color="#8AA8E4"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section>
corpus/m6/live-collaboration-15/a/outbox/2/page-0.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/outbox/20/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/21/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/21/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:00:50.000Z" color="#8AA8E4"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section>
corpus/m6/live-collaboration-15/a/outbox/21/page-0.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/outbox/22/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/23/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/23/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:00:50.000Z" color="#8AA8E4"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section>
corpus/m6/live-collaboration-15/a/outbox/23/page-0.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/outbox/24/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/25/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/25/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:00:50.000Z" color="#8AA8E4"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section>
corpus/m6/live-collaboration-15/a/outbox/25/page-0.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/outbox/26/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/27/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/27/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:00:50.000Z" color="#8AA8E4"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section>
corpus/m6/live-collaboration-15/a/outbox/27/page-0.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/outbox/28/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/29/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/29/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:00:50.000Z" color="#8AA8E4"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section>
corpus/m6/live-collaboration-15/a/outbox/29/page-0.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/outbox/3/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/3/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:00:50.000Z" color="#8AA8E4"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section>
corpus/m6/live-collaboration-15/a/outbox/3/page-0.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/outbox/30/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/31/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/31/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:00:50.000Z" color="#8AA8E4"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section>
corpus/m6/live-collaboration-15/a/outbox/31/page-0.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Rust disjoint edit</span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>..</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>..</span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>.....</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/outbox/32/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/32/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:00:50.000Z" color="#8AA8E4"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section>
corpus/m6/live-collaboration-15/a/outbox/32/page-0.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Rust disjoint edit</span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>..</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>..</span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>.....</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/outbox/33/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/34/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/35/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/36/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/37/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/38/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/39/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/4/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/40/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/41/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/42/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/43/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/44/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/45/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/45/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:04:51.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section>
corpus/m6/live-collaboration-15/a/outbox/45/page-0.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:QuickStyleDef index="1" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/outbox/46/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/46/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:04:51.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section>
corpus/m6/live-collaboration-15/a/outbox/46/page-0.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:QuickStyleDef index="1" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/outbox/47/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/47/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:04:51.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section>
corpus/m6/live-collaboration-15/a/outbox/47/page-0.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:QuickStyleDef index="1" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/outbox/48/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/49/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/49/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:04:51.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section>
corpus/m6/live-collaboration-15/a/outbox/49/page-0.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:QuickStyleDef index="1" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/outbox/5/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/5/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:00:50.000Z" color="#8AA8E4"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section>
corpus/m6/live-collaboration-15/a/outbox/5/page-0.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/outbox/50/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/51/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/51/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:04:51.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section>
corpus/m6/live-collaboration-15/a/outbox/51/page-0.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/outbox/52/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/52/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:04:51.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section>
corpus/m6/live-collaboration-15/a/outbox/52/page-0.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/outbox/53/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/54/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/54/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:04:51.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section>
corpus/m6/live-collaboration-15/a/outbox/54/page-0.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:21.000Z" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native lock recovery.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="1"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/outbox/55/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/56/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/56/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:04:51.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section>
corpus/m6/live-collaboration-15/a/outbox/56/page-0.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:21.000Z" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native lock recovery.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="1"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/outbox/57/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/58/done created
Binary files /dev/null and b/corpus/m6/live-collaboration-15/a/outbox/58/done differ
corpus/m6/live-collaboration-15/a/outbox/59/done created
Binary files /dev/null and b/corpus/m6/live-collaboration-15/a/outbox/59/done differ
corpus/m6/live-collaboration-15/a/outbox/59/hierarchy.xml created
Binary files /dev/null and b/corpus/m6/live-collaboration-15/a/outbox/59/hierarchy.xml differ
corpus/m6/live-collaboration-15/a/outbox/59/page-0.xml created
Binary files /dev/null and b/corpus/m6/live-collaboration-15/a/outbox/59/page-0.xml differ
corpus/m6/live-collaboration-15/a/outbox/6/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/60/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/61/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/61/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:04:51.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section>
corpus/m6/live-collaboration-15/a/outbox/61/page-0.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:21.000Z" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native lock recovery.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="1"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/outbox/62/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/7/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/7/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:00:50.000Z" color="#8AA8E4"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section>
corpus/m6/live-collaboration-15/a/outbox/7/page-0.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/outbox/8/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/9/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/a/outbox/9/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:00:50.000Z" color="#8AA8E4"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section>
corpus/m6/live-collaboration-15/a/outbox/9/page-0.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/ready created+1
...@@ -0,0 +1 @@
1ready
\ No newline at end of file
corpus/m6/live-collaboration-15/a/snapshot-0002.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/snapshot-0005.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/snapshot-0007.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/snapshot-0009.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/snapshot-0011.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/snapshot-0013.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/snapshot-0015.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/snapshot-0017.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/snapshot-0019.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/snapshot-0021.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/snapshot-0023.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/snapshot-0025.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/snapshot-0027.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/snapshot-0029.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/snapshot-0031.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Rust disjoint edit</span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>..</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>..</span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>.....</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/snapshot-0045.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:QuickStyleDef index="1" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/snapshot-0047.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:QuickStyleDef index="1" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/snapshot-0049.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:QuickStyleDef index="1" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/snapshot-0051.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/snapshot-0054.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:21.000Z" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native lock recovery.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="1"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/snapshot-0056.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:21.000Z" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native lock recovery.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="1"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/snapshot-0059.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:21.000Z" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native lock recovery.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="1"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/snapshot-0061.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:21.000Z" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native lock recovery.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="1"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/a/spawn-0.json created+4
...@@ -0,0 +1,4 @@
1{
2 "pid": 2404,
3 "error": null
4}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/spawn-59.json created+4
...@@ -0,0 +1,4 @@
1{
2 "pid": 2296,
3 "error": null
4}
\ No newline at end of file
corpus/m6/live-collaboration-15/a/teardown.json created+1
...@@ -0,0 +1 @@
1{"absent": true}
corpus/m6/live-collaboration-15/b/agent.py created+439
...@@ -0,0 +1,439 @@
1import base64
2import ctypes
3import hashlib
4import json
5import os
6import struct
7import subprocess
8import sys
9import tempfile
10import threading
11import time
12import zlib
13from ctypes import wintypes
14from http.server import ThreadingHTTPServer, BaseHTTPRequestHandler
15
16BASE = os.path.dirname(os.path.abspath(__file__))
17with open(__file__, 'rb') as source:
18 AGENT_SHA256 = hashlib.sha256(source.read()).hexdigest()
19LOCK = threading.Lock()
20
21user32 = ctypes.windll.user32
22gdi32 = ctypes.windll.gdi32
23
24SRCCOPY = 0x00CC0020
25CAPTUREBLT = 0x40000000
26BI_RGB = 0
27DIB_RGB_COLORS = 0
28
29# restype must be set on x64: the default c_int return truncates a 64-bit HANDLE.
30user32.GetDC.restype = wintypes.HDC
31user32.GetDC.argtypes = [wintypes.HWND]
32user32.ReleaseDC.restype = ctypes.c_int
33user32.ReleaseDC.argtypes = [wintypes.HWND, wintypes.HDC]
34user32.GetSystemMetrics.restype = ctypes.c_int
35user32.GetSystemMetrics.argtypes = [ctypes.c_int]
36gdi32.CreateCompatibleDC.restype = wintypes.HDC
37gdi32.CreateCompatibleDC.argtypes = [wintypes.HDC]
38gdi32.CreateCompatibleBitmap.restype = wintypes.HBITMAP
39gdi32.CreateCompatibleBitmap.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int]
40gdi32.SelectObject.restype = wintypes.HGDIOBJ
41gdi32.SelectObject.argtypes = [wintypes.HDC, wintypes.HGDIOBJ]
42gdi32.BitBlt.restype = wintypes.BOOL
43gdi32.BitBlt.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int, ctypes.c_int,
44 ctypes.c_int, wintypes.HDC, ctypes.c_int, ctypes.c_int,
45 wintypes.DWORD]
46gdi32.GetDIBits.restype = ctypes.c_int
47gdi32.GetDIBits.argtypes = [wintypes.HDC, wintypes.HBITMAP, wintypes.UINT,
48 wintypes.UINT, ctypes.c_void_p, ctypes.c_void_p,
49 wintypes.UINT]
50gdi32.DeleteObject.restype = wintypes.BOOL
51gdi32.DeleteObject.argtypes = [wintypes.HGDIOBJ]
52gdi32.DeleteDC.restype = wintypes.BOOL
53gdi32.DeleteDC.argtypes = [wintypes.HDC]
54
55WNDENUMPROC = ctypes.WINFUNCTYPE(wintypes.BOOL, wintypes.HWND, wintypes.LPARAM)
56user32.GetForegroundWindow.restype = wintypes.HWND
57user32.GetForegroundWindow.argtypes = []
58user32.GetWindowTextW.restype = ctypes.c_int
59user32.GetWindowTextW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int]
60user32.GetClassNameW.restype = ctypes.c_int
61user32.GetClassNameW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int]
62user32.GetClientRect.restype = wintypes.BOOL
63user32.GetClientRect.argtypes = [wintypes.HWND, ctypes.POINTER(wintypes.RECT)]
64user32.EnumChildWindows.restype = wintypes.BOOL
65user32.EnumChildWindows.argtypes = [wintypes.HWND, WNDENUMPROC, wintypes.LPARAM]
66
67
68class BITMAPINFOHEADER(ctypes.Structure):
69 _fields_ = [("biSize", wintypes.DWORD),
70 ("biWidth", wintypes.LONG),
71 ("biHeight", wintypes.LONG),
72 ("biPlanes", wintypes.WORD),
73 ("biBitCount", wintypes.WORD),
74 ("biCompression", wintypes.DWORD),
75 ("biSizeImage", wintypes.DWORD),
76 ("biXPelsPerMeter", wintypes.LONG),
77 ("biYPelsPerMeter", wintypes.LONG),
78 ("biClrUsed", wintypes.DWORD),
79 ("biClrImportant", wintypes.DWORD)]
80
81
82PREAMBLE = (
83 "#Requires AutoHotkey v2.0\n"
84 "#SingleInstance Off\n"
85 "#Warn All, Off\n"
86 'FileEncoding "UTF-8-RAW"\n'
87 'SendMode "Input"\n'
88 "SetWorkingDir A_ScriptDir\n"
89 'CoordMode "Mouse", "Screen"\n'
90 'CoordMode "Pixel", "Screen"\n'
91 'CoordMode "ToolTip", "Screen"\n'
92 "SetTitleMatchMode 2\n"
93 "DetectHiddenWindows true\n"
94)
95
96
97def ahk_path():
98 u64 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey64.exe")
99 u32 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey32.exe")
100 return u64 if os.path.exists(u64) else u32
101
102
103def _chunk(tag, data):
104 return (struct.pack(">I", len(data)) + tag + data +
105 struct.pack(">I", zlib.crc32(tag + data) & 0xffffffff))
106
107
108def _to_png(bgra, w, h):
109 arr = bytearray(bgra)
110 r = arr[2::4]
111 arr[2::4] = arr[0::4]
112 arr[0::4] = r
113 del arr[3::4]
114 stride = w * 3
115 mv = memoryview(arr)
116 raw = bytearray()
117 for y in range(h):
118 raw.append(0)
119 raw += mv[y * stride:(y + 1) * stride]
120 ihdr = struct.pack(">IIBBBBB", w, h, 8, 2, 0, 0, 0)
121 return (b"\x89PNG\r\n\x1a\n" + _chunk(b"IHDR", ihdr) +
122 _chunk(b"IDAT", zlib.compress(bytes(raw))) + _chunk(b"IEND", b""))
123
124
125def capture():
126 w = user32.GetSystemMetrics(0)
127 h = user32.GetSystemMetrics(1)
128 hdc = user32.GetDC(None)
129 mem = None
130 hbm = None
131 try:
132 mem = gdi32.CreateCompatibleDC(hdc)
133 hbm = gdi32.CreateCompatibleBitmap(hdc, w, h)
134 old = gdi32.SelectObject(mem, hbm)
135 gdi32.BitBlt(mem, 0, 0, w, h, hdc, 0, 0, SRCCOPY | CAPTUREBLT)
136 gdi32.SelectObject(mem, old)
137 bmi = BITMAPINFOHEADER()
138 bmi.biSize = ctypes.sizeof(BITMAPINFOHEADER)
139 bmi.biWidth = w
140 bmi.biHeight = -h # negative => top-down rows, matches screenshot orientation
141 bmi.biPlanes = 1
142 bmi.biBitCount = 32
143 bmi.biCompression = BI_RGB
144 buf = ctypes.create_string_buffer(w * h * 4)
145 if gdi32.GetDIBits(mem, hbm, 0, h, buf, ctypes.byref(bmi),
146 DIB_RGB_COLORS) == 0:
147 raise RuntimeError("GetDIBits failed")
148 data = buf.raw
149 finally:
150 if hbm:
151 gdi32.DeleteObject(hbm)
152 if mem:
153 gdi32.DeleteDC(mem)
154 user32.ReleaseDC(None, hdc)
155 return _to_png(data, w, h), w, h
156
157
158def _win_text(fn, hwnd, n=512):
159 buf = ctypes.create_unicode_buffer(n)
160 fn(hwnd, buf, n)
161 return buf.value
162
163
164def active_window():
165 hwnd = user32.GetForegroundWindow()
166 if not hwnd:
167 return {"title": "", "class": "", "dialog": False}
168 cls = _win_text(user32.GetClassNameW, hwnd)
169 return {"title": _win_text(user32.GetWindowTextW, hwnd),
170 "class": cls, "dialog": cls == "#32770"}
171
172
173def control_tree():
174 hwnd = user32.GetForegroundWindow()
175 rows = []
176
177 def add(h):
178 rect = wintypes.RECT()
179 user32.GetClientRect(h, ctypes.byref(rect))
180 rows.append((_win_text(user32.GetClassNameW, h),
181 _win_text(user32.GetWindowTextW, h),
182 rect.left, rect.top,
183 rect.right - rect.left, rect.bottom - rect.top))
184
185 if hwnd:
186 add(hwnd)
187
188 def cb(child, _lparam):
189 add(child)
190 return True
191 user32.EnumChildWindows(hwnd, WNDENUMPROC(cb), 0)
192 lines = ["%-24s %-28s %s" % ("class", "text", "l,t,w,h")]
193 for cls, text, l, t, w, h in rows:
194 lines.append("%-24s %-28s %d,%d,%d,%d" % (cls, text, l, t, w, h))
195 return "\n".join(lines)
196
197
198def _run(argv, timeout_ms, encoding, on_timeout=None):
199 def dec(b):
200 return b.decode(encoding, "replace") if b else ""
201
202 p = subprocess.Popen(argv, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
203 try:
204 out, err = p.communicate(timeout=timeout_ms / 1000.0)
205 return p.returncode, dec(out), dec(err), None
206 except subprocess.TimeoutExpired:
207 if on_timeout:
208 on_timeout()
209 subprocess.call(["taskkill", "/F", "/T", "/PID", str(p.pid)])
210 try:
211 # A process the script launched can outlive taskkill still holding the
212 # inherited stdout pipe; an unbounded wait here wedges the agent's lock.
213 out, err = p.communicate(timeout=5)
214 except subprocess.TimeoutExpired:
215 out = err = b""
216 for pipe in (p.stdout, p.stderr):
217 if pipe:
218 pipe.close()
219 msg = "timed out after %d ms, process killed" % timeout_ms
220 return None, dec(out), dec(err), msg
221
222
223def run_ahk(script, timeout_ms, on_timeout=None):
224 fd, path = tempfile.mkstemp(suffix=".ahk")
225 os.close(fd)
226 # AutoHotkey (Unicode-only) needs a UTF-8 BOM to read the file as UTF-8.
227 with open(path, "wb") as f:
228 f.write(b"\xef\xbb\xbf" + (PREAMBLE + script).encode("utf-8"))
229 try:
230 # /ErrorStdOut sends syntax errors to stderr instead of a blocking modal.
231 code, out, err, error = _run([ahk_path(), "/ErrorStdOut", path], timeout_ms,
232 "utf-8", on_timeout)
233 finally:
234 os.remove(path)
235 if error:
236 error = "script " + error
237 return code, out, err, error
238
239
240def _safe_capture(error):
241 try:
242 png, w, h = capture()
243 return base64.b64encode(png).decode("ascii"), w, h, error
244 except Exception as e:
245 note = "screenshot failed: " + repr(e)
246 return "", 0, 0, (error + "; " + note if error else note)
247
248
249LOG_PATH = os.path.join(BASE, "agent.log")
250LOG_LOCK = threading.Lock()
251
252
253def log(text, stamp=True):
254 """Console and agent.log, so a session can be reconstructed after the fact."""
255 line = time.strftime("%Y-%m-%d %H:%M:%S ") + text if stamp else text
256 with LOG_LOCK:
257 print(line, end="" if line.endswith("\n") else "\n", flush=True)
258 try:
259 with open(LOG_PATH, "a", encoding="utf-8") as f:
260 f.write(line if line.endswith("\n") else line + "\n")
261 except OSError:
262 pass # a log that cannot be written must not take the agent down
263
264
265class Handler(BaseHTTPRequestHandler):
266 def log_message(self, *a):
267 pass
268
269 def _send(self, code, obj):
270 body = json.dumps(obj).encode("utf-8")
271 self.send_response(code)
272 self.send_header("Content-Type", "application/json")
273 self.send_header("Content-Length", str(len(body)))
274 self.end_headers()
275 self.wfile.write(body)
276
277 def _log(self, start, code, body=None):
278 log("%s %s %dms exit=%s" % (self.command, self.path,
279 int((time.time() - start) * 1000), code))
280 if body:
281 log("".join(" | %s\n" % l for l in body.splitlines()), stamp=False)
282
283 def _auth_ok(self):
284 token = os.environ.get("WIN7_TOKEN")
285 return not token or self.headers.get("X-Win7-Token") == token
286
287 def _body(self):
288 n = int(self.headers.get("Content-Length") or 0)
289 raw = self.rfile.read(n) if n else b""
290 return json.loads(raw.decode("utf-8")) if raw else {}
291
292 def do_GET(self):
293 start = time.time()
294 if not self._auth_ok():
295 self._send(401, {"error": "bad token"})
296 elif self.path == "/health":
297 self._send(200, {"ok": True, "w": user32.GetSystemMetrics(0),
298 "h": user32.GetSystemMetrics(1),
299 "hostname": os.environ.get("COMPUTERNAME", ""),
300 "ahk": ahk_path(), "python": sys.executable,
301 "agent_sha256": AGENT_SHA256})
302 else:
303 self._send(404, {"error": "not found"})
304 self._log(start, None)
305
306 def do_POST(self):
307 start = time.time()
308 code = None
309 if not self._auth_ok():
310 self._send(401, {"error": "bad token"})
311 self._log(start, None)
312 return
313 try:
314 data = self._body()
315 except Exception:
316 self._send(400, {"error": "bad json"})
317 self._log(start, None)
318 return
319 body = {"/exec": data.get("script"), "/cmd": data.get("command"),
320 "/spawn": data.get("command"),
321 "/put": data.get("path"), "/get": data.get("path")}.get(self.path)
322 try:
323 if self.path == "/exec":
324 resp = self._exec(data)
325 code = resp["exit"]
326 elif self.path == "/cmd":
327 resp = self._cmd(data)
328 code = resp["exit"]
329 elif self.path == "/spawn":
330 resp = self._spawn(data)
331 code = 0
332 elif self.path == "/put":
333 resp = self._put(data)
334 elif self.path == "/get":
335 resp = self._get(data)
336 elif self.path == "/shot":
337 resp = self._shot()
338 elif self.path == "/ui":
339 resp = self._ui()
340 else:
341 self._send(404, {"error": "not found"})
342 self._log(start, None)
343 return
344 self._send(200, resp)
345 except Exception as e:
346 self._send(200, {"error": repr(e), "exit": None, "stdout": "",
347 "stderr": "", "png_b64": "", "w": 0, "h": 0})
348 self._log(start, code, body)
349
350 def _exec(self, data):
351 pre = []
352
353 def grab(): # capture before taskkill so the blocker is still on screen
354 pre.append((_safe_capture(None), active_window()))
355
356 with LOCK:
357 code, out, err, error = run_ahk(data.get("script", ""),
358 data.get("timeout_ms", 60000), grab)
359 if pre:
360 (b64, w, h, note), win = pre[0]
361 else:
362 time.sleep(data.get("shot_delay_ms", 500) / 1000.0)
363 b64, w, h, note = _safe_capture(None)
364 win = active_window()
365 if note:
366 error = error + "; " + note if error else note
367 return {"exit": code, "stdout": out, "stderr": err, "png_b64": b64,
368 "w": w, "h": h, "error": error, "win": win}
369
370 def _put(self, data):
371 path = data.get("path", "")
372 blob = base64.b64decode(data.get("b64", ""))
373 parent = os.path.dirname(path)
374 if parent and not os.path.isdir(parent):
375 os.makedirs(parent)
376 with open(path, "wb") as f:
377 f.write(blob)
378 return {"bytes": len(blob), "path": os.path.abspath(path), "error": None}
379
380 def _get(self, data):
381 with open(data.get("path", ""), "rb") as f:
382 blob = f.read()
383 return {"b64": base64.b64encode(blob).decode("ascii"), "bytes": len(blob),
384 "error": None}
385
386 def _cmd(self, data):
387 with LOCK:
388 # A raw command-line string, not a list: on Windows list2cmdline would
389 # backslash-escape the embedded quotes before cmd.exe ever sees them.
390 code, out, err, error = _run("cmd.exe /c " + data.get("command", ""),
391 data.get("timeout_ms", 60000), "oem")
392 return {"exit": code, "stdout": out, "stderr": err, "error": error}
393
394 def _spawn(self, data):
395 flags = subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS
396 process = subprocess.Popen(data.get("command", ""), stdin=subprocess.DEVNULL,
397 stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL,
398 close_fds=True, creationflags=flags)
399 return {"pid": process.pid, "error": None}
400
401 def _shot(self):
402 b64, w, h, error = _safe_capture(None)
403 win = active_window()
404 return {"png_b64": b64, "w": w, "h": h, "error": error, "win": win}
405
406 def _ui(self):
407 win = active_window()
408 controls = control_tree()
409 return {"win": win, "controls": controls, "error": None}
410
411
412def keep_awake():
413 """Hold the display and system awake for as long as this process lives.
414
415 Screen blanking alone is harmless -- BitBlt still captures the composited
416 desktop -- but sleep kills the agent outright, and a locked session moves
417 the desktop to Winlogon where neither AutoHotkey nor the capture can reach.
418 """
419 ES_CONTINUOUS, ES_SYSTEM_REQUIRED, ES_DISPLAY_REQUIRED = 0x80000000, 0x1, 0x2
420 kernel32 = ctypes.windll.kernel32
421 kernel32.SetThreadExecutionState.restype = wintypes.DWORD
422 kernel32.SetThreadExecutionState.argtypes = [wintypes.DWORD]
423 return kernel32.SetThreadExecutionState(
424 ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED)
425
426
427def main():
428 user32.SetProcessDPIAware()
429 awake = keep_awake()
430 port = int(os.environ.get("WIN7_PORT", "8777"))
431 srv = ThreadingHTTPServer(("0.0.0.0", port), Handler)
432 log("win7-agent listening on 0.0.0.0:%d ahk=%s log=%s%s"
433 % (port, ahk_path(), LOG_PATH,
434 "" if awake else " (WARNING: could not inhibit sleep)"))
435 srv.serve_forever()
436
437
438if __name__ == "__main__":
439 main()
corpus/m6/live-collaboration-15/b/closed created+1
...@@ -0,0 +1 @@
1closed
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0001.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0002.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0003.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0004.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0005.json created+1
...@@ -0,0 +1 @@
1{"action": "edit", "expected": "Rust disjoint edit.........", "text": "Client B concurrent edit."}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0006.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0007.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0008.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0009.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0010.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0011.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0012.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0013.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0014.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0015.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0016.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0017.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0018.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0019.json created+1
...@@ -0,0 +1 @@
1{"action": "edit", "expected": "Left cell", "text": "Client B online cell."}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0020.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0021.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0022.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0023.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0024.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0025.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0026.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0027.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0028.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0029.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0030.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0031.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0032.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0033.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0034.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0035.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0036.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0037.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0038.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0039.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0040.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0041.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0042.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0043.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0044.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0045.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0046.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0047.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0048.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0049.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0050.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0051.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0052.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0053.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0054.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0055.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/command-0056.json created+1
...@@ -0,0 +1 @@
1{"action": "close"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/commands.jsonl created+63
...@@ -0,0 +1,63 @@
1{"command": "mkdir C:\\one-tests\\runs\\capture", "exit": 0, "stdout": "", "stderr": "", "error": null}
2{"command": "powershell -NoProfile -ExecutionPolicy Bypass -File C:\\one-tests\\network.ps1 -LabMac 52:54:02:70:5a:72", "exit": 0, "stdout": "{\"renewalResult\":0,\"releaseResult\":83,\"mac\":\"52:54:02:70:5a:72\",\"address\":\"192.168.77.159\"}\r\n", "stderr": "", "error": null}
3{"command": "ipconfig", "exit": 0, "stdout": "\r\nWindows IP Configuration\r\n\r\n\r\nEthernet adapter Local Area Connection 2:\r\n\r\n Connection-specific DNS Suffix . : \r\n Link-local IPv6 Address . . . . . : fe80::fdc9:d8f5:ed53:866%13\r\n IPv4 Address. . . . . . . . . . . : 192.168.77.159\r\n Subnet Mask . . . . . . . . . . . : 255.255.255.0\r\n Default Gateway . . . . . . . . . : \r\n\r\nEthernet adapter Local Area Connection:\r\n\r\n Connection-specific DNS Suffix . : \r\n Site-local IPv6 Address . . . . . : fec0::b1bf:9d18:ecc0:6131%1\r\n Link-local IPv6 Address . . . . . : fe80::b1bf:9d18:ecc0:6131%11\r\n IPv4 Address. . . . . . . . . . . : 10.0.2.15\r\n Subnet Mask . . . . . . . . . . . : 255.255.255.0\r\n Default Gateway . . . . . . . . . : fe80::2%11\r\n 10.0.2.2\r\n\r\nTunnel adapter isatap.{2913F119-34A2-4D05-B185-573FF3B2121A}:\r\n\r\n Media State . . . . . . . . . . . : Media disconnected\r\n Connection-specific DNS Suffix . : \r\n\r\nTunnel adapter isatap.{A59CB099-98D4-4C81-9159-48128C5EBB69}:\r\n\r\n Media State . . . . . . . . . . . : Media disconnected\r\n Connection-specific DNS Suffix . : \r\n", "stderr": "", "error": null}
4{"command": "dir \\\\192.168.77.1\\agent\\m6-collaboration", "exit": 0, "stdout": " Volume in drive \\\\192.168.77.1\\agent is agent\r\n Volume Serial Number is 640F-A719\r\n\r\n Directory of \\\\192.168.77.1\\agent\\m6-collaboration\r\n\r\n09/05/2026 10:58 PM <DIR> .\r\n09/05/2026 10:58 PM <DIR> ..\r\n09/04/2026 10:12 PM 4,944 Open Notebook.onetoc2\r\n09/04/2026 10:12 PM 27,808 synthetic.one\r\n 2 File(s) 32,752 bytes\r\n 2 Dir(s) 14,688,845,824 bytes free\r\n", "stderr": "", "error": null}
5{"command": "if exist C:\\one-tests\\runs\\capture\\ready del C:\\one-tests\\runs\\capture\\ready", "exit": 0, "stdout": "", "stderr": "", "error": null}
6{"command": "ipconfig", "exit": 0, "stdout": "\r\nWindows IP Configuration\r\n\r\n\r\nEthernet adapter Local Area Connection 2:\r\n\r\n Connection-specific DNS Suffix . : \r\n Link-local IPv6 Address . . . . . : fe80::fdc9:d8f5:ed53:866%13\r\n IPv4 Address. . . . . . . . . . . : 192.168.77.159\r\n Subnet Mask . . . . . . . . . . . : 255.255.255.0\r\n Default Gateway . . . . . . . . . : \r\n\r\nEthernet adapter Local Area Connection:\r\n\r\n Connection-specific DNS Suffix . : \r\n Site-local IPv6 Address . . . . . : fec0::b1bf:9d18:ecc0:6131%1\r\n Link-local IPv6 Address . . . . . : fe80::b1bf:9d18:ecc0:6131%11\r\n IPv4 Address. . . . . . . . . . . : 10.0.2.15\r\n Subnet Mask . . . . . . . . . . . : 255.255.255.0\r\n Default Gateway . . . . . . . . . : fe80::2%11\r\n 10.0.2.2\r\n\r\nTunnel adapter isatap.{2913F119-34A2-4D05-B185-573FF3B2121A}:\r\n\r\n Media State . . . . . . . . . . . : Media disconnected\r\n Connection-specific DNS Suffix . : \r\n\r\nTunnel adapter isatap.{A59CB099-98D4-4C81-9159-48128C5EBB69}:\r\n\r\n Media State . . . . . . . . . . . : Media disconnected\r\n Connection-specific DNS Suffix . : \r\n", "stderr": "", "error": null}
7{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0001.tmp C:\\one-tests\\runs\\capture\\inbox\\0001.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
8{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0002.tmp C:\\one-tests\\runs\\capture\\inbox\\0002.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
9{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0003.tmp C:\\one-tests\\runs\\capture\\inbox\\0003.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
10{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0004.tmp C:\\one-tests\\runs\\capture\\inbox\\0004.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
11{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0005.tmp C:\\one-tests\\runs\\capture\\inbox\\0005.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
12{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0006.tmp C:\\one-tests\\runs\\capture\\inbox\\0006.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
13{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0007.tmp C:\\one-tests\\runs\\capture\\inbox\\0007.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
14{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0008.tmp C:\\one-tests\\runs\\capture\\inbox\\0008.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
15{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0009.tmp C:\\one-tests\\runs\\capture\\inbox\\0009.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
16{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0010.tmp C:\\one-tests\\runs\\capture\\inbox\\0010.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
17{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0011.tmp C:\\one-tests\\runs\\capture\\inbox\\0011.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
18{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0012.tmp C:\\one-tests\\runs\\capture\\inbox\\0012.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
19{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0013.tmp C:\\one-tests\\runs\\capture\\inbox\\0013.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
20{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0014.tmp C:\\one-tests\\runs\\capture\\inbox\\0014.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
21{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0015.tmp C:\\one-tests\\runs\\capture\\inbox\\0015.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
22{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0016.tmp C:\\one-tests\\runs\\capture\\inbox\\0016.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
23{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0017.tmp C:\\one-tests\\runs\\capture\\inbox\\0017.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
24{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0018.tmp C:\\one-tests\\runs\\capture\\inbox\\0018.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
25{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0019.tmp C:\\one-tests\\runs\\capture\\inbox\\0019.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
26{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0020.tmp C:\\one-tests\\runs\\capture\\inbox\\0020.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
27{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0021.tmp C:\\one-tests\\runs\\capture\\inbox\\0021.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
28{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0022.tmp C:\\one-tests\\runs\\capture\\inbox\\0022.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
29{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0023.tmp C:\\one-tests\\runs\\capture\\inbox\\0023.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
30{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0024.tmp C:\\one-tests\\runs\\capture\\inbox\\0024.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
31{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0025.tmp C:\\one-tests\\runs\\capture\\inbox\\0025.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
32{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0026.tmp C:\\one-tests\\runs\\capture\\inbox\\0026.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
33{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0027.tmp C:\\one-tests\\runs\\capture\\inbox\\0027.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
34{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0028.tmp C:\\one-tests\\runs\\capture\\inbox\\0028.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
35{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0029.tmp C:\\one-tests\\runs\\capture\\inbox\\0029.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
36{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0030.tmp C:\\one-tests\\runs\\capture\\inbox\\0030.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
37{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0031.tmp C:\\one-tests\\runs\\capture\\inbox\\0031.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
38{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0032.tmp C:\\one-tests\\runs\\capture\\inbox\\0032.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
39{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0033.tmp C:\\one-tests\\runs\\capture\\inbox\\0033.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
40{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0034.tmp C:\\one-tests\\runs\\capture\\inbox\\0034.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
41{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0035.tmp C:\\one-tests\\runs\\capture\\inbox\\0035.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
42{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0036.tmp C:\\one-tests\\runs\\capture\\inbox\\0036.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
43{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0037.tmp C:\\one-tests\\runs\\capture\\inbox\\0037.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
44{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0038.tmp C:\\one-tests\\runs\\capture\\inbox\\0038.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
45{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0039.tmp C:\\one-tests\\runs\\capture\\inbox\\0039.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
46{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0040.tmp C:\\one-tests\\runs\\capture\\inbox\\0040.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
47{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0041.tmp C:\\one-tests\\runs\\capture\\inbox\\0041.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
48{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0042.tmp C:\\one-tests\\runs\\capture\\inbox\\0042.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
49{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0043.tmp C:\\one-tests\\runs\\capture\\inbox\\0043.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
50{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0044.tmp C:\\one-tests\\runs\\capture\\inbox\\0044.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
51{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0045.tmp C:\\one-tests\\runs\\capture\\inbox\\0045.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
52{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0046.tmp C:\\one-tests\\runs\\capture\\inbox\\0046.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
53{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0047.tmp C:\\one-tests\\runs\\capture\\inbox\\0047.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
54{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0048.tmp C:\\one-tests\\runs\\capture\\inbox\\0048.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
55{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0049.tmp C:\\one-tests\\runs\\capture\\inbox\\0049.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
56{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0050.tmp C:\\one-tests\\runs\\capture\\inbox\\0050.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
57{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0051.tmp C:\\one-tests\\runs\\capture\\inbox\\0051.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
58{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0052.tmp C:\\one-tests\\runs\\capture\\inbox\\0052.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
59{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0053.tmp C:\\one-tests\\runs\\capture\\inbox\\0053.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
60{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0054.tmp C:\\one-tests\\runs\\capture\\inbox\\0054.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
61{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0055.tmp C:\\one-tests\\runs\\capture\\inbox\\0055.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
62{"command": "move C:\\one-tests\\runs\\capture\\inbox\\0056.tmp C:\\one-tests\\runs\\capture\\inbox\\0056.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null}
63{"command": "powershell -NoProfile -Command \"Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\* -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
corpus/m6/live-collaboration-15/b/controller-0.log created
corpus/m6/live-collaboration-15/b/health.json created+9
...@@ -0,0 +1,9 @@
1{
2 "ok": true,
3 "w": 800,
4 "h": 600,
5 "hostname": "ONE-M6-F79A3B95",
6 "ahk": "C:\\win7-agent\\vendor\\ahk\\AutoHotkey64.exe",
7 "python": "C:\\win7-agent\\vendor\\python\\python.exe",
8 "agent_sha256": "ef7ca89be026695cf4412460a2eec308b0ed253fb9245597a7fe5d6938e49f89"
9}
corpus/m6/live-collaboration-15/b/inbox/0001.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0002.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0003.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0004.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0005.json created+1
...@@ -0,0 +1 @@
1{"action": "edit", "expected": "Rust disjoint edit.........", "text": "Client B concurrent edit."}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0006.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0007.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0008.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0009.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0010.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0011.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0012.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0013.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0014.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0015.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0016.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0017.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0018.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0019.json created+1
...@@ -0,0 +1 @@
1{"action": "edit", "expected": "Left cell", "text": "Client B online cell."}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0020.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0021.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0022.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0023.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0024.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0025.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0026.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0027.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0028.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0029.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0030.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0031.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0032.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0033.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0034.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0035.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0036.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0037.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0038.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0039.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0040.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0041.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0042.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0043.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0044.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0045.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0046.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0047.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0048.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0049.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0050.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0051.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0052.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0053.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0054.json created+1
...@@ -0,0 +1 @@
1{"action": "sync"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0055.json created+1
...@@ -0,0 +1 @@
1{"action": "snapshot"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/inbox/0056.json created+1
...@@ -0,0 +1 @@
1{"action": "close"}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/machine.json created+1
...@@ -0,0 +1 @@
1{"name": "m6-f79a3b95", "hostname": "ONE-M6-F79A3B95"}
corpus/m6/live-collaboration-15/b/outbox/1/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/10/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/11/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/12/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/13/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/14/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/15/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/16/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/17/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/18/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/18/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{2AB9A1D2-2E08-0609-14E7-7995E8BF1B8C}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:04:47.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section>
corpus/m6/live-collaboration-15/b/outbox/18/page-0.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:QuickStyleDef index="1" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/b/outbox/19/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/19/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{2AB9A1D2-2E08-0609-14E7-7995E8BF1B8C}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:04:47.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section>
corpus/m6/live-collaboration-15/b/outbox/19/page-0.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:QuickStyleDef index="1" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/b/outbox/2/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/2/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{2AB9A1D2-2E08-0609-14E7-7995E8BF1B8C}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:03:27.000Z" color="#8AA8E4"><one:Page ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section>
corpus/m6/live-collaboration-15/b/outbox/2/page-0.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/b/outbox/20/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/21/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/21/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{2AB9A1D2-2E08-0609-14E7-7995E8BF1B8C}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:04:47.000Z" color="#8AA8E4" isUnread="true" areAllPagesAvailable="false"><one:Page ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section>
corpus/m6/live-collaboration-15/b/outbox/21/page-0.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="2"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:04.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:04.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:04.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:04.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:04.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:04.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/b/outbox/22/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/23/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/23/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{2AB9A1D2-2E08-0609-14E7-7995E8BF1B8C}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:05:04.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section>
corpus/m6/live-collaboration-15/b/outbox/23/page-0.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/b/outbox/24/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/25/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/25/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{2AB9A1D2-2E08-0609-14E7-7995E8BF1B8C}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:05:04.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section>
corpus/m6/live-collaboration-15/b/outbox/25/page-0.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/b/outbox/26/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/27/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/27/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{2AB9A1D2-2E08-0609-14E7-7995E8BF1B8C}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:05:04.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section>
corpus/m6/live-collaboration-15/b/outbox/27/page-0.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/b/outbox/28/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/29/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/29/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{2AB9A1D2-2E08-0609-14E7-7995E8BF1B8C}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:05:04.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section>
corpus/m6/live-collaboration-15/b/outbox/29/page-0.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/b/outbox/3/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/30/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/31/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/31/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{2AB9A1D2-2E08-0609-14E7-7995E8BF1B8C}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:05:04.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section>
corpus/m6/live-collaboration-15/b/outbox/31/page-0.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/b/outbox/32/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/33/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/33/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{2AB9A1D2-2E08-0609-14E7-7995E8BF1B8C}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:05:04.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section>
corpus/m6/live-collaboration-15/b/outbox/33/page-0.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/b/outbox/34/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/35/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/35/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{2AB9A1D2-2E08-0609-14E7-7995E8BF1B8C}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:05:04.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section>
corpus/m6/live-collaboration-15/b/outbox/35/page-0.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/b/outbox/36/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/37/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/37/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{2AB9A1D2-2E08-0609-14E7-7995E8BF1B8C}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:05:04.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section>
corpus/m6/live-collaboration-15/b/outbox/37/page-0.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/b/outbox/38/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/39/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/39/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{2AB9A1D2-2E08-0609-14E7-7995E8BF1B8C}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:05:04.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section>
corpus/m6/live-collaboration-15/b/outbox/39/page-0.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/b/outbox/4/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/4/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{2AB9A1D2-2E08-0609-14E7-7995E8BF1B8C}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:03:27.000Z" color="#8AA8E4"><one:Page ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section>
corpus/m6/live-collaboration-15/b/outbox/4/page-0.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Rust disjoint edit</span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>..</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>..</span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>.....</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/b/outbox/40/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/41/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/41/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{2AB9A1D2-2E08-0609-14E7-7995E8BF1B8C}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:05:04.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section>
corpus/m6/live-collaboration-15/b/outbox/41/page-0.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/b/outbox/42/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/43/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/43/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{2AB9A1D2-2E08-0609-14E7-7995E8BF1B8C}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:05:04.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section>
corpus/m6/live-collaboration-15/b/outbox/43/page-0.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/b/outbox/44/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/45/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/45/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{2AB9A1D2-2E08-0609-14E7-7995E8BF1B8C}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:05:04.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section>
corpus/m6/live-collaboration-15/b/outbox/45/page-0.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/b/outbox/46/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/47/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/47/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{2AB9A1D2-2E08-0609-14E7-7995E8BF1B8C}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:05:04.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section>
corpus/m6/live-collaboration-15/b/outbox/47/page-0.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/b/outbox/48/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/49/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/49/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{2AB9A1D2-2E08-0609-14E7-7995E8BF1B8C}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:05:04.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section>
corpus/m6/live-collaboration-15/b/outbox/49/page-0.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/b/outbox/5/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/5/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{2AB9A1D2-2E08-0609-14E7-7995E8BF1B8C}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:03:27.000Z" color="#8AA8E4"><one:Page ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section>
corpus/m6/live-collaboration-15/b/outbox/5/page-0.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Rust disjoint edit</span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>..</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>..</span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>.....</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/b/outbox/50/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/51/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/51/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{2AB9A1D2-2E08-0609-14E7-7995E8BF1B8C}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:05:04.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section>
corpus/m6/live-collaboration-15/b/outbox/51/page-0.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:21.000Z" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native lock recovery.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="1"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/b/outbox/52/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/53/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/53/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{2AB9A1D2-2E08-0609-14E7-7995E8BF1B8C}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:05:04.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section>
corpus/m6/live-collaboration-15/b/outbox/53/page-0.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:21.000Z" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native lock recovery.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="1"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/b/outbox/54/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/55/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/55/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{2AB9A1D2-2E08-0609-14E7-7995E8BF1B8C}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:05:04.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section>
corpus/m6/live-collaboration-15/b/outbox/55/page-0.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:21.000Z" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native lock recovery.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="1"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/b/outbox/56/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/6/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/7/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/8/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/outbox/9/done created+1
...@@ -0,0 +1 @@
1ok
\ No newline at end of file
corpus/m6/live-collaboration-15/b/ready created+1
...@@ -0,0 +1 @@
1ready
\ No newline at end of file
corpus/m6/live-collaboration-15/b/snapshot-0002.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/b/snapshot-0004.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Rust disjoint edit</span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>..</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>..</span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>.....</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/b/snapshot-0018.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:QuickStyleDef index="1" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/b/snapshot-0021.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="2"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:04.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:04.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:04.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:04.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:04.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:04.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/b/snapshot-0023.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/b/snapshot-0025.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/b/snapshot-0027.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/b/snapshot-0029.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/b/snapshot-0031.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/b/snapshot-0033.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/b/snapshot-0035.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/b/snapshot-0037.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/b/snapshot-0039.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/b/snapshot-0041.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/b/snapshot-0043.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/b/snapshot-0045.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/b/snapshot-0047.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/b/snapshot-0049.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/b/snapshot-0051.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:21.000Z" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native lock recovery.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="1"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/b/snapshot-0053.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:21.000Z" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native lock recovery.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="1"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/b/snapshot-0055.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:21.000Z" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native lock recovery.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="1"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-15/b/spawn-0.json created+4
...@@ -0,0 +1,4 @@
1{
2 "pid": 2416,
3 "error": null
4}
\ No newline at end of file
corpus/m6/live-collaboration-15/b/teardown.json created+1
...@@ -0,0 +1 @@
1{"absent": true}
corpus/m6/live-collaboration-15/conflict-model/assets.json created+1
...@@ -0,0 +1 @@
1[{"path":"assets/0.bin","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]}},{"path":"assets/1.bin","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]}},{"path":"assets/2.bin","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]}}]
\ No newline at end of file
corpus/m6/live-collaboration-15/conflict-model/assets/0.bin created
Binary files /dev/null and b/corpus/m6/live-collaboration-15/conflict-model/assets/0.bin differ
corpus/m6/live-collaboration-15/conflict-model/assets/1.bin created+1
...@@ -0,0 +1 @@
1Fictitious attachment for native corpus.
\ No newline at end of file
corpus/m6/live-collaboration-15/conflict-model/assets/2.bin created
Binary files /dev/null and b/corpus/m6/live-collaboration-15/conflict-model/assets/2.bin differ
corpus/m6/live-collaboration-15/conflict-model/document.json created+1
...@@ -0,0 +1 @@
1{"file_id":[60,64,135,83,160,135,242,70,172,54,122,51,224,103,190,213],"root":"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1","spaces":{"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1"},"revisions":{"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1":{"roots":{"1":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10","2":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11"},"nodes":{"{C7F40B04-17EF-07C8-0477-F2143775FC8E},10":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"8b3ac8fcf49f714db27dc2cf3ff433a8"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":603993154,"value":{"Objects":["{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1"]}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10":{"jcid":393223,"children":["{C7F40B04-17EF-07C8-0477-F2143775FC8E},10"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Section","default_template":null},"extra":[[{"id":469769264,"value":{"Bytes":"ad3e51bcb6d1bd448acde95750378bfa"}},{"id":402660453,"value":{"Bytes":"b0804d5df43cdd01"}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11":{"jcid":131121,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"SectionMetadata","name":null,"color":14985354},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]},"{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Client B concurrent edit.","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":2281708951,"value":"NoData"}]]}}}}},"{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{3322FC41-5152-002C-1A6F-6E54765F3328},1"},"revisions":{"{3322FC41-5152-002C-1A6F-6E54765F3328},1":{"roots":{"1":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},10","2":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},52","4":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},12"},"nodes":{"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},10":{"jcid":393271,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},14"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},12":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":134330587010000000},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},14":{"jcid":393227,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},15","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},21","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},25","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},29","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},34","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},45","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},49"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":"Client A concurrent edit.","level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"73006e006f0077000000"}},{"id":469769720,"value":{"Bytes":"53000000"}},{"id":335551836,"value":{"Bytes":"02000000"}},{"id":469769565,"value":{"Bytes":"0310e65e416b931f400000000000000000"}},{"id":2281708766,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":2281708924,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},15":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},16"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":36.0,"y":14.400001,"max_width":127.513695,"max_height":14.3},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},16":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141863,"modified":1473141863,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-55EF988A"},"extra":[[{"id":469769720,"value":{"Bytes":"3800380041000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Client A concurrent edit.","runs":[{"start":0,"end":25,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},20","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":2281709019,"value":"NoData"},{"id":2281708950,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},21":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},22"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":96.0,"max_width":167.04495,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},22":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141822,"modified":1473141822,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141822,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Native disjoint edit.","runs":[{"start":0,"end":21,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},25":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},26"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":192.0,"max_width":96.000015,"max_height":0.74999994},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"},{"id":335551707,"value":{"Bytes":"aaaa0640"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},26":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},27"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052018,"modified":1473052018,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},27":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},28","filename":null,"alt":null,"picture_width":0.75,"picture_height":0.75,"background":null,"printout":false,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb01000000ab6180f822df4542b575c076ce6aaa0c000000000200000000001066000000010000200000002b59212af3023a32dd5b4c71bb1d072124be7a993933c762d8590536da9d37d2000000000e80000000020000200000000595329d755a96366351f1ec57dc25193cca79a8e4e438b31b7451415e4b0482200000003f639ba9e4652c47fc3d06fad88a6844861d447910d32e37fd078583e9a3b590400000006ea7ab72598677e78d2a6b888429c410bb3d31b48adbddfb607788d44d450a674407b51e4209dbf11dc5531e99f797214833a045b38073716b5876053ec85076"}},{"id":469769724,"value":{"Bytes":"f402c1d94636be45d97fa7ab7fbf2c127166c53e"}},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},28":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]},"extension":".png"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},29":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},30"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":264.0,"y":192.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},30":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},31"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052019,"modified":1473052019,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},31":{"jcid":393269,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Attachment","container":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},32","preview":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},33","filename":"fictitious-attachment.txt","source_path":"C:\\one-tests\\runs\\20260905-05\\assets\\fictitious-attachment.txt","recording_id":null,"recording_type":null},"extra":[[{"id":335557837,"value":{"Bytes":"abaa2a3f"}},{"id":335557838,"value":{"Bytes":"abaa2a3f"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"66006900630074006900740069006f00750073002d006100740074006100630068006d0065006e0074002e007400780074000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},32":{"jcid":524342,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]},"extension":".txt"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},33":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]},"extension":".png"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},34":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},35"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":312.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},35":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},36"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},36":{"jcid":393250,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},37"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Table","rows":1,"columns":2,"widths":[39.14614,45.14567],"locked":[false,false],"borders":true},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},37":{"jcid":393251,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},38","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},42"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Row"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},38":{"jcid":393252,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},39"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"046d6edc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},39":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Left cell","runs":[{"start":0,"end":9,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},42":{"jcid":393252,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},43"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"04e242dc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},43":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Right cell","runs":[{"start":0,"end":10,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},45":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052300,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},46"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},46":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},47"]}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},47":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"f407f0f801346a36346a36346a343634363436343600343634003436003436003400363400363400360034360034340036003436003400000000000000000000000000006b6b35356b37356b373537353735353700353735003735003735003700353700353500370035370035370035003735000000000000000000000000000000006b6b35376b35376b35353735373537350037353700353700353500370035370035370035003735003735003700353500000000000000000000000000000000346a34366a34366a34363434363436340036343600343600343600340034360034360034003634003634003600343400360000000000000000000000000000dc2e346a36346a34366a34363436343634340036343600343600343600340036003400003600340000340000360000340000360000340036000034000036000034366a346a3436346a36343634343634360034363400363400363400340036003400003600340000360000340000360000340000360034000036000034000034696b37356b37356b373535373537353700353735003735003537003500370035000037003500003700003500003700003500003500370000350000370000006b6b35376b35356b37353735373537350037353500373500373500370035003700003500370000350000350000370000350000370035000037000035000000"}},{"id":335557657,"value":{"Bytes":"01000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"5e14feeb9973fc488f8bef1216f8ea08"}},{"id":469775389,"value":{"Bytes":"3030bf06f53cdd01"}},{"id":536884233,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48"]}},{"id":469775451,"value":{"Bytes":"d91f3b410ad21540"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48":{"jcid":1179720,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775370,"value":{"Bytes":"8f6a8a59c052a04b93afaf357411a56100000000800700000200000021e2e241759f3fb5e0049844a7eec30dbb5a90110000000038040000020000008bc5e241"}},{"id":335557644,"value":{"Bytes":"00000c42"}},{"id":335557645,"value":{"Bytes":"00000c42"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},49":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},50"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},50":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},51"]}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},51":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"ac02e89502346a36346a36346a363434363436343600343634003634003436003400363400363400360034360034340036003436003400000000000000000000000000000000000000000000000000ec326a6a6a9e016a6a366a6a6a346a346a3634366a3436343436343634003634360034360034340036003400360000340036000034000036000034000036000034003400003600003400003600"}},{"id":335557657,"value":{"Bytes":"02000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"cf4d0e31c086724ea43c1550db1f178a"}},{"id":469775389,"value":{"Bytes":"b066de08f53cdd01"}},{"id":536884233,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48"]}},{"id":469775451,"value":{"Bytes":"2cc95f41d91f2340"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},52":{"jcid":131128,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"ConflictMetadata","title":"Client A concurrent edit.","level":1,"author":"snow"},"extra":[[{"id":469769264,"value":{"Bytes":"6d4c500d70a888499d70ce639414e652"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"b0c88ba0c53ddd01"}},{"id":469769631,"value":{"Bytes":"53000000"}}]]}}}}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{4C7E79C8-29B9-0295-2006-87088B9270C7},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1"},"revisions":{"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}},"{4C7E79C8-29B9-0295-2006-87088B9270C7},1":{"roots":{"1":"{273DB6C4-A230-0679-389F-9DB750E092E4},10","2":"{273DB6C4-A230-0679-389F-9DB750E092E4},11","4":"{273DB6C4-A230-0679-389F-9DB750E092E4},13"},"nodes":{"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-55EF988A"},"extra":[[{"id":469769720,"value":{"Bytes":"3800380041000000"}}]]},"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},19":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141822,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Native disjoint edit.","runs":[{"start":0,"end":21,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},15":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-F79A3B95"},"extra":[[{"id":469769720,"value":{"Bytes":"4200390035000000"}}]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},19":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141866,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Client B concurrent edit.","runs":[{"start":0,"end":25,"format":"{523F023B-8667-0712-0EBD-FF04058A53A5},20","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},10":{"jcid":393228,"children":["{03D49648-056C-0F08-32C9-0424E8496E7D},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":36.0,"y":14.400001,"max_width":127.513695,"max_height":14.3},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052016,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},11":{"jcid":393229,"children":[],"content":["{523F023B-8667-0712-0EBD-FF04058A53A5},19"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141866,"modified":1473141866,"original_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","latest_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},13":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},17":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{55644A5D-B639-0555-287F-86AC4C458A34},10":{"jcid":393228,"children":["{55644A5D-B639-0555-287F-86AC4C458A34},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":96.0,"max_width":167.04495,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141822,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{55644A5D-B639-0555-287F-86AC4C458A34},11":{"jcid":393229,"children":[],"content":["{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},19"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141822,"modified":1473141822,"original_author":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15","latest_author":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{55644A5D-B639-0555-287F-86AC4C458A34},16":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10":{"jcid":393228,"children":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":264.0,"y":192.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11":{"jcid":393229,"children":[],"content":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052019,"modified":1473052019,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12":{"jcid":393269,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Attachment","container":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13","preview":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14","filename":"fictitious-attachment.txt","source_path":"C:\\one-tests\\runs\\20260905-05\\assets\\fictitious-attachment.txt","recording_id":null,"recording_type":null},"extra":[[{"id":335557837,"value":{"Bytes":"abaa2a3f"}},{"id":335557838,"value":{"Bytes":"abaa2a3f"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"66006900630074006900740069006f00750073002d006100740074006100630068006d0065006e0074002e007400780074000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13":{"jcid":524342,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]},"extension":".txt"},"extra":[]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]},"extension":".png"},"extra":[]},"{273DB6C4-A230-0679-389F-9DB750E092E4},10":{"jcid":393271,"children":[],"content":["{273DB6C4-A230-0679-389F-9DB750E092E4},12"],"structure":[],"spaces":["{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[{"id":603993154,"value":{"Objects":["{B2F9E0E3-3A87-4F1B-8505-2633CDC0F444},1"]}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Client B concurrent edit.","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":2281708951,"value":"NoData"}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},12":{"jcid":393227,"children":["{03D49648-056C-0F08-32C9-0424E8496E7D},10","{55644A5D-B639-0555-287F-86AC4C458A34},10","{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10","{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10","{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":"Client B concurrent edit.","level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"73006e006f0077000000"}},{"id":469769720,"value":{"Bytes":"53000000"}},{"id":335551836,"value":{"Bytes":"02000000"}},{"id":469769565,"value":{"Bytes":"0310e65e416b931f400000000000000000"}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},13":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":134330587010000000},"extra":[[]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10":{"jcid":393228,"children":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":192.0,"max_width":96.000015,"max_height":0.74999994},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"},{"id":335551707,"value":{"Bytes":"aaaa0640"}}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11":{"jcid":393229,"children":[],"content":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052018,"modified":1473052018,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},13","filename":null,"alt":null,"picture_width":0.75,"picture_height":0.75,"background":null,"printout":false,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb01000000ab6180f822df4542b575c076ce6aaa0c000000000200000000001066000000010000200000002b59212af3023a32dd5b4c71bb1d072124be7a993933c762d8590536da9d37d2000000000e80000000020000200000000595329d755a96366351f1ec57dc25193cca79a8e4e438b31b7451415e4b0482200000003f639ba9e4652c47fc3d06fad88a6844861d447910d32e37fd078583e9a3b590400000006ea7ab72598677e78d2a6b888429c410bb3d31b48adbddfb607788d44d450a674407b51e4209dbf11dc5531e99f797214833a045b38073716b5876053ec85076"}},{"id":469769724,"value":{"Bytes":"f402c1d94636be45d97fa7ab7fbf2c127166c53e"}},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},13":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]},"extension":".png"},"extra":[]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13":{"jcid":1179720,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775370,"value":{"Bytes":"8f6a8a59c052a04b93afaf357411a56100000000800700000200000021e2e241759f3fb5e0049844a7eec30dbb5a90110000000038040000020000008bc5e241"}},{"id":335557644,"value":{"Bytes":"00000c42"}},{"id":335557645,"value":{"Bytes":"00000c42"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},14":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"f407f0f801346a36346a36346a343634363436343600343634003436003436003400363400363400360034360034340036003436003400000000000000000000000000006b6b35356b37356b373537353735353700353735003735003735003700353700353500370035370035370035003735000000000000000000000000000000006b6b35376b35376b35353735373537350037353700353700353500370035370035370035003735003735003700353500000000000000000000000000000000346a34366a34366a34363434363436340036343600343600343600340034360034360034003634003634003600343400360000000000000000000000000000dc2e346a36346a34366a34363436343634340036343600343600343600340036003400003600340000340000360000340000360000340036000034000036000034366a346a3436346a36343634343634360034363400363400363400340036003400003600340000360000340000360000340000360034000036000034000034696b37356b37356b373535373537353700353735003735003537003500370035000037003500003700003500003700003500003500370000350000370000006b6b35376b35356b37353735373537350037353500373500373500370035003700003500370000350000350000370000350000370035000037000035000000"}},{"id":335557657,"value":{"Bytes":"01000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"5e14feeb9973fc488f8bef1216f8ea08"}},{"id":469775389,"value":{"Bytes":"3030bf06f53cdd01"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}},{"id":469775451,"value":{"Bytes":"d91f3b410ad21540"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052300,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},14"]}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},19":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"ac02e89502346a36346a36346a363434363436343600343634003634003436003400363400363400360034360034340036003436003400000000000000000000000000000000000000000000000000ec326a6a6a9e016a6a366a6a6a346a346a3634366a3436343436343634003634360034360034340036003400360000340036000034000036000034000036000034003400003600003400003600"}},{"id":335557657,"value":{"Bytes":"02000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"cf4d0e31c086724ea43c1550db1f178a"}},{"id":469775389,"value":{"Bytes":"b066de08f53cdd01"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}},{"id":469775451,"value":{"Bytes":"2cc95f41d91f2340"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},19"]}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10":{"jcid":393228,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":312.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},11":{"jcid":393229,"children":[],"content":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},12":{"jcid":393250,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},13"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Table","rows":1,"columns":2,"widths":[39.14614,45.14567],"locked":[false,false],"borders":true},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},13":{"jcid":393251,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},14","{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},22"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Row"},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},14":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"046d6edc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17":{"jcid":393229,"children":[],"content":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},21"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},21":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Left cell","runs":[{"start":0,"end":9,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{03D49648-056C-0F08-32C9-0424E8496E7D},17","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},22":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"04e242dc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25":{"jcid":393229,"children":[],"content":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},29"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},29":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Right cell","runs":[{"start":0,"end":10,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{03D49648-056C-0F08-32C9-0424E8496E7D},17","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{B2F9E0E3-3A87-4F1B-8505-2633CDC0F444},1":{"jcid":131128,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"ConflictMetadata","title":"Client A concurrent edit.","level":1,"author":"snow"},"extra":[[{"id":469769264,"value":{"Bytes":"6d4c500d70a888499d70ce639414e652"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"b0c88ba0c53ddd01"}},{"id":469769631,"value":{"Bytes":"53000000"}}]]}}}}}}}
\ No newline at end of file
corpus/m6/live-collaboration-15/conflict-model/text.json created+1
...@@ -0,0 +1 @@
1{"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1":{}},"{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1":{"{3322FC41-5152-002C-1A6F-6E54765F3328},1":{"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18":[{"text":"Client A concurrent edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23":[{"text":"Native disjoint edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40":[{"text":"Left cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44":[{"text":"Right cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{},"{4C7E79C8-29B9-0295-2006-87088B9270C7},1":{"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},19":[{"text":"Native disjoint edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{523F023B-8667-0712-0EBD-FF04058A53A5},19":[{"text":"Client B concurrent edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},21":[{"text":"Left cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},29":[{"text":"Right cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]}}}
\ No newline at end of file
corpus/m6/live-collaboration-15/conflict.one created
Binary files /dev/null and b/corpus/m6/live-collaboration-15/conflict.one differ
corpus/m6/live-collaboration-15/conflict/locks.txt created+9
...@@ -0,0 +1,9 @@
1
2Locked files:
3Pid User(ID) DenyMode Access R/W Oplock SharePath Name Time
4--------------------------------------------------------------------------------------------------
54403 1000 DENY_NONE 0x120089 RDONLY LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:04:50 2026
64403 1000 DENY_WRITE 0x12019f RDWR LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:04:50 2026
74382 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:04:56 2026
84382 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/Open Notebook.onetoc2 Sun Sep 6 06:04:56 2026
9
corpus/m6/live-collaboration-15/conflict/model/assets.json created+1
...@@ -0,0 +1 @@
1[{"path":"assets/0.bin","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]}},{"path":"assets/1.bin","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]}},{"path":"assets/2.bin","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]}}]
\ No newline at end of file
corpus/m6/live-collaboration-15/conflict/model/assets/0.bin created
Binary files /dev/null and b/corpus/m6/live-collaboration-15/conflict/model/assets/0.bin differ
corpus/m6/live-collaboration-15/conflict/model/assets/1.bin created+1
...@@ -0,0 +1 @@
1Fictitious attachment for native corpus.
\ No newline at end of file
corpus/m6/live-collaboration-15/conflict/model/assets/2.bin created
Binary files /dev/null and b/corpus/m6/live-collaboration-15/conflict/model/assets/2.bin differ
corpus/m6/live-collaboration-15/conflict/model/document.json created+1
...@@ -0,0 +1 @@
1{"file_id":[60,64,135,83,160,135,242,70,172,54,122,51,224,103,190,213],"root":"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1","spaces":{"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1"},"revisions":{"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1":{"roots":{"1":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10","2":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11"},"nodes":{"{C7F40B04-17EF-07C8-0477-F2143775FC8E},10":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"8b3ac8fcf49f714db27dc2cf3ff433a8"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":603993154,"value":{"Objects":["{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1"]}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10":{"jcid":393223,"children":["{C7F40B04-17EF-07C8-0477-F2143775FC8E},10"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Section","default_template":null},"extra":[[{"id":469769264,"value":{"Bytes":"ad3e51bcb6d1bd448acde95750378bfa"}},{"id":402660453,"value":{"Bytes":"b0804d5df43cdd01"}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11":{"jcid":131121,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"SectionMetadata","name":null,"color":14985354},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]},"{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Client B concurrent edit.","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":2281708951,"value":"NoData"}]]}}}}},"{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{3322FC41-5152-002C-1A6F-6E54765F3328},1"},"revisions":{"{3322FC41-5152-002C-1A6F-6E54765F3328},1":{"roots":{"1":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},10","2":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},52","4":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},12"},"nodes":{"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},10":{"jcid":393271,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},14"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},12":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":134330587010000000},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},14":{"jcid":393227,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},15","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},21","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},25","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},29","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},34","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},45","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},49"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":"Client A concurrent edit.","level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"73006e006f0077000000"}},{"id":469769720,"value":{"Bytes":"53000000"}},{"id":335551836,"value":{"Bytes":"02000000"}},{"id":469769565,"value":{"Bytes":"0310e65e416b931f400000000000000000"}},{"id":2281708766,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":2281708924,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},15":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},16"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":36.0,"y":14.400001,"max_width":127.513695,"max_height":14.3},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},16":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141863,"modified":1473141863,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-55EF988A"},"extra":[[{"id":469769720,"value":{"Bytes":"3800380041000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Client A concurrent edit.","runs":[{"start":0,"end":25,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},20","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":2281709019,"value":"NoData"},{"id":2281708950,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},21":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},22"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":96.0,"max_width":167.04495,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},22":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141822,"modified":1473141822,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141822,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Native disjoint edit.","runs":[{"start":0,"end":21,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},25":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},26"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":192.0,"max_width":96.000015,"max_height":0.74999994},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"},{"id":335551707,"value":{"Bytes":"aaaa0640"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},26":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},27"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052018,"modified":1473052018,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},27":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},28","filename":null,"alt":null,"picture_width":0.75,"picture_height":0.75,"background":null,"printout":false,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb01000000ab6180f822df4542b575c076ce6aaa0c000000000200000000001066000000010000200000002b59212af3023a32dd5b4c71bb1d072124be7a993933c762d8590536da9d37d2000000000e80000000020000200000000595329d755a96366351f1ec57dc25193cca79a8e4e438b31b7451415e4b0482200000003f639ba9e4652c47fc3d06fad88a6844861d447910d32e37fd078583e9a3b590400000006ea7ab72598677e78d2a6b888429c410bb3d31b48adbddfb607788d44d450a674407b51e4209dbf11dc5531e99f797214833a045b38073716b5876053ec85076"}},{"id":469769724,"value":{"Bytes":"f402c1d94636be45d97fa7ab7fbf2c127166c53e"}},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},28":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]},"extension":".png"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},29":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},30"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":264.0,"y":192.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},30":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},31"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052019,"modified":1473052019,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},31":{"jcid":393269,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Attachment","container":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},32","preview":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},33","filename":"fictitious-attachment.txt","source_path":"C:\\one-tests\\runs\\20260905-05\\assets\\fictitious-attachment.txt","recording_id":null,"recording_type":null},"extra":[[{"id":335557837,"value":{"Bytes":"abaa2a3f"}},{"id":335557838,"value":{"Bytes":"abaa2a3f"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"66006900630074006900740069006f00750073002d006100740074006100630068006d0065006e0074002e007400780074000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},32":{"jcid":524342,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]},"extension":".txt"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},33":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]},"extension":".png"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},34":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},35"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":312.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},35":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},36"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},36":{"jcid":393250,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},37"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Table","rows":1,"columns":2,"widths":[39.14614,45.14567],"locked":[false,false],"borders":true},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},37":{"jcid":393251,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},38","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},42"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Row"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},38":{"jcid":393252,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},39"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"046d6edc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},39":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Left cell","runs":[{"start":0,"end":9,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},42":{"jcid":393252,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},43"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"04e242dc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},43":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Right cell","runs":[{"start":0,"end":10,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},45":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052300,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},46"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},46":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},47"]}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},47":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"f407f0f801346a36346a36346a343634363436343600343634003436003436003400363400363400360034360034340036003436003400000000000000000000000000006b6b35356b37356b373537353735353700353735003735003735003700353700353500370035370035370035003735000000000000000000000000000000006b6b35376b35376b35353735373537350037353700353700353500370035370035370035003735003735003700353500000000000000000000000000000000346a34366a34366a34363434363436340036343600343600343600340034360034360034003634003634003600343400360000000000000000000000000000dc2e346a36346a34366a34363436343634340036343600343600343600340036003400003600340000340000360000340000360000340036000034000036000034366a346a3436346a36343634343634360034363400363400363400340036003400003600340000360000340000360000340000360034000036000034000034696b37356b37356b373535373537353700353735003735003537003500370035000037003500003700003500003700003500003500370000350000370000006b6b35376b35356b37353735373537350037353500373500373500370035003700003500370000350000350000370000350000370035000037000035000000"}},{"id":335557657,"value":{"Bytes":"01000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"5e14feeb9973fc488f8bef1216f8ea08"}},{"id":469775389,"value":{"Bytes":"3030bf06f53cdd01"}},{"id":536884233,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48"]}},{"id":469775451,"value":{"Bytes":"d91f3b410ad21540"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48":{"jcid":1179720,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775370,"value":{"Bytes":"8f6a8a59c052a04b93afaf357411a56100000000800700000200000021e2e241759f3fb5e0049844a7eec30dbb5a90110000000038040000020000008bc5e241"}},{"id":335557644,"value":{"Bytes":"00000c42"}},{"id":335557645,"value":{"Bytes":"00000c42"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},49":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},50"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},50":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},51"]}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},51":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"ac02e89502346a36346a36346a363434363436343600343634003634003436003400363400363400360034360034340036003436003400000000000000000000000000000000000000000000000000ec326a6a6a9e016a6a366a6a6a346a346a3634366a3436343436343634003634360034360034340036003400360000340036000034000036000034000036000034003400003600003400003600"}},{"id":335557657,"value":{"Bytes":"02000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"cf4d0e31c086724ea43c1550db1f178a"}},{"id":469775389,"value":{"Bytes":"b066de08f53cdd01"}},{"id":536884233,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48"]}},{"id":469775451,"value":{"Bytes":"2cc95f41d91f2340"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},52":{"jcid":131128,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"ConflictMetadata","title":"Client A concurrent edit.","level":1,"author":"snow"},"extra":[[{"id":469769264,"value":{"Bytes":"6d4c500d70a888499d70ce639414e652"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"b0c88ba0c53ddd01"}},{"id":469769631,"value":{"Bytes":"53000000"}}]]}}}}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{4C7E79C8-29B9-0295-2006-87088B9270C7},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1"},"revisions":{"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}},"{4C7E79C8-29B9-0295-2006-87088B9270C7},1":{"roots":{"1":"{273DB6C4-A230-0679-389F-9DB750E092E4},10","2":"{273DB6C4-A230-0679-389F-9DB750E092E4},11","4":"{273DB6C4-A230-0679-389F-9DB750E092E4},13"},"nodes":{"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-55EF988A"},"extra":[[{"id":469769720,"value":{"Bytes":"3800380041000000"}}]]},"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},19":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141822,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Native disjoint edit.","runs":[{"start":0,"end":21,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},15":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-F79A3B95"},"extra":[[{"id":469769720,"value":{"Bytes":"4200390035000000"}}]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},19":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141866,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Client B concurrent edit.","runs":[{"start":0,"end":25,"format":"{523F023B-8667-0712-0EBD-FF04058A53A5},20","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},10":{"jcid":393228,"children":["{03D49648-056C-0F08-32C9-0424E8496E7D},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":36.0,"y":14.400001,"max_width":127.513695,"max_height":14.3},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052016,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},11":{"jcid":393229,"children":[],"content":["{523F023B-8667-0712-0EBD-FF04058A53A5},19"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141866,"modified":1473141866,"original_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","latest_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},13":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},17":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{55644A5D-B639-0555-287F-86AC4C458A34},10":{"jcid":393228,"children":["{55644A5D-B639-0555-287F-86AC4C458A34},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":96.0,"max_width":167.04495,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141822,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{55644A5D-B639-0555-287F-86AC4C458A34},11":{"jcid":393229,"children":[],"content":["{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},19"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141822,"modified":1473141822,"original_author":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15","latest_author":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{55644A5D-B639-0555-287F-86AC4C458A34},16":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10":{"jcid":393228,"children":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":264.0,"y":192.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11":{"jcid":393229,"children":[],"content":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052019,"modified":1473052019,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12":{"jcid":393269,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Attachment","container":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13","preview":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14","filename":"fictitious-attachment.txt","source_path":"C:\\one-tests\\runs\\20260905-05\\assets\\fictitious-attachment.txt","recording_id":null,"recording_type":null},"extra":[[{"id":335557837,"value":{"Bytes":"abaa2a3f"}},{"id":335557838,"value":{"Bytes":"abaa2a3f"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"66006900630074006900740069006f00750073002d006100740074006100630068006d0065006e0074002e007400780074000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13":{"jcid":524342,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]},"extension":".txt"},"extra":[]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]},"extension":".png"},"extra":[]},"{273DB6C4-A230-0679-389F-9DB750E092E4},10":{"jcid":393271,"children":[],"content":["{273DB6C4-A230-0679-389F-9DB750E092E4},12"],"structure":[],"spaces":["{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[{"id":603993154,"value":{"Objects":["{B2F9E0E3-3A87-4F1B-8505-2633CDC0F444},1"]}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Client B concurrent edit.","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":2281708951,"value":"NoData"}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},12":{"jcid":393227,"children":["{03D49648-056C-0F08-32C9-0424E8496E7D},10","{55644A5D-B639-0555-287F-86AC4C458A34},10","{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10","{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10","{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":"Client B concurrent edit.","level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"73006e006f0077000000"}},{"id":469769720,"value":{"Bytes":"53000000"}},{"id":335551836,"value":{"Bytes":"02000000"}},{"id":469769565,"value":{"Bytes":"0310e65e416b931f400000000000000000"}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},13":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":134330587010000000},"extra":[[]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10":{"jcid":393228,"children":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":192.0,"max_width":96.000015,"max_height":0.74999994},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"},{"id":335551707,"value":{"Bytes":"aaaa0640"}}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11":{"jcid":393229,"children":[],"content":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052018,"modified":1473052018,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},13","filename":null,"alt":null,"picture_width":0.75,"picture_height":0.75,"background":null,"printout":false,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb01000000ab6180f822df4542b575c076ce6aaa0c000000000200000000001066000000010000200000002b59212af3023a32dd5b4c71bb1d072124be7a993933c762d8590536da9d37d2000000000e80000000020000200000000595329d755a96366351f1ec57dc25193cca79a8e4e438b31b7451415e4b0482200000003f639ba9e4652c47fc3d06fad88a6844861d447910d32e37fd078583e9a3b590400000006ea7ab72598677e78d2a6b888429c410bb3d31b48adbddfb607788d44d450a674407b51e4209dbf11dc5531e99f797214833a045b38073716b5876053ec85076"}},{"id":469769724,"value":{"Bytes":"f402c1d94636be45d97fa7ab7fbf2c127166c53e"}},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},13":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]},"extension":".png"},"extra":[]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13":{"jcid":1179720,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775370,"value":{"Bytes":"8f6a8a59c052a04b93afaf357411a56100000000800700000200000021e2e241759f3fb5e0049844a7eec30dbb5a90110000000038040000020000008bc5e241"}},{"id":335557644,"value":{"Bytes":"00000c42"}},{"id":335557645,"value":{"Bytes":"00000c42"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},14":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"f407f0f801346a36346a36346a343634363436343600343634003436003436003400363400363400360034360034340036003436003400000000000000000000000000006b6b35356b37356b373537353735353700353735003735003735003700353700353500370035370035370035003735000000000000000000000000000000006b6b35376b35376b35353735373537350037353700353700353500370035370035370035003735003735003700353500000000000000000000000000000000346a34366a34366a34363434363436340036343600343600343600340034360034360034003634003634003600343400360000000000000000000000000000dc2e346a36346a34366a34363436343634340036343600343600343600340036003400003600340000340000360000340000360000340036000034000036000034366a346a3436346a36343634343634360034363400363400363400340036003400003600340000360000340000360000340000360034000036000034000034696b37356b37356b373535373537353700353735003735003537003500370035000037003500003700003500003700003500003500370000350000370000006b6b35376b35356b37353735373537350037353500373500373500370035003700003500370000350000350000370000350000370035000037000035000000"}},{"id":335557657,"value":{"Bytes":"01000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"5e14feeb9973fc488f8bef1216f8ea08"}},{"id":469775389,"value":{"Bytes":"3030bf06f53cdd01"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}},{"id":469775451,"value":{"Bytes":"d91f3b410ad21540"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052300,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},14"]}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},19":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"ac02e89502346a36346a36346a363434363436343600343634003634003436003400363400363400360034360034340036003436003400000000000000000000000000000000000000000000000000ec326a6a6a9e016a6a366a6a6a346a346a3634366a3436343436343634003634360034360034340036003400360000340036000034000036000034000036000034003400003600003400003600"}},{"id":335557657,"value":{"Bytes":"02000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"cf4d0e31c086724ea43c1550db1f178a"}},{"id":469775389,"value":{"Bytes":"b066de08f53cdd01"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}},{"id":469775451,"value":{"Bytes":"2cc95f41d91f2340"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},19"]}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10":{"jcid":393228,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":312.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},11":{"jcid":393229,"children":[],"content":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},12":{"jcid":393250,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},13"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Table","rows":1,"columns":2,"widths":[39.14614,45.14567],"locked":[false,false],"borders":true},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},13":{"jcid":393251,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},14","{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},22"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Row"},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},14":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"046d6edc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17":{"jcid":393229,"children":[],"content":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},21"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},21":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Left cell","runs":[{"start":0,"end":9,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{03D49648-056C-0F08-32C9-0424E8496E7D},17","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},22":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"04e242dc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25":{"jcid":393229,"children":[],"content":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},29"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},29":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Right cell","runs":[{"start":0,"end":10,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{03D49648-056C-0F08-32C9-0424E8496E7D},17","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{B2F9E0E3-3A87-4F1B-8505-2633CDC0F444},1":{"jcid":131128,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"ConflictMetadata","title":"Client A concurrent edit.","level":1,"author":"snow"},"extra":[[{"id":469769264,"value":{"Bytes":"6d4c500d70a888499d70ce639414e652"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"b0c88ba0c53ddd01"}},{"id":469769631,"value":{"Bytes":"53000000"}}]]}}}}}}}
\ No newline at end of file
corpus/m6/live-collaboration-15/conflict/model/text.json created+1
...@@ -0,0 +1 @@
1{"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1":{}},"{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1":{"{3322FC41-5152-002C-1A6F-6E54765F3328},1":{"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18":[{"text":"Client A concurrent edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23":[{"text":"Native disjoint edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40":[{"text":"Left cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44":[{"text":"Right cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{},"{4C7E79C8-29B9-0295-2006-87088B9270C7},1":{"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},19":[{"text":"Native disjoint edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{523F023B-8667-0712-0EBD-FF04058A53A5},19":[{"text":"Client B concurrent edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},21":[{"text":"Left cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},29":[{"text":"Right cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]}}}
\ No newline at end of file
corpus/m6/live-collaboration-15/conflict/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/m6/live-collaboration-15/conflict/notebook/Open Notebook.onetoc2 differ
corpus/m6/live-collaboration-15/conflict/notebook/synthetic.one created
Binary files /dev/null and b/corpus/m6/live-collaboration-15/conflict/notebook/synthetic.one differ
corpus/m6/live-collaboration-15/contention.json created+4
...@@ -0,0 +1,4 @@
1{
2 "unchanged_sha256": "78b139fe514ef75318d47ebbdff4512d39ead2c57ff8c2dc8760d1125d59639c",
3 "locks": "\nLocked files:\nPid User(ID) DenyMode Access R/W Oplock SharePath Name Time\n--------------------------------------------------------------------------------------------------\n4475 1000 DENY_NONE 0x120089 RDONLY LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:15 2026\n4474 1000 DENY_NONE 0x120089 RDONLY LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:22 2026\n4474 1000 DENY_WRITE 0x12019f RDWR LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:22 2026\n4473 1000 DENY_NONE 0x81 RDONLY LEASE(RH) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:20 2026\n4473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:20 2026\n4473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/Open Notebook.onetoc2 Sun Sep 6 06:04:59 2026\n4475 1000 DENY_NONE 0x120089 RDONLY LEASE(RH) /srv/agent m6-collaboration Sun Sep 6 06:05:19 2026\n4474 1000 DENY_NONE 0x120089 RDONLY LEASE(RH) /srv/agent m6-collaboration Sun Sep 6 06:05:19 2026\n\n"
4}
\ No newline at end of file
corpus/m6/live-collaboration-15/disjoint/locks.txt created+14
...@@ -0,0 +1,14 @@
1
2Locked files:
3Pid User(ID) DenyMode Access R/W Oplock SharePath Name Time
4--------------------------------------------------------------------------------------------------
54209 1000 DENY_ALL 0x100080 RDONLY NONE /srv/agent . Sun Sep 6 06:03:06 2026
64188 1000 DENY_ALL 0x100080 RDONLY NONE /srv/agent . Sun Sep 6 06:00:31 2026
74188 1000 DENY_NONE 0x120089 RDONLY LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:04:14 2026
84188 1000 DENY_WRITE 0x12019f RDWR LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:04:14 2026
93677 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:04:22 2026
103677 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/Open Notebook.onetoc2 Sun Sep 6 06:03:39 2026
114209 1000 DENY_NONE 0x120089 RDONLY LEASE() /srv/agent m6-collaboration Sun Sep 6 06:03:18 2026
124188 1000 DENY_NONE 0x120089 RDONLY LEASE() /srv/agent m6-collaboration Sun Sep 6 06:00:41 2026
133677 1000 DENY_NONE 0x20087 RDWR LEASE(RWH) /srv/agent m6-collaboration/._synthetic.one Sun Sep 6 06:03:39 2026
14
corpus/m6/live-collaboration-15/disjoint/model/assets.json created+1
...@@ -0,0 +1 @@
1[{"path":"assets/0.bin","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]}},{"path":"assets/1.bin","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]}},{"path":"assets/2.bin","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]}}]
\ No newline at end of file
corpus/m6/live-collaboration-15/disjoint/model/assets/0.bin created+1
...@@ -0,0 +1 @@
1Fictitious attachment for native corpus.
\ No newline at end of file
corpus/m6/live-collaboration-15/disjoint/model/assets/1.bin created
Binary files /dev/null and b/corpus/m6/live-collaboration-15/disjoint/model/assets/1.bin differ
corpus/m6/live-collaboration-15/disjoint/model/assets/2.bin created
Binary files /dev/null and b/corpus/m6/live-collaboration-15/disjoint/model/assets/2.bin differ
corpus/m6/live-collaboration-15/disjoint/model/document.json created+1
...@@ -0,0 +1 @@
1{"file_id":[60,64,135,83,160,135,242,70,172,54,122,51,224,103,190,213],"root":"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1","spaces":{"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{9E24424C-0CD9-0E62-29EE-A244369C13D7},1"},"revisions":{"{9E24424C-0CD9-0E62-29EE-A244369C13D7},1":{"roots":{"1":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10","2":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11"},"nodes":{"{C7F40B04-17EF-07C8-0477-F2143775FC8E},10":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"8b3ac8fcf49f714db27dc2cf3ff433a8"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":603993154,"value":{"Objects":["{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1"]}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10":{"jcid":393223,"children":["{C7F40B04-17EF-07C8-0477-F2143775FC8E},10"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Section","default_template":null},"extra":[[{"id":469769264,"value":{"Bytes":"ad3e51bcb6d1bd448acde95750378bfa"}},{"id":402660453,"value":{"Bytes":"b0804d5df43cdd01"}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11":{"jcid":131121,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"SectionMetadata","name":null,"color":14985354},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]},"{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Fictitious: café, 東京, مرحبا","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}}]]}}}}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{125A48D7-C513-06A7-28EF-F7EC84D1B3B9},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1"},"revisions":{"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}},"{125A48D7-C513-06A7-28EF-F7EC84D1B3B9},1":{"roots":{"1":"{273DB6C4-A230-0679-389F-9DB750E092E4},10","2":"{273DB6C4-A230-0679-389F-9DB750E092E4},11","4":"{273DB6C4-A230-0679-389F-9DB750E092E4},13"},"nodes":{"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-55EF988A"},"extra":[[{"id":469769720,"value":{"Bytes":"3800380041000000"}}]]},"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},19":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141822,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Native disjoint edit.","runs":[{"start":0,"end":21,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},10":{"jcid":393228,"children":["{03D49648-056C-0F08-32C9-0424E8496E7D},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":36.0,"y":14.400001,"max_width":127.513695,"max_height":14.3},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052016,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},11":{"jcid":393229,"children":[],"content":["{57D959A7-EBAB-0B48-091B-646F994DD19F},18"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052015,"modified":1473052016,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},13":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},17":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{55644A5D-B639-0555-287F-86AC4C458A34},10":{"jcid":393228,"children":["{55644A5D-B639-0555-287F-86AC4C458A34},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":96.0,"max_width":167.04495,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141822,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{55644A5D-B639-0555-287F-86AC4C458A34},11":{"jcid":393229,"children":[],"content":["{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},19"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141822,"modified":1473141822,"original_author":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15","latest_author":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{55644A5D-B639-0555-287F-86AC4C458A34},16":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{57D959A7-EBAB-0B48-091B-646F994DD19F},18":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052016,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Rust disjoint edit.........","runs":[{"start":0,"end":18,"format":"{57D959A7-EBAB-0B48-091B-646F994DD19F},19","extra_set":null},{"start":18,"end":20,"format":"{57D959A7-EBAB-0B48-091B-646F994DD19F},20","extra_set":null},{"start":20,"end":22,"format":"{57D959A7-EBAB-0B48-091B-646F994DD19F},19","extra_set":null},{"start":22,"end":27,"format":"{57D959A7-EBAB-0B48-091B-646F994DD19F},21","extra_set":null}],"paragraph_style":"{03D49648-056C-0F08-32C9-0424E8496E7D},17","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{57D959A7-EBAB-0B48-091B-646F994DD19F},19":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":true,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{57D959A7-EBAB-0B48-091B-646F994DD19F},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":true,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"SimSun","font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":2281714858,"value":"NoData"},{"id":201334017,"value":{"Bytes":"86"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{57D959A7-EBAB-0B48-091B-646F994DD19F},21":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":true,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Arial","font_size":null,"color":7949855,"highlight":null,"language":1025,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":2281714858,"value":"NoData"},{"id":201334017,"value":{"Bytes":"b2"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10":{"jcid":393228,"children":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":264.0,"y":192.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11":{"jcid":393229,"children":[],"content":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052019,"modified":1473052019,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12":{"jcid":393269,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Attachment","container":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13","preview":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14","filename":"fictitious-attachment.txt","source_path":"C:\\one-tests\\runs\\20260905-05\\assets\\fictitious-attachment.txt","recording_id":null,"recording_type":null},"extra":[[{"id":335557837,"value":{"Bytes":"abaa2a3f"}},{"id":335557838,"value":{"Bytes":"abaa2a3f"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"66006900630074006900740069006f00750073002d006100740074006100630068006d0065006e0074002e007400780074000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13":{"jcid":524342,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]},"extension":".txt"},"extra":[]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]},"extension":".png"},"extra":[]},"{273DB6C4-A230-0679-389F-9DB750E092E4},10":{"jcid":393271,"children":[],"content":["{273DB6C4-A230-0679-389F-9DB750E092E4},12"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Fictitious: café, 東京, مرحبا","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},12":{"jcid":393227,"children":["{55644A5D-B639-0555-287F-86AC4C458A34},10","{03D49648-056C-0F08-32C9-0424E8496E7D},10","{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10","{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10","{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141854,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":"Fictitious: café, 東京, مرحبا","level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"73006e006f0077000000"}},{"id":469769720,"value":{"Bytes":"53000000"}},{"id":335551836,"value":{"Bytes":"02000000"}},{"id":469769565,"value":{"Bytes":"0310e65e416b931f400000000000000000"}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},13":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":134330587010000000},"extra":[[]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10":{"jcid":393228,"children":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":192.0,"max_width":96.000015,"max_height":0.74999994},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"},{"id":335551707,"value":{"Bytes":"aaaa0640"}}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11":{"jcid":393229,"children":[],"content":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052018,"modified":1473052018,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},13","filename":null,"alt":null,"picture_width":0.75,"picture_height":0.75,"background":null,"printout":false,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb01000000ab6180f822df4542b575c076ce6aaa0c000000000200000000001066000000010000200000002b59212af3023a32dd5b4c71bb1d072124be7a993933c762d8590536da9d37d2000000000e80000000020000200000000595329d755a96366351f1ec57dc25193cca79a8e4e438b31b7451415e4b0482200000003f639ba9e4652c47fc3d06fad88a6844861d447910d32e37fd078583e9a3b590400000006ea7ab72598677e78d2a6b888429c410bb3d31b48adbddfb607788d44d450a674407b51e4209dbf11dc5531e99f797214833a045b38073716b5876053ec85076"}},{"id":469769724,"value":{"Bytes":"f402c1d94636be45d97fa7ab7fbf2c127166c53e"}},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},13":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]},"extension":".png"},"extra":[]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13":{"jcid":1179720,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775370,"value":{"Bytes":"8f6a8a59c052a04b93afaf357411a56100000000800700000200000021e2e241759f3fb5e0049844a7eec30dbb5a90110000000038040000020000008bc5e241"}},{"id":335557644,"value":{"Bytes":"00000c42"}},{"id":335557645,"value":{"Bytes":"00000c42"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},14":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"f407f0f801346a36346a36346a343634363436343600343634003436003436003400363400363400360034360034340036003436003400000000000000000000000000006b6b35356b37356b373537353735353700353735003735003735003700353700353500370035370035370035003735000000000000000000000000000000006b6b35376b35376b35353735373537350037353700353700353500370035370035370035003735003735003700353500000000000000000000000000000000346a34366a34366a34363434363436340036343600343600343600340034360034360034003634003634003600343400360000000000000000000000000000dc2e346a36346a34366a34363436343634340036343600343600343600340036003400003600340000340000360000340000360000340036000034000036000034366a346a3436346a36343634343634360034363400363400363400340036003400003600340000360000340000360000340000360034000036000034000034696b37356b37356b373535373537353700353735003735003537003500370035000037003500003700003500003700003500003500370000350000370000006b6b35376b35356b37353735373537350037353500373500373500370035003700003500370000350000350000370000350000370035000037000035000000"}},{"id":335557657,"value":{"Bytes":"01000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"5e14feeb9973fc488f8bef1216f8ea08"}},{"id":469775389,"value":{"Bytes":"3030bf06f53cdd01"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}},{"id":469775451,"value":{"Bytes":"d91f3b410ad21540"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052300,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},14"]}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},19":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"ac02e89502346a36346a36346a363434363436343600343634003634003436003400363400363400360034360034340036003436003400000000000000000000000000000000000000000000000000ec326a6a6a9e016a6a366a6a6a346a346a3634366a3436343436343634003634360034360034340036003400360000340036000034000036000034000036000034003400003600003400003600"}},{"id":335557657,"value":{"Bytes":"02000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"cf4d0e31c086724ea43c1550db1f178a"}},{"id":469775389,"value":{"Bytes":"b066de08f53cdd01"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}},{"id":469775451,"value":{"Bytes":"2cc95f41d91f2340"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},19"]}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10":{"jcid":393228,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":312.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},11":{"jcid":393229,"children":[],"content":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},12":{"jcid":393250,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},13"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Table","rows":1,"columns":2,"widths":[39.14614,45.14567],"locked":[false,false],"borders":true},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},13":{"jcid":393251,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},14","{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},22"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Row"},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},14":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"046d6edc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17":{"jcid":393229,"children":[],"content":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},21"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},21":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Left cell","runs":[{"start":0,"end":9,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{03D49648-056C-0F08-32C9-0424E8496E7D},17","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},22":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"04e242dc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25":{"jcid":393229,"children":[],"content":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},29"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},29":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Right cell","runs":[{"start":0,"end":10,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{03D49648-056C-0F08-32C9-0424E8496E7D},17","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]}}}}}}}
\ No newline at end of file
corpus/m6/live-collaboration-15/disjoint/model/text.json created+1
...@@ -0,0 +1 @@
1{"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"{9E24424C-0CD9-0E62-29EE-A244369C13D7},1":{}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{},"{125A48D7-C513-06A7-28EF-F7EC84D1B3B9},1":{"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},19":[{"text":"Native disjoint edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{57D959A7-EBAB-0B48-091B-646F994DD19F},18":[{"text":"Rust disjoint edit","format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"..","format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"SimSun","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"..","format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":".....","format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Arial","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1025,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},21":[{"text":"Left cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},29":[{"text":"Right cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]}}}
\ No newline at end of file
corpus/m6/live-collaboration-15/disjoint/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/m6/live-collaboration-15/disjoint/notebook/Open Notebook.onetoc2 differ
corpus/m6/live-collaboration-15/disjoint/notebook/synthetic.one created
Binary files /dev/null and b/corpus/m6/live-collaboration-15/disjoint/notebook/synthetic.one differ
corpus/m6/live-collaboration-15/initial/locks.txt created+11
...@@ -0,0 +1,11 @@
1
2Locked files:
3Pid User(ID) DenyMode Access R/W Oplock SharePath Name Time
4--------------------------------------------------------------------------------------------------
54209 1000 DENY_ALL 0x100080 RDONLY NONE /srv/agent . Sun Sep 6 06:03:06 2026
64188 1000 DENY_ALL 0x100080 RDONLY NONE /srv/agent . Sun Sep 6 06:00:31 2026
73677 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:03:39 2026
83677 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/Open Notebook.onetoc2 Sun Sep 6 06:03:39 2026
94209 1000 DENY_NONE 0x120089 RDONLY LEASE(RH) /srv/agent m6-collaboration Sun Sep 6 06:03:18 2026
104188 1000 DENY_NONE 0x120089 RDONLY LEASE(RH) /srv/agent m6-collaboration Sun Sep 6 06:00:41 2026
11
corpus/m6/live-collaboration-15/initial/model/assets.json created+1
...@@ -0,0 +1 @@
1[{"path":"assets/0.bin","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]}},{"path":"assets/1.bin","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]}},{"path":"assets/2.bin","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]}}]
\ No newline at end of file
corpus/m6/live-collaboration-15/initial/model/assets/0.bin created+1
...@@ -0,0 +1 @@
1Fictitious attachment for native corpus.
\ No newline at end of file
corpus/m6/live-collaboration-15/initial/model/assets/1.bin created
Binary files /dev/null and b/corpus/m6/live-collaboration-15/initial/model/assets/1.bin differ
corpus/m6/live-collaboration-15/initial/model/assets/2.bin created
Binary files /dev/null and b/corpus/m6/live-collaboration-15/initial/model/assets/2.bin differ
corpus/m6/live-collaboration-15/initial/model/document.json created+1
...@@ -0,0 +1 @@
1{"file_id":[60,64,135,83,160,135,242,70,172,54,122,51,224,103,190,213],"root":"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1","spaces":{"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{9E24424C-0CD9-0E62-29EE-A244369C13D7},1"},"revisions":{"{9E24424C-0CD9-0E62-29EE-A244369C13D7},1":{"roots":{"1":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10","2":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11"},"nodes":{"{C7F40B04-17EF-07C8-0477-F2143775FC8E},10":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"8b3ac8fcf49f714db27dc2cf3ff433a8"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":603993154,"value":{"Objects":["{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1"]}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10":{"jcid":393223,"children":["{C7F40B04-17EF-07C8-0477-F2143775FC8E},10"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Section","default_template":null},"extra":[[{"id":469769264,"value":{"Bytes":"ad3e51bcb6d1bd448acde95750378bfa"}},{"id":402660453,"value":{"Bytes":"b0804d5df43cdd01"}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11":{"jcid":131121,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"SectionMetadata","name":null,"color":14985354},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]},"{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Fictitious: café, 東京, مرحبا","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}}]]}}}}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{74A71964-B70E-0589-3BB3-56F955273024},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1"},"revisions":{"{74A71964-B70E-0589-3BB3-56F955273024},1":{"roots":{"1":"{273DB6C4-A230-0679-389F-9DB750E092E4},10","2":"{273DB6C4-A230-0679-389F-9DB750E092E4},11","4":"{273DB6C4-A230-0679-389F-9DB750E092E4},13"},"nodes":{"{03D49648-056C-0F08-32C9-0424E8496E7D},10":{"jcid":393228,"children":["{03D49648-056C-0F08-32C9-0424E8496E7D},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":36.0,"y":14.400001,"max_width":127.513695,"max_height":14.3},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052016,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},11":{"jcid":393229,"children":[],"content":["{57D959A7-EBAB-0B48-091B-646F994DD19F},18"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052015,"modified":1473052016,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},13":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},17":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{55644A5D-B639-0555-287F-86AC4C458A34},10":{"jcid":393228,"children":["{55644A5D-B639-0555-287F-86AC4C458A34},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":96.0,"max_width":260.0,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052017,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"},{"id":335551707,"value":{"Bytes":"c013e140"}}]]},"{55644A5D-B639-0555-287F-86AC4C458A34},11":{"jcid":393229,"children":[],"content":["{55644A5D-B639-0555-287F-86AC4C458A34},15"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052017,"modified":1473052017,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{55644A5D-B639-0555-287F-86AC4C458A34},15":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052017,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Fictitious positioned outline.","runs":[{"start":0,"end":30,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{03D49648-056C-0F08-32C9-0424E8496E7D},17","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{55644A5D-B639-0555-287F-86AC4C458A34},16":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{57D959A7-EBAB-0B48-091B-646F994DD19F},18":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052016,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Fictitious: café, 東京, مرحبا","runs":[{"start":0,"end":18,"format":"{57D959A7-EBAB-0B48-091B-646F994DD19F},19","extra_set":null},{"start":18,"end":20,"format":"{57D959A7-EBAB-0B48-091B-646F994DD19F},20","extra_set":null},{"start":20,"end":22,"format":"{57D959A7-EBAB-0B48-091B-646F994DD19F},19","extra_set":null},{"start":22,"end":27,"format":"{57D959A7-EBAB-0B48-091B-646F994DD19F},21","extra_set":null}],"paragraph_style":"{03D49648-056C-0F08-32C9-0424E8496E7D},17","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{57D959A7-EBAB-0B48-091B-646F994DD19F},19":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":true,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{57D959A7-EBAB-0B48-091B-646F994DD19F},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":true,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"SimSun","font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":2281714858,"value":"NoData"},{"id":201334017,"value":{"Bytes":"86"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{57D959A7-EBAB-0B48-091B-646F994DD19F},21":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":true,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Arial","font_size":null,"color":7949855,"highlight":null,"language":1025,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":2281714858,"value":"NoData"},{"id":201334017,"value":{"Bytes":"b2"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10":{"jcid":393228,"children":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":264.0,"y":192.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11":{"jcid":393229,"children":[],"content":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052019,"modified":1473052019,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12":{"jcid":393269,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Attachment","container":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13","preview":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14","filename":"fictitious-attachment.txt","source_path":"C:\\one-tests\\runs\\20260905-05\\assets\\fictitious-attachment.txt","recording_id":null,"recording_type":null},"extra":[[{"id":335557837,"value":{"Bytes":"abaa2a3f"}},{"id":335557838,"value":{"Bytes":"abaa2a3f"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"66006900630074006900740069006f00750073002d006100740074006100630068006d0065006e0074002e007400780074000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13":{"jcid":524342,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]},"extension":".txt"},"extra":[]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]},"extension":".png"},"extra":[]},"{273DB6C4-A230-0679-389F-9DB750E092E4},10":{"jcid":393271,"children":[],"content":["{273DB6C4-A230-0679-389F-9DB750E092E4},12"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Fictitious: café, 東京, مرحبا","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},12":{"jcid":393227,"children":["{03D49648-056C-0F08-32C9-0424E8496E7D},10","{55644A5D-B639-0555-287F-86AC4C458A34},10","{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10","{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10","{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},20","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":"Fictitious: café, 東京, مرحبا","level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"73006e006f0077000000"}},{"id":469769720,"value":{"Bytes":"53000000"}},{"id":335551836,"value":{"Bytes":"02000000"}},{"id":469769565,"value":{"Bytes":"0310e65e416b931f400000000000000000"}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},13":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":134330587010000000},"extra":[[]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10":{"jcid":393228,"children":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":192.0,"max_width":96.000015,"max_height":0.74999994},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"},{"id":335551707,"value":{"Bytes":"aaaa0640"}}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11":{"jcid":393229,"children":[],"content":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052018,"modified":1473052018,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},13","filename":null,"alt":null,"picture_width":0.75,"picture_height":0.75,"background":null,"printout":false,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb01000000ab6180f822df4542b575c076ce6aaa0c000000000200000000001066000000010000200000002b59212af3023a32dd5b4c71bb1d072124be7a993933c762d8590536da9d37d2000000000e80000000020000200000000595329d755a96366351f1ec57dc25193cca79a8e4e438b31b7451415e4b0482200000003f639ba9e4652c47fc3d06fad88a6844861d447910d32e37fd078583e9a3b590400000006ea7ab72598677e78d2a6b888429c410bb3d31b48adbddfb607788d44d450a674407b51e4209dbf11dc5531e99f797214833a045b38073716b5876053ec85076"}},{"id":469769724,"value":{"Bytes":"f402c1d94636be45d97fa7ab7fbf2c127166c53e"}},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},13":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]},"extension":".png"},"extra":[]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13":{"jcid":1179720,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775370,"value":{"Bytes":"8f6a8a59c052a04b93afaf357411a56100000000800700000200000021e2e241759f3fb5e0049844a7eec30dbb5a90110000000038040000020000008bc5e241"}},{"id":335557644,"value":{"Bytes":"00000c42"}},{"id":335557645,"value":{"Bytes":"00000c42"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},14":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"f407f0f801346a36346a36346a343634363436343600343634003436003436003400363400363400360034360034340036003436003400000000000000000000000000006b6b35356b37356b373537353735353700353735003735003735003700353700353500370035370035370035003735000000000000000000000000000000006b6b35376b35376b35353735373537350037353700353700353500370035370035370035003735003735003700353500000000000000000000000000000000346a34366a34366a34363434363436340036343600343600343600340034360034360034003634003634003600343400360000000000000000000000000000dc2e346a36346a34366a34363436343634340036343600343600343600340036003400003600340000340000360000340000360000340036000034000036000034366a346a3436346a36343634343634360034363400363400363400340036003400003600340000360000340000360000340000360034000036000034000034696b37356b37356b373535373537353700353735003735003537003500370035000037003500003700003500003700003500003500370000350000370000006b6b35376b35356b37353735373537350037353500373500373500370035003700003500370000350000350000370000350000370035000037000035000000"}},{"id":335557657,"value":{"Bytes":"01000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"5e14feeb9973fc488f8bef1216f8ea08"}},{"id":469775389,"value":{"Bytes":"3030bf06f53cdd01"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}},{"id":469775451,"value":{"Bytes":"d91f3b410ad21540"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052300,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},14"]}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},19":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"ac02e89502346a36346a36346a363434363436343600343634003634003436003400363400363400360034360034340036003436003400000000000000000000000000000000000000000000000000ec326a6a6a9e016a6a366a6a6a346a346a3634366a3436343436343634003634360034360034340036003400360000340036000034000036000034000036000034003400003600003400003600"}},{"id":335557657,"value":{"Bytes":"02000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"cf4d0e31c086724ea43c1550db1f178a"}},{"id":469775389,"value":{"Bytes":"b066de08f53cdd01"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}},{"id":469775451,"value":{"Bytes":"2cc95f41d91f2340"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},20":{"jcid":393228,"children":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},21"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":501.52203,"y":139.75984,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":335551620,"value":{"Bytes":"09000000"}},{"id":335551707,"value":{"Bytes":"456f0341"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},21":{"jcid":393229,"children":[],"content":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},22"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052301,"modified":1473052301,"original_author":"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10","latest_author":"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},22":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"","runs":[{"start":0,"end":0,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{03D49648-056C-0F08-32C9-0424E8496E7D},17","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},19"]}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10":{"jcid":393228,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":312.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},11":{"jcid":393229,"children":[],"content":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},12":{"jcid":393250,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},13"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Table","rows":1,"columns":2,"widths":[39.14614,45.14567],"locked":[false,false],"borders":true},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},13":{"jcid":393251,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},14","{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},22"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Row"},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},14":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"046d6edc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17":{"jcid":393229,"children":[],"content":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},21"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},21":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Left cell","runs":[{"start":0,"end":9,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{03D49648-056C-0F08-32C9-0424E8496E7D},17","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},22":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"04e242dc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25":{"jcid":393229,"children":[],"content":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},29"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},29":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Right cell","runs":[{"start":0,"end":10,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{03D49648-056C-0F08-32C9-0424E8496E7D},17","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]}}},"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}}}}}}
\ No newline at end of file
corpus/m6/live-collaboration-15/initial/model/text.json created+1
...@@ -0,0 +1 @@
1{"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"{9E24424C-0CD9-0E62-29EE-A244369C13D7},1":{}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"{74A71964-B70E-0589-3BB3-56F955273024},1":{"{55644A5D-B639-0555-287F-86AC4C458A34},15":[{"text":"Fictitious positioned outline.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{57D959A7-EBAB-0B48-091B-646F994DD19F},18":[{"text":"Fictitious: café, ","format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"東京","format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"SimSun","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":", ","format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"مرحبا","format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Arial","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1025,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},22":[{"text":"","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},21":[{"text":"Left cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},29":[{"text":"Right cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]},"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{}}}
\ No newline at end of file
corpus/m6/live-collaboration-15/initial/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/m6/live-collaboration-15/initial/notebook/Open Notebook.onetoc2 differ
corpus/m6/live-collaboration-15/initial/notebook/synthetic.one created
Binary files /dev/null and b/corpus/m6/live-collaboration-15/initial/notebook/synthetic.one differ
corpus/m6/live-collaboration-15/input.tar created
Binary files /dev/null and b/corpus/m6/live-collaboration-15/input.tar differ
corpus/m6/live-collaboration-15/linux.json created+11
...@@ -0,0 +1,11 @@
1{
2 "cpus": 2,
3 "disk_gb": 16,
4 "hostname": "one-m6-collaboration",
5 "lab_address": "192.168.77.1",
6 "lab_mac": "52:54:04:d8:85:41",
7 "memory_mb": 2048,
8 "samba_port": 14450,
9 "ssh_port": 22000,
10 "wan_mac": "52:54:03:69:92:f7"
11}
\ No newline at end of file
corpus/m6/live-collaboration-15/lock-released/locks.txt created+12
...@@ -0,0 +1,12 @@
1
2Locked files:
3Pid User(ID) DenyMode Access R/W Oplock SharePath Name Time
4--------------------------------------------------------------------------------------------------
54475 1000 DENY_NONE 0x120089 RDONLY LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:59 2026
64474 1000 DENY_NONE 0x120089 RDONLY LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:59 2026
74474 1000 DENY_WRITE 0x12019f RDWR LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:22 2026
84473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:06:04 2026
94473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/Open Notebook.onetoc2 Sun Sep 6 06:06:04 2026
104475 1000 DENY_NONE 0x120089 RDONLY LEASE() /srv/agent m6-collaboration Sun Sep 6 06:05:19 2026
114474 1000 DENY_NONE 0x120089 RDONLY LEASE() /srv/agent m6-collaboration Sun Sep 6 06:05:19 2026
12
corpus/m6/live-collaboration-15/lock-released/model/assets.json created+1
...@@ -0,0 +1 @@
1[{"path":"assets/0.bin","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]}},{"path":"assets/1.bin","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]}},{"path":"assets/2.bin","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]}}]
\ No newline at end of file
corpus/m6/live-collaboration-15/lock-released/model/assets/0.bin created
Binary files /dev/null and b/corpus/m6/live-collaboration-15/lock-released/model/assets/0.bin differ
corpus/m6/live-collaboration-15/lock-released/model/assets/1.bin created+1
...@@ -0,0 +1 @@
1Fictitious attachment for native corpus.
\ No newline at end of file
corpus/m6/live-collaboration-15/lock-released/model/assets/2.bin created
Binary files /dev/null and b/corpus/m6/live-collaboration-15/lock-released/model/assets/2.bin differ
corpus/m6/live-collaboration-15/lock-released/model/document.json created+1
...@@ -0,0 +1 @@
1{"file_id":[60,64,135,83,160,135,242,70,172,54,122,51,224,103,190,213],"root":"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1","spaces":{"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1"},"revisions":{"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1":{"roots":{"1":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10","2":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11"},"nodes":{"{C7F40B04-17EF-07C8-0477-F2143775FC8E},10":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"8b3ac8fcf49f714db27dc2cf3ff433a8"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":603993154,"value":{"Objects":["{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1"]}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10":{"jcid":393223,"children":["{C7F40B04-17EF-07C8-0477-F2143775FC8E},10"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Section","default_template":null},"extra":[[{"id":469769264,"value":{"Bytes":"ad3e51bcb6d1bd448acde95750378bfa"}},{"id":402660453,"value":{"Bytes":"b0804d5df43cdd01"}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11":{"jcid":131121,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"SectionMetadata","name":null,"color":14985354},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]},"{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Client B concurrent edit.","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":2281708951,"value":"NoData"}]]}}}}},"{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{3322FC41-5152-002C-1A6F-6E54765F3328},1"},"revisions":{"{3322FC41-5152-002C-1A6F-6E54765F3328},1":{"roots":{"1":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},10","2":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},52","4":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},12"},"nodes":{"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},10":{"jcid":393271,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},14"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},12":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":134330587010000000},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},14":{"jcid":393227,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},15","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},21","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},25","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},29","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},34","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},45","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},49"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":"Client A concurrent edit.","level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"73006e006f0077000000"}},{"id":469769720,"value":{"Bytes":"53000000"}},{"id":335551836,"value":{"Bytes":"02000000"}},{"id":469769565,"value":{"Bytes":"0310e65e416b931f400000000000000000"}},{"id":2281708766,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":2281708924,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},15":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},16"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":36.0,"y":14.400001,"max_width":127.513695,"max_height":14.3},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},16":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141863,"modified":1473141863,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-55EF988A"},"extra":[[{"id":469769720,"value":{"Bytes":"3800380041000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Client A concurrent edit.","runs":[{"start":0,"end":25,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},20","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":2281709019,"value":"NoData"},{"id":2281708950,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},21":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},22"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":96.0,"max_width":167.04495,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},22":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141822,"modified":1473141822,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141822,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Native disjoint edit.","runs":[{"start":0,"end":21,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},25":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},26"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":192.0,"max_width":96.000015,"max_height":0.74999994},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"},{"id":335551707,"value":{"Bytes":"aaaa0640"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},26":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},27"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052018,"modified":1473052018,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},27":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},28","filename":null,"alt":null,"picture_width":0.75,"picture_height":0.75,"background":null,"printout":false,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb01000000ab6180f822df4542b575c076ce6aaa0c000000000200000000001066000000010000200000002b59212af3023a32dd5b4c71bb1d072124be7a993933c762d8590536da9d37d2000000000e80000000020000200000000595329d755a96366351f1ec57dc25193cca79a8e4e438b31b7451415e4b0482200000003f639ba9e4652c47fc3d06fad88a6844861d447910d32e37fd078583e9a3b590400000006ea7ab72598677e78d2a6b888429c410bb3d31b48adbddfb607788d44d450a674407b51e4209dbf11dc5531e99f797214833a045b38073716b5876053ec85076"}},{"id":469769724,"value":{"Bytes":"f402c1d94636be45d97fa7ab7fbf2c127166c53e"}},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},28":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]},"extension":".png"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},29":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},30"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":264.0,"y":192.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},30":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},31"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052019,"modified":1473052019,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},31":{"jcid":393269,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Attachment","container":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},32","preview":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},33","filename":"fictitious-attachment.txt","source_path":"C:\\one-tests\\runs\\20260905-05\\assets\\fictitious-attachment.txt","recording_id":null,"recording_type":null},"extra":[[{"id":335557837,"value":{"Bytes":"abaa2a3f"}},{"id":335557838,"value":{"Bytes":"abaa2a3f"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"66006900630074006900740069006f00750073002d006100740074006100630068006d0065006e0074002e007400780074000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},32":{"jcid":524342,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]},"extension":".txt"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},33":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]},"extension":".png"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},34":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},35"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":312.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},35":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},36"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},36":{"jcid":393250,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},37"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Table","rows":1,"columns":2,"widths":[39.14614,45.14567],"locked":[false,false],"borders":true},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},37":{"jcid":393251,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},38","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},42"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Row"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},38":{"jcid":393252,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},39"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"046d6edc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},39":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Left cell","runs":[{"start":0,"end":9,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},42":{"jcid":393252,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},43"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"04e242dc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},43":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Right cell","runs":[{"start":0,"end":10,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},45":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052300,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},46"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},46":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},47"]}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},47":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"f407f0f801346a36346a36346a343634363436343600343634003436003436003400363400363400360034360034340036003436003400000000000000000000000000006b6b35356b37356b373537353735353700353735003735003735003700353700353500370035370035370035003735000000000000000000000000000000006b6b35376b35376b35353735373537350037353700353700353500370035370035370035003735003735003700353500000000000000000000000000000000346a34366a34366a34363434363436340036343600343600343600340034360034360034003634003634003600343400360000000000000000000000000000dc2e346a36346a34366a34363436343634340036343600343600343600340036003400003600340000340000360000340000360000340036000034000036000034366a346a3436346a36343634343634360034363400363400363400340036003400003600340000360000340000360000340000360034000036000034000034696b37356b37356b373535373537353700353735003735003537003500370035000037003500003700003500003700003500003500370000350000370000006b6b35376b35356b37353735373537350037353500373500373500370035003700003500370000350000350000370000350000370035000037000035000000"}},{"id":335557657,"value":{"Bytes":"01000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"5e14feeb9973fc488f8bef1216f8ea08"}},{"id":469775389,"value":{"Bytes":"3030bf06f53cdd01"}},{"id":536884233,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48"]}},{"id":469775451,"value":{"Bytes":"d91f3b410ad21540"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48":{"jcid":1179720,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775370,"value":{"Bytes":"8f6a8a59c052a04b93afaf357411a56100000000800700000200000021e2e241759f3fb5e0049844a7eec30dbb5a90110000000038040000020000008bc5e241"}},{"id":335557644,"value":{"Bytes":"00000c42"}},{"id":335557645,"value":{"Bytes":"00000c42"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},49":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},50"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},50":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},51"]}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},51":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"ac02e89502346a36346a36346a363434363436343600343634003634003436003400363400363400360034360034340036003436003400000000000000000000000000000000000000000000000000ec326a6a6a9e016a6a366a6a6a346a346a3634366a3436343436343634003634360034360034340036003400360000340036000034000036000034000036000034003400003600003400003600"}},{"id":335557657,"value":{"Bytes":"02000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"cf4d0e31c086724ea43c1550db1f178a"}},{"id":469775389,"value":{"Bytes":"b066de08f53cdd01"}},{"id":536884233,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48"]}},{"id":469775451,"value":{"Bytes":"2cc95f41d91f2340"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},52":{"jcid":131128,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"ConflictMetadata","title":"Client A concurrent edit.","level":1,"author":"snow"},"extra":[[{"id":469769264,"value":{"Bytes":"6d4c500d70a888499d70ce639414e652"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"b0c88ba0c53ddd01"}},{"id":469769631,"value":{"Bytes":"53000000"}}]]}}}}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{20D097D3-E132-074C-00BE-E24B1DB08942},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1"},"revisions":{"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}},"{20D097D3-E132-074C-00BE-E24B1DB08942},1":{"roots":{"1":"{273DB6C4-A230-0679-389F-9DB750E092E4},10","2":"{273DB6C4-A230-0679-389F-9DB750E092E4},11","4":"{273DB6C4-A230-0679-389F-9DB750E092E4},13"},"nodes":{"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-55EF988A"},"extra":[[{"id":469769720,"value":{"Bytes":"3800380041000000"}}]]},"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},15":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-F79A3B95"},"extra":[[{"id":469769720,"value":{"Bytes":"4200390035000000"}}]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},19":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141866,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Client B concurrent edit.","runs":[{"start":0,"end":25,"format":"{523F023B-8667-0712-0EBD-FF04058A53A5},20","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},10":{"jcid":393228,"children":["{03D49648-056C-0F08-32C9-0424E8496E7D},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":36.0,"y":14.400001,"max_width":127.513695,"max_height":14.3},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052016,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},11":{"jcid":393229,"children":[],"content":["{523F023B-8667-0712-0EBD-FF04058A53A5},19"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141866,"modified":1473141866,"original_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","latest_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},13":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{55644A5D-B639-0555-287F-86AC4C458A34},10":{"jcid":393228,"children":["{55644A5D-B639-0555-287F-86AC4C458A34},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":96.0,"max_width":128.48047,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141921,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{55644A5D-B639-0555-287F-86AC4C458A34},11":{"jcid":393229,"children":[],"content":["{1478AE7B-9555-0667-0590-22A323B21308},19"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141921,"modified":1473141921,"original_author":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15","latest_author":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{55644A5D-B639-0555-287F-86AC4C458A34},16":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{1478AE7B-9555-0667-0590-22A323B21308},19":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141921,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Native lock recovery.","runs":[{"start":0,"end":21,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10":{"jcid":393228,"children":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":264.0,"y":192.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11":{"jcid":393229,"children":[],"content":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052019,"modified":1473052019,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12":{"jcid":393269,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Attachment","container":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13","preview":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14","filename":"fictitious-attachment.txt","source_path":"C:\\one-tests\\runs\\20260905-05\\assets\\fictitious-attachment.txt","recording_id":null,"recording_type":null},"extra":[[{"id":335557837,"value":{"Bytes":"abaa2a3f"}},{"id":335557838,"value":{"Bytes":"abaa2a3f"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"66006900630074006900740069006f00750073002d006100740074006100630068006d0065006e0074002e007400780074000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13":{"jcid":524342,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]},"extension":".txt"},"extra":[]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]},"extension":".png"},"extra":[]},"{273DB6C4-A230-0679-389F-9DB750E092E4},10":{"jcid":393271,"children":[],"content":["{273DB6C4-A230-0679-389F-9DB750E092E4},12"],"structure":[],"spaces":["{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[{"id":603993154,"value":{"Objects":["{B2F9E0E3-3A87-4F1B-8505-2633CDC0F444},1"]}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Client B concurrent edit.","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":2281708951,"value":"NoData"}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},12":{"jcid":393227,"children":["{55644A5D-B639-0555-287F-86AC4C458A34},10","{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10","{03D49648-056C-0F08-32C9-0424E8496E7D},10","{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10","{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141922,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":"Client B concurrent edit.","level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"73006e006f0077000000"}},{"id":469769720,"value":{"Bytes":"53000000"}},{"id":335551836,"value":{"Bytes":"02000000"}},{"id":469769565,"value":{"Bytes":"0310e65e416b931f400000000000000000"}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},13":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":134330587010000000},"extra":[[]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10":{"jcid":393228,"children":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":192.0,"max_width":96.000015,"max_height":0.74999994},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"},{"id":335551707,"value":{"Bytes":"aaaa0640"}}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11":{"jcid":393229,"children":[],"content":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052018,"modified":1473052018,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},13","filename":null,"alt":null,"picture_width":0.75,"picture_height":0.75,"background":null,"printout":false,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb01000000ab6180f822df4542b575c076ce6aaa0c000000000200000000001066000000010000200000002b59212af3023a32dd5b4c71bb1d072124be7a993933c762d8590536da9d37d2000000000e80000000020000200000000595329d755a96366351f1ec57dc25193cca79a8e4e438b31b7451415e4b0482200000003f639ba9e4652c47fc3d06fad88a6844861d447910d32e37fd078583e9a3b590400000006ea7ab72598677e78d2a6b888429c410bb3d31b48adbddfb607788d44d450a674407b51e4209dbf11dc5531e99f797214833a045b38073716b5876053ec85076"}},{"id":469769724,"value":{"Bytes":"f402c1d94636be45d97fa7ab7fbf2c127166c53e"}},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},13":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]},"extension":".png"},"extra":[]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13":{"jcid":1179720,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775370,"value":{"Bytes":"8f6a8a59c052a04b93afaf357411a56100000000800700000200000021e2e241759f3fb5e0049844a7eec30dbb5a90110000000038040000020000008bc5e241"}},{"id":335557644,"value":{"Bytes":"00000c42"}},{"id":335557645,"value":{"Bytes":"00000c42"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},14":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"f407f0f801346a36346a36346a343634363436343600343634003436003436003400363400363400360034360034340036003436003400000000000000000000000000006b6b35356b37356b373537353735353700353735003735003735003700353700353500370035370035370035003735000000000000000000000000000000006b6b35376b35376b35353735373537350037353700353700353500370035370035370035003735003735003700353500000000000000000000000000000000346a34366a34366a34363434363436340036343600343600343600340034360034360034003634003634003600343400360000000000000000000000000000dc2e346a36346a34366a34363436343634340036343600343600343600340036003400003600340000340000360000340000360000340036000034000036000034366a346a3436346a36343634343634360034363400363400363400340036003400003600340000360000340000360000340000360034000036000034000034696b37356b37356b373535373537353700353735003735003537003500370035000037003500003700003500003700003500003500370000350000370000006b6b35376b35356b37353735373537350037353500373500373500370035003700003500370000350000350000370000350000370035000037000035000000"}},{"id":335557657,"value":{"Bytes":"01000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"5e14feeb9973fc488f8bef1216f8ea08"}},{"id":469775389,"value":{"Bytes":"3030bf06f53cdd01"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}},{"id":469775451,"value":{"Bytes":"d91f3b410ad21540"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052300,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},14"]}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},19":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"ac02e89502346a36346a36346a363434363436343600343634003634003436003400363400363400360034360034340036003436003400000000000000000000000000000000000000000000000000ec326a6a6a9e016a6a366a6a6a346a346a3634366a3436343436343634003634360034360034340036003400360000340036000034000036000034000036000034003400003600003400003600"}},{"id":335557657,"value":{"Bytes":"02000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"cf4d0e31c086724ea43c1550db1f178a"}},{"id":469775389,"value":{"Bytes":"b066de08f53cdd01"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}},{"id":469775451,"value":{"Bytes":"2cc95f41d91f2340"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},19"]}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10":{"jcid":393228,"children":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},15"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":312.0,"max_width":92.421814,"max_height":21.947718},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141912,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17":{"jcid":393229,"children":[],"content":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},24"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141902,"modified":1473141902,"original_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","latest_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25":{"jcid":393229,"children":[],"content":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},31"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141902,"modified":1473141902,"original_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","latest_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{B2F9E0E3-3A87-4F1B-8505-2633CDC0F444},1":{"jcid":131128,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"ConflictMetadata","title":"Client A concurrent edit.","level":1,"author":"snow"},"extra":[[{"id":469769264,"value":{"Bytes":"6d4c500d70a888499d70ce639414e652"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"b0c88ba0c53ddd01"}},{"id":469769631,"value":{"Bytes":"53000000"}}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},15":{"jcid":393229,"children":[],"content":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},16"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141902,"modified":1473141902,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},16":{"jcid":393250,"children":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},17"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141912,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Table","rows":1,"columns":2,"widths":[45.76938,38.522434],"locked":[false,false],"borders":true},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},17":{"jcid":393251,"children":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},18","{E594A3F5-9F29-07F9-28B0-17B912FA121D},25"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141912,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Row"},"extra":[[]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},18":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141912,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"04e9d5eb0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},24":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141902,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Client B online cell.","runs":[{"start":0,"end":21,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},25":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141912,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"0404a9eb0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},31":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141902,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Right cell","runs":[{"start":0,"end":10,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]}}}}}}}
\ No newline at end of file
corpus/m6/live-collaboration-15/lock-released/model/text.json created+1
...@@ -0,0 +1 @@
1{"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1":{}},"{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1":{"{3322FC41-5152-002C-1A6F-6E54765F3328},1":{"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18":[{"text":"Client A concurrent edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23":[{"text":"Native disjoint edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40":[{"text":"Left cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44":[{"text":"Right cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{},"{20D097D3-E132-074C-00BE-E24B1DB08942},1":{"{523F023B-8667-0712-0EBD-FF04058A53A5},19":[{"text":"Client B concurrent edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{1478AE7B-9555-0667-0590-22A323B21308},19":[{"text":"Native lock recovery.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{E594A3F5-9F29-07F9-28B0-17B912FA121D},24":[{"text":"Client B online cell.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{E594A3F5-9F29-07F9-28B0-17B912FA121D},31":[{"text":"Right cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}]}}}
\ No newline at end of file
corpus/m6/live-collaboration-15/lock-released/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/m6/live-collaboration-15/lock-released/notebook/Open Notebook.onetoc2 differ
corpus/m6/live-collaboration-15/lock-released/notebook/synthetic.one created
Binary files /dev/null and b/corpus/m6/live-collaboration-15/lock-released/notebook/synthetic.one differ
corpus/m6/live-collaboration-15/process-restarted/locks.txt created+12
...@@ -0,0 +1,12 @@
1
2Locked files:
3Pid User(ID) DenyMode Access R/W Oplock SharePath Name Time
4--------------------------------------------------------------------------------------------------
54475 1000 DENY_NONE 0x120089 RDONLY LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:59 2026
64474 1000 DENY_NONE 0x120089 RDONLY LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:59 2026
74474 1000 DENY_WRITE 0x12019f RDWR LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:22 2026
84473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:06:14 2026
94473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/Open Notebook.onetoc2 Sun Sep 6 06:06:04 2026
104475 1000 DENY_NONE 0x120089 RDONLY LEASE() /srv/agent m6-collaboration Sun Sep 6 06:05:19 2026
114474 1000 DENY_NONE 0x120089 RDONLY LEASE(RH) /srv/agent m6-collaboration Sun Sep 6 06:06:08 2026
12
corpus/m6/live-collaboration-15/process-restarted/model/assets.json created+1
...@@ -0,0 +1 @@
1[{"path":"assets/0.bin","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]}},{"path":"assets/1.bin","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]}},{"path":"assets/2.bin","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]}}]
\ No newline at end of file
corpus/m6/live-collaboration-15/process-restarted/model/assets/0.bin created
Binary files /dev/null and b/corpus/m6/live-collaboration-15/process-restarted/model/assets/0.bin differ
corpus/m6/live-collaboration-15/process-restarted/model/assets/1.bin created+1
...@@ -0,0 +1 @@
1Fictitious attachment for native corpus.
\ No newline at end of file
corpus/m6/live-collaboration-15/process-restarted/model/assets/2.bin created
Binary files /dev/null and b/corpus/m6/live-collaboration-15/process-restarted/model/assets/2.bin differ
corpus/m6/live-collaboration-15/process-restarted/model/document.json created+1
...@@ -0,0 +1 @@
1{"file_id":[60,64,135,83,160,135,242,70,172,54,122,51,224,103,190,213],"root":"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1","spaces":{"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1"},"revisions":{"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1":{"roots":{"1":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10","2":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11"},"nodes":{"{C7F40B04-17EF-07C8-0477-F2143775FC8E},10":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"8b3ac8fcf49f714db27dc2cf3ff433a8"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":603993154,"value":{"Objects":["{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1"]}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10":{"jcid":393223,"children":["{C7F40B04-17EF-07C8-0477-F2143775FC8E},10"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Section","default_template":null},"extra":[[{"id":469769264,"value":{"Bytes":"ad3e51bcb6d1bd448acde95750378bfa"}},{"id":402660453,"value":{"Bytes":"b0804d5df43cdd01"}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11":{"jcid":131121,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"SectionMetadata","name":null,"color":14985354},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]},"{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Client B concurrent edit.","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":2281708951,"value":"NoData"}]]}}}}},"{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{3322FC41-5152-002C-1A6F-6E54765F3328},1"},"revisions":{"{3322FC41-5152-002C-1A6F-6E54765F3328},1":{"roots":{"1":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},10","2":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},52","4":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},12"},"nodes":{"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},10":{"jcid":393271,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},14"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},12":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":134330587010000000},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},14":{"jcid":393227,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},15","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},21","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},25","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},29","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},34","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},45","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},49"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":"Client A concurrent edit.","level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"73006e006f0077000000"}},{"id":469769720,"value":{"Bytes":"53000000"}},{"id":335551836,"value":{"Bytes":"02000000"}},{"id":469769565,"value":{"Bytes":"0310e65e416b931f400000000000000000"}},{"id":2281708766,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":2281708924,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},15":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},16"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":36.0,"y":14.400001,"max_width":127.513695,"max_height":14.3},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},16":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141863,"modified":1473141863,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-55EF988A"},"extra":[[{"id":469769720,"value":{"Bytes":"3800380041000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Client A concurrent edit.","runs":[{"start":0,"end":25,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},20","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":2281709019,"value":"NoData"},{"id":2281708950,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},21":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},22"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":96.0,"max_width":167.04495,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},22":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141822,"modified":1473141822,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141822,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Native disjoint edit.","runs":[{"start":0,"end":21,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},25":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},26"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":192.0,"max_width":96.000015,"max_height":0.74999994},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"},{"id":335551707,"value":{"Bytes":"aaaa0640"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},26":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},27"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052018,"modified":1473052018,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},27":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},28","filename":null,"alt":null,"picture_width":0.75,"picture_height":0.75,"background":null,"printout":false,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb01000000ab6180f822df4542b575c076ce6aaa0c000000000200000000001066000000010000200000002b59212af3023a32dd5b4c71bb1d072124be7a993933c762d8590536da9d37d2000000000e80000000020000200000000595329d755a96366351f1ec57dc25193cca79a8e4e438b31b7451415e4b0482200000003f639ba9e4652c47fc3d06fad88a6844861d447910d32e37fd078583e9a3b590400000006ea7ab72598677e78d2a6b888429c410bb3d31b48adbddfb607788d44d450a674407b51e4209dbf11dc5531e99f797214833a045b38073716b5876053ec85076"}},{"id":469769724,"value":{"Bytes":"f402c1d94636be45d97fa7ab7fbf2c127166c53e"}},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},28":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]},"extension":".png"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},29":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},30"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":264.0,"y":192.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},30":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},31"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052019,"modified":1473052019,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},31":{"jcid":393269,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Attachment","container":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},32","preview":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},33","filename":"fictitious-attachment.txt","source_path":"C:\\one-tests\\runs\\20260905-05\\assets\\fictitious-attachment.txt","recording_id":null,"recording_type":null},"extra":[[{"id":335557837,"value":{"Bytes":"abaa2a3f"}},{"id":335557838,"value":{"Bytes":"abaa2a3f"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"66006900630074006900740069006f00750073002d006100740074006100630068006d0065006e0074002e007400780074000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},32":{"jcid":524342,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]},"extension":".txt"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},33":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]},"extension":".png"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},34":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},35"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":312.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},35":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},36"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},36":{"jcid":393250,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},37"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Table","rows":1,"columns":2,"widths":[39.14614,45.14567],"locked":[false,false],"borders":true},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},37":{"jcid":393251,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},38","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},42"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Row"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},38":{"jcid":393252,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},39"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"046d6edc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},39":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Left cell","runs":[{"start":0,"end":9,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},42":{"jcid":393252,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},43"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"04e242dc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},43":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Right cell","runs":[{"start":0,"end":10,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},45":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052300,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},46"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},46":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},47"]}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},47":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"f407f0f801346a36346a36346a343634363436343600343634003436003436003400363400363400360034360034340036003436003400000000000000000000000000006b6b35356b37356b373537353735353700353735003735003735003700353700353500370035370035370035003735000000000000000000000000000000006b6b35376b35376b35353735373537350037353700353700353500370035370035370035003735003735003700353500000000000000000000000000000000346a34366a34366a34363434363436340036343600343600343600340034360034360034003634003634003600343400360000000000000000000000000000dc2e346a36346a34366a34363436343634340036343600343600343600340036003400003600340000340000360000340000360000340036000034000036000034366a346a3436346a36343634343634360034363400363400363400340036003400003600340000360000340000360000340000360034000036000034000034696b37356b37356b373535373537353700353735003735003537003500370035000037003500003700003500003700003500003500370000350000370000006b6b35376b35356b37353735373537350037353500373500373500370035003700003500370000350000350000370000350000370035000037000035000000"}},{"id":335557657,"value":{"Bytes":"01000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"5e14feeb9973fc488f8bef1216f8ea08"}},{"id":469775389,"value":{"Bytes":"3030bf06f53cdd01"}},{"id":536884233,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48"]}},{"id":469775451,"value":{"Bytes":"d91f3b410ad21540"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48":{"jcid":1179720,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775370,"value":{"Bytes":"8f6a8a59c052a04b93afaf357411a56100000000800700000200000021e2e241759f3fb5e0049844a7eec30dbb5a90110000000038040000020000008bc5e241"}},{"id":335557644,"value":{"Bytes":"00000c42"}},{"id":335557645,"value":{"Bytes":"00000c42"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},49":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},50"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},50":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},51"]}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},51":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"ac02e89502346a36346a36346a363434363436343600343634003634003436003400363400363400360034360034340036003436003400000000000000000000000000000000000000000000000000ec326a6a6a9e016a6a366a6a6a346a346a3634366a3436343436343634003634360034360034340036003400360000340036000034000036000034000036000034003400003600003400003600"}},{"id":335557657,"value":{"Bytes":"02000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"cf4d0e31c086724ea43c1550db1f178a"}},{"id":469775389,"value":{"Bytes":"b066de08f53cdd01"}},{"id":536884233,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48"]}},{"id":469775451,"value":{"Bytes":"2cc95f41d91f2340"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},52":{"jcid":131128,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"ConflictMetadata","title":"Client A concurrent edit.","level":1,"author":"snow"},"extra":[[{"id":469769264,"value":{"Bytes":"6d4c500d70a888499d70ce639414e652"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"b0c88ba0c53ddd01"}},{"id":469769631,"value":{"Bytes":"53000000"}}]]}}}}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{20D097D3-E132-074C-00BE-E24B1DB08942},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1"},"revisions":{"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}},"{20D097D3-E132-074C-00BE-E24B1DB08942},1":{"roots":{"1":"{273DB6C4-A230-0679-389F-9DB750E092E4},10","2":"{273DB6C4-A230-0679-389F-9DB750E092E4},11","4":"{273DB6C4-A230-0679-389F-9DB750E092E4},13"},"nodes":{"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-55EF988A"},"extra":[[{"id":469769720,"value":{"Bytes":"3800380041000000"}}]]},"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},15":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-F79A3B95"},"extra":[[{"id":469769720,"value":{"Bytes":"4200390035000000"}}]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},19":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141866,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Client B concurrent edit.","runs":[{"start":0,"end":25,"format":"{523F023B-8667-0712-0EBD-FF04058A53A5},20","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},10":{"jcid":393228,"children":["{03D49648-056C-0F08-32C9-0424E8496E7D},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":36.0,"y":14.400001,"max_width":127.513695,"max_height":14.3},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052016,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},11":{"jcid":393229,"children":[],"content":["{523F023B-8667-0712-0EBD-FF04058A53A5},19"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141866,"modified":1473141866,"original_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","latest_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},13":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{55644A5D-B639-0555-287F-86AC4C458A34},10":{"jcid":393228,"children":["{55644A5D-B639-0555-287F-86AC4C458A34},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":96.0,"max_width":128.48047,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141921,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{55644A5D-B639-0555-287F-86AC4C458A34},11":{"jcid":393229,"children":[],"content":["{1478AE7B-9555-0667-0590-22A323B21308},19"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141921,"modified":1473141921,"original_author":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15","latest_author":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{55644A5D-B639-0555-287F-86AC4C458A34},16":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{1478AE7B-9555-0667-0590-22A323B21308},19":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141921,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Native lock recovery.","runs":[{"start":0,"end":21,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10":{"jcid":393228,"children":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":264.0,"y":192.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11":{"jcid":393229,"children":[],"content":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052019,"modified":1473052019,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12":{"jcid":393269,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Attachment","container":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13","preview":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14","filename":"fictitious-attachment.txt","source_path":"C:\\one-tests\\runs\\20260905-05\\assets\\fictitious-attachment.txt","recording_id":null,"recording_type":null},"extra":[[{"id":335557837,"value":{"Bytes":"abaa2a3f"}},{"id":335557838,"value":{"Bytes":"abaa2a3f"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"66006900630074006900740069006f00750073002d006100740074006100630068006d0065006e0074002e007400780074000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13":{"jcid":524342,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]},"extension":".txt"},"extra":[]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]},"extension":".png"},"extra":[]},"{273DB6C4-A230-0679-389F-9DB750E092E4},10":{"jcid":393271,"children":[],"content":["{273DB6C4-A230-0679-389F-9DB750E092E4},12"],"structure":[],"spaces":["{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[{"id":603993154,"value":{"Objects":["{B2F9E0E3-3A87-4F1B-8505-2633CDC0F444},1"]}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Client B concurrent edit.","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":2281708951,"value":"NoData"}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},12":{"jcid":393227,"children":["{55644A5D-B639-0555-287F-86AC4C458A34},10","{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10","{03D49648-056C-0F08-32C9-0424E8496E7D},10","{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10","{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141922,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":"Client B concurrent edit.","level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"73006e006f0077000000"}},{"id":469769720,"value":{"Bytes":"53000000"}},{"id":335551836,"value":{"Bytes":"02000000"}},{"id":469769565,"value":{"Bytes":"0310e65e416b931f400000000000000000"}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},13":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":134330587010000000},"extra":[[]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10":{"jcid":393228,"children":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":192.0,"max_width":96.000015,"max_height":0.74999994},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"},{"id":335551707,"value":{"Bytes":"aaaa0640"}}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11":{"jcid":393229,"children":[],"content":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052018,"modified":1473052018,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},13","filename":null,"alt":null,"picture_width":0.75,"picture_height":0.75,"background":null,"printout":false,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb01000000ab6180f822df4542b575c076ce6aaa0c000000000200000000001066000000010000200000002b59212af3023a32dd5b4c71bb1d072124be7a993933c762d8590536da9d37d2000000000e80000000020000200000000595329d755a96366351f1ec57dc25193cca79a8e4e438b31b7451415e4b0482200000003f639ba9e4652c47fc3d06fad88a6844861d447910d32e37fd078583e9a3b590400000006ea7ab72598677e78d2a6b888429c410bb3d31b48adbddfb607788d44d450a674407b51e4209dbf11dc5531e99f797214833a045b38073716b5876053ec85076"}},{"id":469769724,"value":{"Bytes":"f402c1d94636be45d97fa7ab7fbf2c127166c53e"}},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},13":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]},"extension":".png"},"extra":[]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13":{"jcid":1179720,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775370,"value":{"Bytes":"8f6a8a59c052a04b93afaf357411a56100000000800700000200000021e2e241759f3fb5e0049844a7eec30dbb5a90110000000038040000020000008bc5e241"}},{"id":335557644,"value":{"Bytes":"00000c42"}},{"id":335557645,"value":{"Bytes":"00000c42"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},14":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"f407f0f801346a36346a36346a343634363436343600343634003436003436003400363400363400360034360034340036003436003400000000000000000000000000006b6b35356b37356b373537353735353700353735003735003735003700353700353500370035370035370035003735000000000000000000000000000000006b6b35376b35376b35353735373537350037353700353700353500370035370035370035003735003735003700353500000000000000000000000000000000346a34366a34366a34363434363436340036343600343600343600340034360034360034003634003634003600343400360000000000000000000000000000dc2e346a36346a34366a34363436343634340036343600343600343600340036003400003600340000340000360000340000360000340036000034000036000034366a346a3436346a36343634343634360034363400363400363400340036003400003600340000360000340000360000340000360034000036000034000034696b37356b37356b373535373537353700353735003735003537003500370035000037003500003700003500003700003500003500370000350000370000006b6b35376b35356b37353735373537350037353500373500373500370035003700003500370000350000350000370000350000370035000037000035000000"}},{"id":335557657,"value":{"Bytes":"01000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"5e14feeb9973fc488f8bef1216f8ea08"}},{"id":469775389,"value":{"Bytes":"3030bf06f53cdd01"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}},{"id":469775451,"value":{"Bytes":"d91f3b410ad21540"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052300,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},14"]}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},19":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"ac02e89502346a36346a36346a363434363436343600343634003634003436003400363400363400360034360034340036003436003400000000000000000000000000000000000000000000000000ec326a6a6a9e016a6a366a6a6a346a346a3634366a3436343436343634003634360034360034340036003400360000340036000034000036000034000036000034003400003600003400003600"}},{"id":335557657,"value":{"Bytes":"02000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"cf4d0e31c086724ea43c1550db1f178a"}},{"id":469775389,"value":{"Bytes":"b066de08f53cdd01"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}},{"id":469775451,"value":{"Bytes":"2cc95f41d91f2340"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},19"]}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10":{"jcid":393228,"children":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},15"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":312.0,"max_width":92.421814,"max_height":21.947718},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141912,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17":{"jcid":393229,"children":[],"content":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},24"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141902,"modified":1473141902,"original_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","latest_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25":{"jcid":393229,"children":[],"content":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},31"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141902,"modified":1473141902,"original_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","latest_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{B2F9E0E3-3A87-4F1B-8505-2633CDC0F444},1":{"jcid":131128,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"ConflictMetadata","title":"Client A concurrent edit.","level":1,"author":"snow"},"extra":[[{"id":469769264,"value":{"Bytes":"6d4c500d70a888499d70ce639414e652"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"b0c88ba0c53ddd01"}},{"id":469769631,"value":{"Bytes":"53000000"}}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},15":{"jcid":393229,"children":[],"content":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},16"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141902,"modified":1473141902,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},16":{"jcid":393250,"children":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},17"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141912,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Table","rows":1,"columns":2,"widths":[45.76938,38.522434],"locked":[false,false],"borders":true},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},17":{"jcid":393251,"children":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},18","{E594A3F5-9F29-07F9-28B0-17B912FA121D},25"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141912,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Row"},"extra":[[]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},18":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141912,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"04e9d5eb0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},24":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141902,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Client B online cell.","runs":[{"start":0,"end":21,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},25":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141912,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"0404a9eb0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},31":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141902,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Right cell","runs":[{"start":0,"end":10,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]}}}}}}}
\ No newline at end of file
corpus/m6/live-collaboration-15/process-restarted/model/text.json created+1
...@@ -0,0 +1 @@
1{"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1":{}},"{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1":{"{3322FC41-5152-002C-1A6F-6E54765F3328},1":{"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18":[{"text":"Client A concurrent edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23":[{"text":"Native disjoint edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40":[{"text":"Left cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44":[{"text":"Right cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{},"{20D097D3-E132-074C-00BE-E24B1DB08942},1":{"{523F023B-8667-0712-0EBD-FF04058A53A5},19":[{"text":"Client B concurrent edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{1478AE7B-9555-0667-0590-22A323B21308},19":[{"text":"Native lock recovery.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{E594A3F5-9F29-07F9-28B0-17B912FA121D},24":[{"text":"Client B online cell.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{E594A3F5-9F29-07F9-28B0-17B912FA121D},31":[{"text":"Right cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}]}}}
\ No newline at end of file
corpus/m6/live-collaboration-15/process-restarted/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/m6/live-collaboration-15/process-restarted/notebook/Open Notebook.onetoc2 differ
corpus/m6/live-collaboration-15/process-restarted/notebook/synthetic.one created
Binary files /dev/null and b/corpus/m6/live-collaboration-15/process-restarted/notebook/synthetic.one differ
corpus/m6/live-collaboration-15/read-retries.jsonl created+289
...@@ -0,0 +1,289 @@
1{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
2{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
3{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
4{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
5{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
6{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
7{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
8{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
9{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
10{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
11{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
12{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
13{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
14{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
15{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
16{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
17{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
18{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
19{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
20{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
21{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
22{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
23{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
24{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
25{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
26{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
27{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
28{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
29{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
30{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
31{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
32{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
33{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
34{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
35{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
36{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
37{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
38{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
39{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
40{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
41{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
42{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
43{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
44{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
45{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
46{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
47{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
48{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
49{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
50{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
51{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
52{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
53{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
54{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
55{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
56{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
57{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
58{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
59{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
60{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
61{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
62{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
63{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
64{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
65{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
66{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
67{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
68{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
69{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
70{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
71{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
72{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
73{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
74{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
75{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
76{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
77{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
78{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
79{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
80{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
81{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
82{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
83{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
84{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
85{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
86{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
87{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
88{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
89{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
90{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
91{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
92{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
93{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
94{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
95{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
96{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
97{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
98{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
99{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
100{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
101{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
102{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
103{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
104{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
105{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
106{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
107{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
108{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
109{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
110{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
111{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
112{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
113{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
114{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
115{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
116{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
117{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
118{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
119{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
120{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
121{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
122{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
123{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
124{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
125{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
126{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
127{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
128{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
129{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
130{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
131{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
132{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
133{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
134{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
135{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
136{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
137{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
138{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
139{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
140{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
141{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
142{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
143{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
144{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
145{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
146{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
147{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
148{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
149{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
150{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
151{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
152{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
153{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
154{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
155{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
156{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
157{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
158{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
159{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
160{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
161{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
162{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
163{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
164{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
165{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
166{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
167{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
168{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
169{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
170{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
171{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
172{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
173{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
174{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
175{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
176{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
177{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
178{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
179{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
180{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
181{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
182{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
183{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
184{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
185{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
186{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
187{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
188{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
189{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
190{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
191{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
192{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
193{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
194{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
195{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
196{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
197{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
198{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
199{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
200{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
201{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
202{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
203{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
204{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
205{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
206{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
207{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
208{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
209{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
210{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
211{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
212{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
213{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
214{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
215{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
216{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
217{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
218{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
219{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
220{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
221{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
222{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
223{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
224{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
225{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
226{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
227{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
228{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
229{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
230{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
231{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
232{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
233{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
234{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
235{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
236{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
237{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
238{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
239{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
240{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
241{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
242{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
243{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
244{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
245{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
246{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
247{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
248{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
249{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
250{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
251{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
252{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
253{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
254{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
255{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
256{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
257{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
258{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
259{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
260{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
261{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
262{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
263{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
264{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
265{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
266{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
267{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
268{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
269{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
270{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
271{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
272{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
273{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
274{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
275{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
276{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
277{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
278{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
279{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
280{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
281{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
282{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
283{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
284{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
285{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
286{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
287{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
288{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
289{"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"}
corpus/m6/live-collaboration-15/result.json created+9
...@@ -0,0 +1,9 @@
1{
2 "disjoint": true,
3 "conflict_retained": true,
4 "server_restart": true,
5 "transport_reconnect": true,
6 "lock_contention": true,
7 "process_restart": true,
8 "vm_restart": true
9}
\ No newline at end of file
corpus/m6/live-collaboration-15/retention.json created+8
...@@ -0,0 +1,8 @@
1{
2 "main_space": "{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1",
3 "conflict_space": "{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1",
4 "competing_edits": [
5 "Client A concurrent edit.",
6 "Client B concurrent edit."
7 ]
8}
\ No newline at end of file
corpus/m6/live-collaboration-15/run.json created+8
...@@ -0,0 +1,8 @@
1{
2 "server": "m6-collaboration",
3 "scripts": {
4 "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
5 "network.ps1": "8737a25b9ff28a9a33e99239efdbe6b3f4933889d327c1d704fc27d009eae471",
6 "collaborate.ps1": "0c336b1db52f8878d4eac08fcbe62fce1637b5b3538b97fb6df3f1b8d9f5aa1f"
7 }
8}
\ No newline at end of file
corpus/m6/live-collaboration-15/scripts/cold.ps1 created+27
...@@ -0,0 +1,27 @@
1param([Parameter(Mandatory=$true)][string]$Root, [string]$CloneHost = '')
2Set-StrictMode -Version Latest
3$ErrorActionPreference = 'Stop'
4$root = [IO.Path]::GetFullPath($Root).TrimEnd('\')
5if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') {
6 throw 'Choose a run directly below C:\one-tests\runs.'
7}
8if (Get-Process ONENOTE -ErrorAction SilentlyContinue) { throw 'Close OneNote before resetting its test cache.' }
9$key = 'HKCU:\Software\Microsoft\Office\14.0\OneNote'
10if ($CloneHost) {
11 if ($CloneHost -notmatch '^ONE-[A-Z0-9-]+$' -or [Environment]::MachineName -ne $CloneHost) {
12 throw 'The disposable clone hostname does not match this machine.'
13 }
14 New-Item "$key\Options\Paths" -Force | Out-Null
15 New-ItemProperty "$key\Options\Paths" -Name UnfiledNotesSection -PropertyType ExpandString -Value 'C:\one-tests\Loose.one' -Force | Out-Null
16} elseif ((Get-ItemProperty "$key\Options\Paths").UnfiledNotesSection -ne 'C:\one-tests\Loose.one' -or
17 -not (Test-Path 'C:\one-tests\profile-original-cache')) {
18 throw 'Park the personal OneNote profile before resetting the test cache.'
19}
20$cache = Join-Path $env:LOCALAPPDATA 'Microsoft\OneNote\14.0'
21$parked = Join-Path 'C:\one-tests\caches' ([IO.Path]::GetFileName($root))
22if (Test-Path $parked) { throw 'Choose a new run; its parked cache already exists.' }
23New-Item -ItemType Directory -Path 'C:\one-tests\caches' -Force | Out-Null
24if (Test-Path $cache) { Move-Item -LiteralPath $cache -Destination $parked }
25if (Test-Path "$key\OpenNotebooks") { Remove-Item "$key\OpenNotebooks" -Recurse }
26New-Item "$key\OpenNotebooks" | Out-Null
27New-ItemProperty "$key\OpenNotebooks" -Name '1' -PropertyType String -Value "$root\notebook" | Out-Null
corpus/m6/live-collaboration-15/scripts/collaborate.ps1 created+97
...@@ -0,0 +1,97 @@
1param([Parameter(Mandatory=$true)][string]$Root,
2 [Parameter(Mandatory=$true)][string]$SharedPath,
3 [Parameter(Mandatory=$true)][string]$CloneHost,
4 [switch]$ResumeCache,
5 [int]$StartSequence = 1)
6Set-StrictMode -Version Latest
7$ErrorActionPreference = 'Stop'
8if ($SharedPath -notmatch '^\\\\192\.168\.77\.1\\agent\\m6-[a-z0-9-]+$') { throw 'Choose a disposable Linux lab notebook.' }
9if ($env:COMPUTERNAME -ne $CloneHost) { throw 'The collaboration controller requires its owned clone.' }
10if (-not $ResumeCache) { & "$PSScriptRoot\cold-current.ps1" -Root $Root -CloneHost $CloneHost }
11$shared = $SharedPath
12if (-not (Test-Path "$shared\synthetic.one")) { throw 'Create the shared fixture first.' }
13New-Item -ItemType Directory "$Root\inbox", "$Root\outbox" -Force | Out-Null
14$user = 'HKCU:\Software\Microsoft\Office\Common\UserInfo'
15New-Item $user -Force | Out-Null
16New-ItemProperty $user -Name UserName -Value $CloneHost -PropertyType String -Force | Out-Null
17New-ItemProperty $user -Name UserInitials -Value $CloneHost.Substring($CloneHost.Length - 3) -PropertyType String -Force | Out-Null
18$app = New-Object -ComObject OneNote.Application
19$notebook = ''
20try {
21 $app.OpenHierarchy($shared, '', [ref]$notebook, 0)
22 $section = ''
23 $app.OpenHierarchy('synthetic.one', $notebook, [ref]$section, 0)
24 [IO.File]::WriteAllText("$Root\ready", 'ready')
25 $deadline = [DateTime]::UtcNow.AddMinutes(30)
26 $sequence = $StartSequence
27 while ([DateTime]::UtcNow -lt $deadline) {
28 $name = '{0:d4}.json' -f $sequence
29 $input = "$Root\inbox\$name"
30 if (-not (Test-Path $input)) { Start-Sleep -Milliseconds 100; continue }
31 $command = Get-Content -Raw -Encoding UTF8 $input | ConvertFrom-Json
32 $output = "$Root\outbox\$sequence"
33 New-Item -ItemType Directory $output | Out-Null
34 try {
35 if ($command.action -eq 'sync') { $app.SyncHierarchy($notebook) }
36 elseif ($command.action -eq 'kill-process') {
37 Get-Process ONENOTE | Stop-Process -Force
38 [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
39 $app = New-Object -ComObject OneNote.Application
40 $app.OpenHierarchy($shared, '', [ref]$notebook, 0)
41 $app.OpenHierarchy('synthetic.one', $notebook, [ref]$section, 0)
42 }
43 elseif ($command.action -eq 'edit' -or $command.action -eq 'snapshot') {
44 $hierarchy = ''
45 $app.GetHierarchy($section, 4, [ref]$hierarchy, 1)
46 [IO.File]::WriteAllText("$output\hierarchy.xml", $hierarchy, [Text.Encoding]::UTF8)
47 [xml]$tree = $hierarchy
48 $matches = 0
49 $editedPage = $null
50 $i = 0
51 foreach ($node in $tree.SelectNodes('//*[local-name()="Page"]')) {
52 $content = ''
53 $app.GetPageContent($node.GetAttribute('ID'), [ref]$content, 1, 1)
54 [IO.File]::WriteAllText("$output\page-$i.xml", $content, [Text.Encoding]::UTF8)
55 [xml]$page = $content
56 if ($command.action -eq 'edit') {
57 $targets = @($page.SelectNodes('//*[local-name()="T"]') | Where-Object {
58 [Net.WebUtility]::HtmlDecode([regex]::Replace($_.InnerText, '<[^>]*>', '')) -eq $command.expected
59 })
60 if ($targets.Count -gt 1) { throw 'Expected one matching text object.' }
61 if ($targets.Count -eq 1) {
62 $matches++
63 if ($matches -gt 1) { throw 'The text occurs on multiple pages.' }
64 $targets[0].InnerText = [Security.SecurityElement]::Escape($command.text)
65 $container = $targets[0]
66 while ($container.ParentNode -ne $page.DocumentElement) { $container = $container.ParentNode }
67 foreach ($sibling in @($page.DocumentElement.ChildNodes)) {
68 if ($sibling -ne $container -and $sibling.LocalName -in @('Outline', 'Title', 'Image', 'InkDrawing')) {
69 [void]$page.DocumentElement.RemoveChild($sibling)
70 }
71 }
72 $editedPage = $page
73 }
74 }
75 $i++
76 }
77 if ($command.action -eq 'edit' -and $matches -ne 1) { throw 'Expected one matching text object.' }
78 if ($editedPage) { $app.UpdatePageContent($editedPage.OuterXml, [DateTime]::MinValue, 1, $false) }
79 } elseif ($command.action -ne 'close') { throw 'Unknown collaboration command.' }
80 [IO.File]::WriteAllText("$output\done", 'ok')
81 } catch {
82 [IO.File]::WriteAllText("$output\error", $_.Exception.ToString())
83 }
84 if ($command.action -eq 'close') { break }
85 $sequence++
86 }
87} finally {
88 try { if ($notebook) { $app.CloseNotebook($notebook, $false) } }
89 finally {
90 [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
91 $app = $null
92 [GC]::Collect()
93 [GC]::WaitForPendingFinalizers()
94 Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10
95 [IO.File]::WriteAllText("$Root\closed", 'closed')
96 }
97}
corpus/m6/live-collaboration-15/scripts/network.ps1 created+16
...@@ -0,0 +1,16 @@
1param([Parameter(Mandatory=$true)][string]$LabMac)
2Set-StrictMode -Version Latest
3$ErrorActionPreference = 'Stop'
4$adapter = @(Get-WmiObject Win32_NetworkAdapterConfiguration | Where-Object { $_.MACAddress -eq $LabMac })
5if ($adapter.Count -ne 1) { throw 'The clone lab adapter is ambiguous.' }
6$release = $adapter[0].ReleaseDHCPLease()
7$result = $adapter[0].RenewDHCPLease()
8$deadline = [DateTime]::UtcNow.AddSeconds(60)
9do {
10 $adapter = @(Get-WmiObject Win32_NetworkAdapterConfiguration | Where-Object { $_.MACAddress -eq $LabMac })
11 $addresses = @($adapter[0].IPAddress | Where-Object { $_ -match '^192\.168\.77\.\d+$' -and $_ -ne '192.168.77.1' })
12 if ($addresses.Count -eq 1) { break }
13 Start-Sleep -Milliseconds 250
14} while ([DateTime]::UtcNow -lt $deadline)
15if ($addresses.Count -ne 1) { throw ('The clone did not receive a lab IPv4 address; renewal result ' + $result.ReturnValue) }
16@{mac=$LabMac;address=$addresses[0];releaseResult=$release.ReturnValue;renewalResult=$result.ReturnValue} | ConvertTo-Json -Compress
corpus/m6/live-collaboration-15/server-restart/locks.txt created+7
...@@ -0,0 +1,7 @@
1
2Locked files:
3Pid User(ID) DenyMode Access R/W Oplock SharePath Name Time
4--------------------------------------------------------------------------------------------------
54473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:04:59 2026
64473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/Open Notebook.onetoc2 Sun Sep 6 06:04:59 2026
7
corpus/m6/live-collaboration-15/server-restart/model/assets.json created+1
...@@ -0,0 +1 @@
1[{"path":"assets/0.bin","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]}},{"path":"assets/1.bin","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]}},{"path":"assets/2.bin","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]}}]
\ No newline at end of file
corpus/m6/live-collaboration-15/server-restart/model/assets/0.bin created
Binary files /dev/null and b/corpus/m6/live-collaboration-15/server-restart/model/assets/0.bin differ
corpus/m6/live-collaboration-15/server-restart/model/assets/1.bin created+1
...@@ -0,0 +1 @@
1Fictitious attachment for native corpus.
\ No newline at end of file
corpus/m6/live-collaboration-15/server-restart/model/assets/2.bin created
Binary files /dev/null and b/corpus/m6/live-collaboration-15/server-restart/model/assets/2.bin differ
corpus/m6/live-collaboration-15/server-restart/model/document.json created+1
...@@ -0,0 +1 @@
1{"file_id":[60,64,135,83,160,135,242,70,172,54,122,51,224,103,190,213],"root":"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1","spaces":{"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1"},"revisions":{"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1":{"roots":{"1":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10","2":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11"},"nodes":{"{C7F40B04-17EF-07C8-0477-F2143775FC8E},10":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"8b3ac8fcf49f714db27dc2cf3ff433a8"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":603993154,"value":{"Objects":["{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1"]}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10":{"jcid":393223,"children":["{C7F40B04-17EF-07C8-0477-F2143775FC8E},10"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Section","default_template":null},"extra":[[{"id":469769264,"value":{"Bytes":"ad3e51bcb6d1bd448acde95750378bfa"}},{"id":402660453,"value":{"Bytes":"b0804d5df43cdd01"}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11":{"jcid":131121,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"SectionMetadata","name":null,"color":14985354},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]},"{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Client B concurrent edit.","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":2281708951,"value":"NoData"}]]}}}}},"{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{3322FC41-5152-002C-1A6F-6E54765F3328},1"},"revisions":{"{3322FC41-5152-002C-1A6F-6E54765F3328},1":{"roots":{"1":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},10","2":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},52","4":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},12"},"nodes":{"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},10":{"jcid":393271,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},14"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},12":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":134330587010000000},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},14":{"jcid":393227,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},15","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},21","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},25","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},29","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},34","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},45","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},49"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":"Client A concurrent edit.","level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"73006e006f0077000000"}},{"id":469769720,"value":{"Bytes":"53000000"}},{"id":335551836,"value":{"Bytes":"02000000"}},{"id":469769565,"value":{"Bytes":"0310e65e416b931f400000000000000000"}},{"id":2281708766,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":2281708924,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},15":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},16"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":36.0,"y":14.400001,"max_width":127.513695,"max_height":14.3},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},16":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141863,"modified":1473141863,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-55EF988A"},"extra":[[{"id":469769720,"value":{"Bytes":"3800380041000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Client A concurrent edit.","runs":[{"start":0,"end":25,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},20","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":2281709019,"value":"NoData"},{"id":2281708950,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},21":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},22"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":96.0,"max_width":167.04495,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},22":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141822,"modified":1473141822,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141822,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Native disjoint edit.","runs":[{"start":0,"end":21,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},25":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},26"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":192.0,"max_width":96.000015,"max_height":0.74999994},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"},{"id":335551707,"value":{"Bytes":"aaaa0640"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},26":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},27"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052018,"modified":1473052018,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},27":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},28","filename":null,"alt":null,"picture_width":0.75,"picture_height":0.75,"background":null,"printout":false,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb01000000ab6180f822df4542b575c076ce6aaa0c000000000200000000001066000000010000200000002b59212af3023a32dd5b4c71bb1d072124be7a993933c762d8590536da9d37d2000000000e80000000020000200000000595329d755a96366351f1ec57dc25193cca79a8e4e438b31b7451415e4b0482200000003f639ba9e4652c47fc3d06fad88a6844861d447910d32e37fd078583e9a3b590400000006ea7ab72598677e78d2a6b888429c410bb3d31b48adbddfb607788d44d450a674407b51e4209dbf11dc5531e99f797214833a045b38073716b5876053ec85076"}},{"id":469769724,"value":{"Bytes":"f402c1d94636be45d97fa7ab7fbf2c127166c53e"}},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},28":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]},"extension":".png"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},29":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},30"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":264.0,"y":192.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},30":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},31"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052019,"modified":1473052019,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},31":{"jcid":393269,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Attachment","container":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},32","preview":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},33","filename":"fictitious-attachment.txt","source_path":"C:\\one-tests\\runs\\20260905-05\\assets\\fictitious-attachment.txt","recording_id":null,"recording_type":null},"extra":[[{"id":335557837,"value":{"Bytes":"abaa2a3f"}},{"id":335557838,"value":{"Bytes":"abaa2a3f"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"66006900630074006900740069006f00750073002d006100740074006100630068006d0065006e0074002e007400780074000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},32":{"jcid":524342,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]},"extension":".txt"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},33":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]},"extension":".png"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},34":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},35"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":312.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},35":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},36"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},36":{"jcid":393250,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},37"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Table","rows":1,"columns":2,"widths":[39.14614,45.14567],"locked":[false,false],"borders":true},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},37":{"jcid":393251,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},38","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},42"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Row"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},38":{"jcid":393252,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},39"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"046d6edc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},39":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Left cell","runs":[{"start":0,"end":9,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},42":{"jcid":393252,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},43"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"04e242dc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},43":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Right cell","runs":[{"start":0,"end":10,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},45":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052300,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},46"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},46":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},47"]}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},47":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"f407f0f801346a36346a36346a343634363436343600343634003436003436003400363400363400360034360034340036003436003400000000000000000000000000006b6b35356b37356b373537353735353700353735003735003735003700353700353500370035370035370035003735000000000000000000000000000000006b6b35376b35376b35353735373537350037353700353700353500370035370035370035003735003735003700353500000000000000000000000000000000346a34366a34366a34363434363436340036343600343600343600340034360034360034003634003634003600343400360000000000000000000000000000dc2e346a36346a34366a34363436343634340036343600343600343600340036003400003600340000340000360000340000360000340036000034000036000034366a346a3436346a36343634343634360034363400363400363400340036003400003600340000360000340000360000340000360034000036000034000034696b37356b37356b373535373537353700353735003735003537003500370035000037003500003700003500003700003500003500370000350000370000006b6b35376b35356b37353735373537350037353500373500373500370035003700003500370000350000350000370000350000370035000037000035000000"}},{"id":335557657,"value":{"Bytes":"01000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"5e14feeb9973fc488f8bef1216f8ea08"}},{"id":469775389,"value":{"Bytes":"3030bf06f53cdd01"}},{"id":536884233,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48"]}},{"id":469775451,"value":{"Bytes":"d91f3b410ad21540"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48":{"jcid":1179720,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775370,"value":{"Bytes":"8f6a8a59c052a04b93afaf357411a56100000000800700000200000021e2e241759f3fb5e0049844a7eec30dbb5a90110000000038040000020000008bc5e241"}},{"id":335557644,"value":{"Bytes":"00000c42"}},{"id":335557645,"value":{"Bytes":"00000c42"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},49":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},50"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},50":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},51"]}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},51":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"ac02e89502346a36346a36346a363434363436343600343634003634003436003400363400363400360034360034340036003436003400000000000000000000000000000000000000000000000000ec326a6a6a9e016a6a366a6a6a346a346a3634366a3436343436343634003634360034360034340036003400360000340036000034000036000034000036000034003400003600003400003600"}},{"id":335557657,"value":{"Bytes":"02000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"cf4d0e31c086724ea43c1550db1f178a"}},{"id":469775389,"value":{"Bytes":"b066de08f53cdd01"}},{"id":536884233,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48"]}},{"id":469775451,"value":{"Bytes":"2cc95f41d91f2340"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},52":{"jcid":131128,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"ConflictMetadata","title":"Client A concurrent edit.","level":1,"author":"snow"},"extra":[[{"id":469769264,"value":{"Bytes":"6d4c500d70a888499d70ce639414e652"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"b0c88ba0c53ddd01"}},{"id":469769631,"value":{"Bytes":"53000000"}}]]}}}}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{4C7E79C8-29B9-0295-2006-87088B9270C7},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1"},"revisions":{"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}},"{4C7E79C8-29B9-0295-2006-87088B9270C7},1":{"roots":{"1":"{273DB6C4-A230-0679-389F-9DB750E092E4},10","2":"{273DB6C4-A230-0679-389F-9DB750E092E4},11","4":"{273DB6C4-A230-0679-389F-9DB750E092E4},13"},"nodes":{"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-55EF988A"},"extra":[[{"id":469769720,"value":{"Bytes":"3800380041000000"}}]]},"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},19":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141822,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Native disjoint edit.","runs":[{"start":0,"end":21,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},15":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-F79A3B95"},"extra":[[{"id":469769720,"value":{"Bytes":"4200390035000000"}}]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},19":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141866,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Client B concurrent edit.","runs":[{"start":0,"end":25,"format":"{523F023B-8667-0712-0EBD-FF04058A53A5},20","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},10":{"jcid":393228,"children":["{03D49648-056C-0F08-32C9-0424E8496E7D},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":36.0,"y":14.400001,"max_width":127.513695,"max_height":14.3},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052016,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},11":{"jcid":393229,"children":[],"content":["{523F023B-8667-0712-0EBD-FF04058A53A5},19"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141866,"modified":1473141866,"original_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","latest_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},13":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},17":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{55644A5D-B639-0555-287F-86AC4C458A34},10":{"jcid":393228,"children":["{55644A5D-B639-0555-287F-86AC4C458A34},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":96.0,"max_width":167.04495,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141822,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{55644A5D-B639-0555-287F-86AC4C458A34},11":{"jcid":393229,"children":[],"content":["{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},19"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141822,"modified":1473141822,"original_author":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15","latest_author":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{55644A5D-B639-0555-287F-86AC4C458A34},16":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10":{"jcid":393228,"children":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":264.0,"y":192.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11":{"jcid":393229,"children":[],"content":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052019,"modified":1473052019,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12":{"jcid":393269,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Attachment","container":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13","preview":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14","filename":"fictitious-attachment.txt","source_path":"C:\\one-tests\\runs\\20260905-05\\assets\\fictitious-attachment.txt","recording_id":null,"recording_type":null},"extra":[[{"id":335557837,"value":{"Bytes":"abaa2a3f"}},{"id":335557838,"value":{"Bytes":"abaa2a3f"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"66006900630074006900740069006f00750073002d006100740074006100630068006d0065006e0074002e007400780074000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13":{"jcid":524342,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]},"extension":".txt"},"extra":[]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]},"extension":".png"},"extra":[]},"{273DB6C4-A230-0679-389F-9DB750E092E4},10":{"jcid":393271,"children":[],"content":["{273DB6C4-A230-0679-389F-9DB750E092E4},12"],"structure":[],"spaces":["{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[{"id":603993154,"value":{"Objects":["{B2F9E0E3-3A87-4F1B-8505-2633CDC0F444},1"]}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Client B concurrent edit.","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":2281708951,"value":"NoData"}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},12":{"jcid":393227,"children":["{03D49648-056C-0F08-32C9-0424E8496E7D},10","{55644A5D-B639-0555-287F-86AC4C458A34},10","{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10","{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10","{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":"Client B concurrent edit.","level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"73006e006f0077000000"}},{"id":469769720,"value":{"Bytes":"53000000"}},{"id":335551836,"value":{"Bytes":"02000000"}},{"id":469769565,"value":{"Bytes":"0310e65e416b931f400000000000000000"}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},13":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":134330587010000000},"extra":[[]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10":{"jcid":393228,"children":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":192.0,"max_width":96.000015,"max_height":0.74999994},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"},{"id":335551707,"value":{"Bytes":"aaaa0640"}}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11":{"jcid":393229,"children":[],"content":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052018,"modified":1473052018,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},13","filename":null,"alt":null,"picture_width":0.75,"picture_height":0.75,"background":null,"printout":false,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb01000000ab6180f822df4542b575c076ce6aaa0c000000000200000000001066000000010000200000002b59212af3023a32dd5b4c71bb1d072124be7a993933c762d8590536da9d37d2000000000e80000000020000200000000595329d755a96366351f1ec57dc25193cca79a8e4e438b31b7451415e4b0482200000003f639ba9e4652c47fc3d06fad88a6844861d447910d32e37fd078583e9a3b590400000006ea7ab72598677e78d2a6b888429c410bb3d31b48adbddfb607788d44d450a674407b51e4209dbf11dc5531e99f797214833a045b38073716b5876053ec85076"}},{"id":469769724,"value":{"Bytes":"f402c1d94636be45d97fa7ab7fbf2c127166c53e"}},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},13":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]},"extension":".png"},"extra":[]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13":{"jcid":1179720,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775370,"value":{"Bytes":"8f6a8a59c052a04b93afaf357411a56100000000800700000200000021e2e241759f3fb5e0049844a7eec30dbb5a90110000000038040000020000008bc5e241"}},{"id":335557644,"value":{"Bytes":"00000c42"}},{"id":335557645,"value":{"Bytes":"00000c42"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},14":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"f407f0f801346a36346a36346a343634363436343600343634003436003436003400363400363400360034360034340036003436003400000000000000000000000000006b6b35356b37356b373537353735353700353735003735003735003700353700353500370035370035370035003735000000000000000000000000000000006b6b35376b35376b35353735373537350037353700353700353500370035370035370035003735003735003700353500000000000000000000000000000000346a34366a34366a34363434363436340036343600343600343600340034360034360034003634003634003600343400360000000000000000000000000000dc2e346a36346a34366a34363436343634340036343600343600343600340036003400003600340000340000360000340000360000340036000034000036000034366a346a3436346a36343634343634360034363400363400363400340036003400003600340000360000340000360000340000360034000036000034000034696b37356b37356b373535373537353700353735003735003537003500370035000037003500003700003500003700003500003500370000350000370000006b6b35376b35356b37353735373537350037353500373500373500370035003700003500370000350000350000370000350000370035000037000035000000"}},{"id":335557657,"value":{"Bytes":"01000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"5e14feeb9973fc488f8bef1216f8ea08"}},{"id":469775389,"value":{"Bytes":"3030bf06f53cdd01"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}},{"id":469775451,"value":{"Bytes":"d91f3b410ad21540"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052300,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},14"]}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},19":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"ac02e89502346a36346a36346a363434363436343600343634003634003436003400363400363400360034360034340036003436003400000000000000000000000000000000000000000000000000ec326a6a6a9e016a6a366a6a6a346a346a3634366a3436343436343634003634360034360034340036003400360000340036000034000036000034000036000034003400003600003400003600"}},{"id":335557657,"value":{"Bytes":"02000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"cf4d0e31c086724ea43c1550db1f178a"}},{"id":469775389,"value":{"Bytes":"b066de08f53cdd01"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}},{"id":469775451,"value":{"Bytes":"2cc95f41d91f2340"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},19"]}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10":{"jcid":393228,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":312.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},11":{"jcid":393229,"children":[],"content":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},12":{"jcid":393250,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},13"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Table","rows":1,"columns":2,"widths":[39.14614,45.14567],"locked":[false,false],"borders":true},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},13":{"jcid":393251,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},14","{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},22"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Row"},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},14":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"046d6edc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17":{"jcid":393229,"children":[],"content":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},21"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},21":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Left cell","runs":[{"start":0,"end":9,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{03D49648-056C-0F08-32C9-0424E8496E7D},17","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},22":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"04e242dc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25":{"jcid":393229,"children":[],"content":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},29"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},29":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Right cell","runs":[{"start":0,"end":10,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{03D49648-056C-0F08-32C9-0424E8496E7D},17","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{B2F9E0E3-3A87-4F1B-8505-2633CDC0F444},1":{"jcid":131128,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"ConflictMetadata","title":"Client A concurrent edit.","level":1,"author":"snow"},"extra":[[{"id":469769264,"value":{"Bytes":"6d4c500d70a888499d70ce639414e652"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"b0c88ba0c53ddd01"}},{"id":469769631,"value":{"Bytes":"53000000"}}]]}}}}}}}
\ No newline at end of file
corpus/m6/live-collaboration-15/server-restart/model/text.json created+1
...@@ -0,0 +1 @@
1{"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1":{}},"{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1":{"{3322FC41-5152-002C-1A6F-6E54765F3328},1":{"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18":[{"text":"Client A concurrent edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23":[{"text":"Native disjoint edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40":[{"text":"Left cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44":[{"text":"Right cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{},"{4C7E79C8-29B9-0295-2006-87088B9270C7},1":{"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},19":[{"text":"Native disjoint edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{523F023B-8667-0712-0EBD-FF04058A53A5},19":[{"text":"Client B concurrent edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},21":[{"text":"Left cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},29":[{"text":"Right cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]}}}
\ No newline at end of file
corpus/m6/live-collaboration-15/server-restart/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/m6/live-collaboration-15/server-restart/notebook/Open Notebook.onetoc2 differ
corpus/m6/live-collaboration-15/server-restart/notebook/synthetic.one created
Binary files /dev/null and b/corpus/m6/live-collaboration-15/server-restart/notebook/synthetic.one differ
corpus/m6/live-collaboration-15/server.jsonl created+18
...@@ -0,0 +1,18 @@
1{"command": "mkdir /srv/agent/m6-collaboration", "exit": 0, "stdout": "", "stderr": ""}
2{"command": "chmod u+w /srv/agent/m6-collaboration/*", "exit": 0, "stdout": "", "stderr": ""}
3{"command": "sudo smbd --version", "exit": 0, "stdout": "Version 4.22.10-Debian-4.22.10+dfsg-0+deb13u2\n", "stderr": ""}
4{"command": "uname -a", "exit": 0, "stdout": "Linux one-m6-collaboration 6.12.107+deb13-cloud-arm64 #1 SMP Debian 6.12.107-1 (2026-08-29) aarch64 GNU/Linux\n", "stderr": ""}
5{"command": "testparm -s 2>&1", "exit": 0, "stdout": "Load smb config files from /etc/samba/smb.conf\nLoaded services file OK.\nWeak crypto is allowed by GnuTLS (e.g. NTLM as a compatibility fallback)\n\nWARNING: The 'netbios name' is too long (max. 15 chars).\n\nServer role: ROLE_STANDALONE\n\n# Global parameters\n[global]\n\tbind interfaces only = Yes\n\tinterfaces = lo wan0 lab0\n\tmap to guest = Bad User\n\tserver role = standalone server\n\tidmap config * : backend = tdb\n\n\n[agent]\n\tcreate mask = 0666\n\tdirectory mask = 0777\n\tforce user = agent\n\tguest ok = Yes\n\tpath = /srv/agent\n\tread only = No\n", "stderr": ""}
6{"command": "sudo smbstatus --locks", "exit": 0, "stdout": "\nLocked files:\nPid User(ID) DenyMode Access R/W Oplock SharePath Name Time\n--------------------------------------------------------------------------------------------------\n4209 1000 DENY_ALL 0x100080 RDONLY NONE /srv/agent . Sun Sep 6 06:03:06 2026\n4188 1000 DENY_ALL 0x100080 RDONLY NONE /srv/agent . Sun Sep 6 06:00:31 2026\n3677 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:03:39 2026\n3677 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/Open Notebook.onetoc2 Sun Sep 6 06:03:39 2026\n4209 1000 DENY_NONE 0x120089 RDONLY LEASE(RH) /srv/agent m6-collaboration Sun Sep 6 06:03:18 2026\n4188 1000 DENY_NONE 0x120089 RDONLY LEASE(RH) /srv/agent m6-collaboration Sun Sep 6 06:00:41 2026\n\n", "stderr": ""}
7{"command": "sudo smbstatus --locks", "exit": 0, "stdout": "\nLocked files:\nPid User(ID) DenyMode Access R/W Oplock SharePath Name Time\n--------------------------------------------------------------------------------------------------\n4209 1000 DENY_ALL 0x100080 RDONLY NONE /srv/agent . Sun Sep 6 06:03:06 2026\n4188 1000 DENY_ALL 0x100080 RDONLY NONE /srv/agent . Sun Sep 6 06:00:31 2026\n4188 1000 DENY_NONE 0x120089 RDONLY LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:04:14 2026\n4188 1000 DENY_WRITE 0x12019f RDWR LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:04:14 2026\n3677 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:04:22 2026\n3677 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/Open Notebook.onetoc2 Sun Sep 6 06:03:39 2026\n4209 1000 DENY_NONE 0x120089 RDONLY LEASE() /srv/agent m6-collaboration Sun Sep 6 06:03:18 2026\n4188 1000 DENY_NONE 0x120089 RDONLY LEASE() /srv/agent m6-collaboration Sun Sep 6 06:00:41 2026\n3677 1000 DENY_NONE 0x20087 RDWR LEASE(RWH) /srv/agent m6-collaboration/._synthetic.one Sun Sep 6 06:03:39 2026\n\n", "stderr": ""}
8{"command": "sudo systemctl stop smbd && ! systemctl is-active --quiet smbd", "exit": 0, "stdout": "", "stderr": ""}
9{"command": "sudo systemctl start smbd && systemctl is-active smbd", "exit": 0, "stdout": "active\n", "stderr": ""}
10{"command": "sudo smbstatus --locks", "exit": 0, "stdout": "\nLocked files:\nPid User(ID) DenyMode Access R/W Oplock SharePath Name Time\n--------------------------------------------------------------------------------------------------\n4403 1000 DENY_NONE 0x120089 RDONLY LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:04:50 2026\n4403 1000 DENY_WRITE 0x12019f RDWR LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:04:50 2026\n4382 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:04:56 2026\n4382 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/Open Notebook.onetoc2 Sun Sep 6 06:04:56 2026\n\n", "stderr": ""}
11{"command": "sudo systemctl restart smbd && systemctl is-active smbd", "exit": 0, "stdout": "active\n", "stderr": ""}
12{"command": "sudo smbstatus --locks", "exit": 0, "stdout": "\nLocked files:\nPid User(ID) DenyMode Access R/W Oplock SharePath Name Time\n--------------------------------------------------------------------------------------------------\n4473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:04:59 2026\n4473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/Open Notebook.onetoc2 Sun Sep 6 06:04:59 2026\n\n", "stderr": ""}
13{"command": "sudo smbstatus --locks", "exit": 0, "stdout": "\nLocked files:\nPid User(ID) DenyMode Access R/W Oplock SharePath Name Time\n--------------------------------------------------------------------------------------------------\n4473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:10 2026\n4473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/Open Notebook.onetoc2 Sun Sep 6 06:04:59 2026\n\n", "stderr": ""}
14{"command": "sudo smbstatus --locks", "exit": 0, "stdout": "\nLocked files:\nPid User(ID) DenyMode Access R/W Oplock SharePath Name Time\n--------------------------------------------------------------------------------------------------\n4475 1000 DENY_NONE 0x120089 RDONLY LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:15 2026\n4473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:20 2026\n4473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/Open Notebook.onetoc2 Sun Sep 6 06:04:59 2026\n4475 1000 DENY_NONE 0x120089 RDONLY LEASE(RH) /srv/agent m6-collaboration Sun Sep 6 06:05:19 2026\n4474 1000 DENY_NONE 0x120089 RDONLY LEASE(RH) /srv/agent m6-collaboration Sun Sep 6 06:05:19 2026\n\n", "stderr": ""}
15{"command": "sudo smbstatus --locks", "exit": 0, "stdout": "\nLocked files:\nPid User(ID) DenyMode Access R/W Oplock SharePath Name Time\n--------------------------------------------------------------------------------------------------\n4475 1000 DENY_NONE 0x120089 RDONLY LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:15 2026\n4474 1000 DENY_NONE 0x120089 RDONLY LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:22 2026\n4474 1000 DENY_WRITE 0x12019f RDWR LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:22 2026\n4473 1000 DENY_NONE 0x81 RDONLY LEASE(RH) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:20 2026\n4473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:20 2026\n4473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/Open Notebook.onetoc2 Sun Sep 6 06:04:59 2026\n4475 1000 DENY_NONE 0x120089 RDONLY LEASE(RH) /srv/agent m6-collaboration Sun Sep 6 06:05:19 2026\n4474 1000 DENY_NONE 0x120089 RDONLY LEASE(RH) /srv/agent m6-collaboration Sun Sep 6 06:05:19 2026\n\n", "stderr": ""}
16{"command": "sudo smbstatus --locks", "exit": 0, "stdout": "\nLocked files:\nPid User(ID) DenyMode Access R/W Oplock SharePath Name Time\n--------------------------------------------------------------------------------------------------\n4475 1000 DENY_NONE 0x120089 RDONLY LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:59 2026\n4474 1000 DENY_NONE 0x120089 RDONLY LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:59 2026\n4474 1000 DENY_WRITE 0x12019f RDWR LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:22 2026\n4473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:06:04 2026\n4473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/Open Notebook.onetoc2 Sun Sep 6 06:06:04 2026\n4475 1000 DENY_NONE 0x120089 RDONLY LEASE() /srv/agent m6-collaboration Sun Sep 6 06:05:19 2026\n4474 1000 DENY_NONE 0x120089 RDONLY LEASE() /srv/agent m6-collaboration Sun Sep 6 06:05:19 2026\n\n", "stderr": ""}
17{"command": "sudo smbstatus --locks", "exit": 0, "stdout": "\nLocked files:\nPid User(ID) DenyMode Access R/W Oplock SharePath Name Time\n--------------------------------------------------------------------------------------------------\n4475 1000 DENY_NONE 0x120089 RDONLY LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:59 2026\n4474 1000 DENY_NONE 0x120089 RDONLY LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:59 2026\n4474 1000 DENY_WRITE 0x12019f RDWR LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:22 2026\n4473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:06:14 2026\n4473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/Open Notebook.onetoc2 Sun Sep 6 06:06:04 2026\n4475 1000 DENY_NONE 0x120089 RDONLY LEASE() /srv/agent m6-collaboration Sun Sep 6 06:05:19 2026\n4474 1000 DENY_NONE 0x120089 RDONLY LEASE(RH) /srv/agent m6-collaboration Sun Sep 6 06:06:08 2026\n\n", "stderr": ""}
18{"command": "sudo smbstatus --locks", "exit": 0, "stdout": "\nLocked files:\nPid User(ID) DenyMode Access R/W Oplock SharePath Name Time\n--------------------------------------------------------------------------------------------------\n4475 1000 DENY_NONE 0x120089 RDONLY LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:08:51 2026\n4473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:08:59 2026\n4473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/Open Notebook.onetoc2 Sun Sep 6 06:08:59 2026\n4670 1000 DENY_NONE 0x120089 RDONLY LEASE() /srv/agent m6-collaboration Sun Sep 6 06:07:59 2026\n4475 1000 DENY_NONE 0x120089 RDONLY LEASE() /srv/agent m6-collaboration Sun Sep 6 06:05:19 2026\n\n", "stderr": ""}
corpus/m6/live-collaboration-15/teardown.json created+3
...@@ -0,0 +1,3 @@
1{
2 "linux_absent": true
3}
\ No newline at end of file
corpus/m6/live-collaboration-15/transport-disconnected/locks.txt created+7
...@@ -0,0 +1,7 @@
1
2Locked files:
3Pid User(ID) DenyMode Access R/W Oplock SharePath Name Time
4--------------------------------------------------------------------------------------------------
54473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:10 2026
64473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/Open Notebook.onetoc2 Sun Sep 6 06:04:59 2026
7
corpus/m6/live-collaboration-15/transport-disconnected/model/assets.json created+1
...@@ -0,0 +1 @@
1[{"path":"assets/0.bin","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]}},{"path":"assets/1.bin","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]}},{"path":"assets/2.bin","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]}}]
\ No newline at end of file
corpus/m6/live-collaboration-15/transport-disconnected/model/assets/0.bin created
Binary files /dev/null and b/corpus/m6/live-collaboration-15/transport-disconnected/model/assets/0.bin differ
corpus/m6/live-collaboration-15/transport-disconnected/model/assets/1.bin created+1
...@@ -0,0 +1 @@
1Fictitious attachment for native corpus.
\ No newline at end of file
corpus/m6/live-collaboration-15/transport-disconnected/model/assets/2.bin created
Binary files /dev/null and b/corpus/m6/live-collaboration-15/transport-disconnected/model/assets/2.bin differ
corpus/m6/live-collaboration-15/transport-disconnected/model/document.json created+1
...@@ -0,0 +1 @@
1{"file_id":[60,64,135,83,160,135,242,70,172,54,122,51,224,103,190,213],"root":"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1","spaces":{"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1"},"revisions":{"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1":{"roots":{"1":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10","2":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11"},"nodes":{"{C7F40B04-17EF-07C8-0477-F2143775FC8E},10":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"8b3ac8fcf49f714db27dc2cf3ff433a8"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":603993154,"value":{"Objects":["{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1"]}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10":{"jcid":393223,"children":["{C7F40B04-17EF-07C8-0477-F2143775FC8E},10"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Section","default_template":null},"extra":[[{"id":469769264,"value":{"Bytes":"ad3e51bcb6d1bd448acde95750378bfa"}},{"id":402660453,"value":{"Bytes":"b0804d5df43cdd01"}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11":{"jcid":131121,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"SectionMetadata","name":null,"color":14985354},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]},"{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Client B concurrent edit.","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":2281708951,"value":"NoData"}]]}}}}},"{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{3322FC41-5152-002C-1A6F-6E54765F3328},1"},"revisions":{"{3322FC41-5152-002C-1A6F-6E54765F3328},1":{"roots":{"1":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},10","2":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},52","4":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},12"},"nodes":{"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},10":{"jcid":393271,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},14"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},12":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":134330587010000000},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},14":{"jcid":393227,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},15","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},21","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},25","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},29","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},34","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},45","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},49"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":"Client A concurrent edit.","level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"73006e006f0077000000"}},{"id":469769720,"value":{"Bytes":"53000000"}},{"id":335551836,"value":{"Bytes":"02000000"}},{"id":469769565,"value":{"Bytes":"0310e65e416b931f400000000000000000"}},{"id":2281708766,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":2281708924,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},15":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},16"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":36.0,"y":14.400001,"max_width":127.513695,"max_height":14.3},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},16":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141863,"modified":1473141863,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-55EF988A"},"extra":[[{"id":469769720,"value":{"Bytes":"3800380041000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Client A concurrent edit.","runs":[{"start":0,"end":25,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},20","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":2281709019,"value":"NoData"},{"id":2281708950,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},21":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},22"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":96.0,"max_width":167.04495,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},22":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141822,"modified":1473141822,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141822,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Native disjoint edit.","runs":[{"start":0,"end":21,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},25":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},26"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":192.0,"max_width":96.000015,"max_height":0.74999994},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"},{"id":335551707,"value":{"Bytes":"aaaa0640"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},26":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},27"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052018,"modified":1473052018,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},27":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},28","filename":null,"alt":null,"picture_width":0.75,"picture_height":0.75,"background":null,"printout":false,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb01000000ab6180f822df4542b575c076ce6aaa0c000000000200000000001066000000010000200000002b59212af3023a32dd5b4c71bb1d072124be7a993933c762d8590536da9d37d2000000000e80000000020000200000000595329d755a96366351f1ec57dc25193cca79a8e4e438b31b7451415e4b0482200000003f639ba9e4652c47fc3d06fad88a6844861d447910d32e37fd078583e9a3b590400000006ea7ab72598677e78d2a6b888429c410bb3d31b48adbddfb607788d44d450a674407b51e4209dbf11dc5531e99f797214833a045b38073716b5876053ec85076"}},{"id":469769724,"value":{"Bytes":"f402c1d94636be45d97fa7ab7fbf2c127166c53e"}},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},28":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]},"extension":".png"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},29":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},30"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":264.0,"y":192.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},30":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},31"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052019,"modified":1473052019,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},31":{"jcid":393269,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Attachment","container":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},32","preview":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},33","filename":"fictitious-attachment.txt","source_path":"C:\\one-tests\\runs\\20260905-05\\assets\\fictitious-attachment.txt","recording_id":null,"recording_type":null},"extra":[[{"id":335557837,"value":{"Bytes":"abaa2a3f"}},{"id":335557838,"value":{"Bytes":"abaa2a3f"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"66006900630074006900740069006f00750073002d006100740074006100630068006d0065006e0074002e007400780074000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},32":{"jcid":524342,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]},"extension":".txt"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},33":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]},"extension":".png"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},34":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},35"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":312.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},35":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},36"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},36":{"jcid":393250,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},37"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Table","rows":1,"columns":2,"widths":[39.14614,45.14567],"locked":[false,false],"borders":true},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},37":{"jcid":393251,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},38","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},42"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Row"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},38":{"jcid":393252,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},39"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"046d6edc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},39":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Left cell","runs":[{"start":0,"end":9,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},42":{"jcid":393252,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},43"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"04e242dc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},43":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Right cell","runs":[{"start":0,"end":10,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},45":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052300,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},46"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},46":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},47"]}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},47":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"f407f0f801346a36346a36346a343634363436343600343634003436003436003400363400363400360034360034340036003436003400000000000000000000000000006b6b35356b37356b373537353735353700353735003735003735003700353700353500370035370035370035003735000000000000000000000000000000006b6b35376b35376b35353735373537350037353700353700353500370035370035370035003735003735003700353500000000000000000000000000000000346a34366a34366a34363434363436340036343600343600343600340034360034360034003634003634003600343400360000000000000000000000000000dc2e346a36346a34366a34363436343634340036343600343600343600340036003400003600340000340000360000340000360000340036000034000036000034366a346a3436346a36343634343634360034363400363400363400340036003400003600340000360000340000360000340000360034000036000034000034696b37356b37356b373535373537353700353735003735003537003500370035000037003500003700003500003700003500003500370000350000370000006b6b35376b35356b37353735373537350037353500373500373500370035003700003500370000350000350000370000350000370035000037000035000000"}},{"id":335557657,"value":{"Bytes":"01000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"5e14feeb9973fc488f8bef1216f8ea08"}},{"id":469775389,"value":{"Bytes":"3030bf06f53cdd01"}},{"id":536884233,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48"]}},{"id":469775451,"value":{"Bytes":"d91f3b410ad21540"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48":{"jcid":1179720,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775370,"value":{"Bytes":"8f6a8a59c052a04b93afaf357411a56100000000800700000200000021e2e241759f3fb5e0049844a7eec30dbb5a90110000000038040000020000008bc5e241"}},{"id":335557644,"value":{"Bytes":"00000c42"}},{"id":335557645,"value":{"Bytes":"00000c42"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},49":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},50"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},50":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},51"]}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},51":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"ac02e89502346a36346a36346a363434363436343600343634003634003436003400363400363400360034360034340036003436003400000000000000000000000000000000000000000000000000ec326a6a6a9e016a6a366a6a6a346a346a3634366a3436343436343634003634360034360034340036003400360000340036000034000036000034000036000034003400003600003400003600"}},{"id":335557657,"value":{"Bytes":"02000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"cf4d0e31c086724ea43c1550db1f178a"}},{"id":469775389,"value":{"Bytes":"b066de08f53cdd01"}},{"id":536884233,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48"]}},{"id":469775451,"value":{"Bytes":"2cc95f41d91f2340"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},52":{"jcid":131128,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"ConflictMetadata","title":"Client A concurrent edit.","level":1,"author":"snow"},"extra":[[{"id":469769264,"value":{"Bytes":"6d4c500d70a888499d70ce639414e652"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"b0c88ba0c53ddd01"}},{"id":469769631,"value":{"Bytes":"53000000"}}]]}}}}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{4A569927-F210-0C84-025F-62FA4E30B2ED},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1"},"revisions":{"{4A569927-F210-0C84-025F-62FA4E30B2ED},1":{"roots":{"1":"{273DB6C4-A230-0679-389F-9DB750E092E4},10","2":"{273DB6C4-A230-0679-389F-9DB750E092E4},11","4":"{273DB6C4-A230-0679-389F-9DB750E092E4},13"},"nodes":{"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-55EF988A"},"extra":[[{"id":469769720,"value":{"Bytes":"3800380041000000"}}]]},"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},19":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141822,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Native disjoint edit.","runs":[{"start":0,"end":21,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},15":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-F79A3B95"},"extra":[[{"id":469769720,"value":{"Bytes":"4200390035000000"}}]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},19":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141866,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Client B concurrent edit.","runs":[{"start":0,"end":25,"format":"{523F023B-8667-0712-0EBD-FF04058A53A5},20","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},10":{"jcid":393228,"children":["{03D49648-056C-0F08-32C9-0424E8496E7D},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":36.0,"y":14.400001,"max_width":127.513695,"max_height":14.3},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052016,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},11":{"jcid":393229,"children":[],"content":["{523F023B-8667-0712-0EBD-FF04058A53A5},19"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141866,"modified":1473141866,"original_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","latest_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},13":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{55644A5D-B639-0555-287F-86AC4C458A34},10":{"jcid":393228,"children":["{55644A5D-B639-0555-287F-86AC4C458A34},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":96.0,"max_width":167.04495,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141822,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{55644A5D-B639-0555-287F-86AC4C458A34},11":{"jcid":393229,"children":[],"content":["{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},19"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141822,"modified":1473141822,"original_author":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15","latest_author":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{55644A5D-B639-0555-287F-86AC4C458A34},16":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10":{"jcid":393228,"children":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":264.0,"y":192.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11":{"jcid":393229,"children":[],"content":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052019,"modified":1473052019,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12":{"jcid":393269,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Attachment","container":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13","preview":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14","filename":"fictitious-attachment.txt","source_path":"C:\\one-tests\\runs\\20260905-05\\assets\\fictitious-attachment.txt","recording_id":null,"recording_type":null},"extra":[[{"id":335557837,"value":{"Bytes":"abaa2a3f"}},{"id":335557838,"value":{"Bytes":"abaa2a3f"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"66006900630074006900740069006f00750073002d006100740074006100630068006d0065006e0074002e007400780074000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13":{"jcid":524342,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]},"extension":".txt"},"extra":[]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]},"extension":".png"},"extra":[]},"{273DB6C4-A230-0679-389F-9DB750E092E4},10":{"jcid":393271,"children":[],"content":["{273DB6C4-A230-0679-389F-9DB750E092E4},12"],"structure":[],"spaces":["{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[{"id":603993154,"value":{"Objects":["{B2F9E0E3-3A87-4F1B-8505-2633CDC0F444},1"]}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Client B concurrent edit.","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":2281708951,"value":"NoData"}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},12":{"jcid":393227,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10","{03D49648-056C-0F08-32C9-0424E8496E7D},10","{55644A5D-B639-0555-287F-86AC4C458A34},10","{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10","{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141904,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":"Client B concurrent edit.","level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"73006e006f0077000000"}},{"id":469769720,"value":{"Bytes":"53000000"}},{"id":335551836,"value":{"Bytes":"02000000"}},{"id":469769565,"value":{"Bytes":"0310e65e416b931f400000000000000000"}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},13":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":134330587010000000},"extra":[[]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10":{"jcid":393228,"children":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":192.0,"max_width":96.000015,"max_height":0.74999994},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"},{"id":335551707,"value":{"Bytes":"aaaa0640"}}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11":{"jcid":393229,"children":[],"content":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052018,"modified":1473052018,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},13","filename":null,"alt":null,"picture_width":0.75,"picture_height":0.75,"background":null,"printout":false,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb01000000ab6180f822df4542b575c076ce6aaa0c000000000200000000001066000000010000200000002b59212af3023a32dd5b4c71bb1d072124be7a993933c762d8590536da9d37d2000000000e80000000020000200000000595329d755a96366351f1ec57dc25193cca79a8e4e438b31b7451415e4b0482200000003f639ba9e4652c47fc3d06fad88a6844861d447910d32e37fd078583e9a3b590400000006ea7ab72598677e78d2a6b888429c410bb3d31b48adbddfb607788d44d450a674407b51e4209dbf11dc5531e99f797214833a045b38073716b5876053ec85076"}},{"id":469769724,"value":{"Bytes":"f402c1d94636be45d97fa7ab7fbf2c127166c53e"}},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},13":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]},"extension":".png"},"extra":[]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13":{"jcid":1179720,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775370,"value":{"Bytes":"8f6a8a59c052a04b93afaf357411a56100000000800700000200000021e2e241759f3fb5e0049844a7eec30dbb5a90110000000038040000020000008bc5e241"}},{"id":335557644,"value":{"Bytes":"00000c42"}},{"id":335557645,"value":{"Bytes":"00000c42"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},14":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"f407f0f801346a36346a36346a343634363436343600343634003436003436003400363400363400360034360034340036003436003400000000000000000000000000006b6b35356b37356b373537353735353700353735003735003735003700353700353500370035370035370035003735000000000000000000000000000000006b6b35376b35376b35353735373537350037353700353700353500370035370035370035003735003735003700353500000000000000000000000000000000346a34366a34366a34363434363436340036343600343600343600340034360034360034003634003634003600343400360000000000000000000000000000dc2e346a36346a34366a34363436343634340036343600343600343600340036003400003600340000340000360000340000360000340036000034000036000034366a346a3436346a36343634343634360034363400363400363400340036003400003600340000360000340000360000340000360034000036000034000034696b37356b37356b373535373537353700353735003735003537003500370035000037003500003700003500003700003500003500370000350000370000006b6b35376b35356b37353735373537350037353500373500373500370035003700003500370000350000350000370000350000370035000037000035000000"}},{"id":335557657,"value":{"Bytes":"01000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"5e14feeb9973fc488f8bef1216f8ea08"}},{"id":469775389,"value":{"Bytes":"3030bf06f53cdd01"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}},{"id":469775451,"value":{"Bytes":"d91f3b410ad21540"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052300,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},14"]}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},19":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"ac02e89502346a36346a36346a363434363436343600343634003634003436003400363400363400360034360034340036003436003400000000000000000000000000000000000000000000000000ec326a6a6a9e016a6a366a6a6a346a346a3634366a3436343436343634003634360034360034340036003400360000340036000034000036000034000036000034003400003600003400003600"}},{"id":335557657,"value":{"Bytes":"02000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"cf4d0e31c086724ea43c1550db1f178a"}},{"id":469775389,"value":{"Bytes":"b066de08f53cdd01"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}},{"id":469775451,"value":{"Bytes":"2cc95f41d91f2340"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},19"]}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10":{"jcid":393228,"children":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},15"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":312.0,"max_width":92.421814,"max_height":21.947718},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141904,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17":{"jcid":393229,"children":[],"content":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},24"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141902,"modified":1473141902,"original_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","latest_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25":{"jcid":393229,"children":[],"content":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},31"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141902,"modified":1473141902,"original_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","latest_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{B2F9E0E3-3A87-4F1B-8505-2633CDC0F444},1":{"jcid":131128,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"ConflictMetadata","title":"Client A concurrent edit.","level":1,"author":"snow"},"extra":[[{"id":469769264,"value":{"Bytes":"6d4c500d70a888499d70ce639414e652"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"b0c88ba0c53ddd01"}},{"id":469769631,"value":{"Bytes":"53000000"}}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},15":{"jcid":393229,"children":[],"content":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},16"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141902,"modified":1473141902,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},16":{"jcid":393250,"children":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},17"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141904,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Table","rows":1,"columns":2,"widths":[45.841827,38.449986],"locked":[false,false],"borders":true},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},17":{"jcid":393251,"children":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},18","{E594A3F5-9F29-07F9-28B0-17B912FA121D},25"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141904,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Row"},"extra":[[]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},18":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141904,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"04e9d5eb0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},24":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141902,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Client B online cell.","runs":[{"start":0,"end":21,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},25":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141904,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"0404a9eb0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},31":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141902,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Right cell","runs":[{"start":0,"end":10,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]}}},"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}}}}}}
\ No newline at end of file
corpus/m6/live-collaboration-15/transport-disconnected/model/text.json created+1
...@@ -0,0 +1 @@
1{"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1":{}},"{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1":{"{3322FC41-5152-002C-1A6F-6E54765F3328},1":{"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18":[{"text":"Client A concurrent edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23":[{"text":"Native disjoint edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40":[{"text":"Left cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44":[{"text":"Right cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"{4A569927-F210-0C84-025F-62FA4E30B2ED},1":{"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},19":[{"text":"Native disjoint edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{523F023B-8667-0712-0EBD-FF04058A53A5},19":[{"text":"Client B concurrent edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{E594A3F5-9F29-07F9-28B0-17B912FA121D},24":[{"text":"Client B online cell.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{E594A3F5-9F29-07F9-28B0-17B912FA121D},31":[{"text":"Right cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}]},"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{}}}
\ No newline at end of file
corpus/m6/live-collaboration-15/transport-disconnected/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/m6/live-collaboration-15/transport-disconnected/notebook/Open Notebook.onetoc2 differ
corpus/m6/live-collaboration-15/transport-disconnected/notebook/synthetic.one created
Binary files /dev/null and b/corpus/m6/live-collaboration-15/transport-disconnected/notebook/synthetic.one differ
corpus/m6/live-collaboration-15/transport-reconnected/locks.txt created+10
...@@ -0,0 +1,10 @@
1
2Locked files:
3Pid User(ID) DenyMode Access R/W Oplock SharePath Name Time
4--------------------------------------------------------------------------------------------------
54475 1000 DENY_NONE 0x120089 RDONLY LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:15 2026
64473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:20 2026
74473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/Open Notebook.onetoc2 Sun Sep 6 06:04:59 2026
84475 1000 DENY_NONE 0x120089 RDONLY LEASE(RH) /srv/agent m6-collaboration Sun Sep 6 06:05:19 2026
94474 1000 DENY_NONE 0x120089 RDONLY LEASE(RH) /srv/agent m6-collaboration Sun Sep 6 06:05:19 2026
10
corpus/m6/live-collaboration-15/transport-reconnected/model/assets.json created+1
...@@ -0,0 +1 @@
1[{"path":"assets/0.bin","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]}},{"path":"assets/1.bin","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]}},{"path":"assets/2.bin","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]}}]
\ No newline at end of file
corpus/m6/live-collaboration-15/transport-reconnected/model/assets/0.bin created
Binary files /dev/null and b/corpus/m6/live-collaboration-15/transport-reconnected/model/assets/0.bin differ
corpus/m6/live-collaboration-15/transport-reconnected/model/assets/1.bin created+1
...@@ -0,0 +1 @@
1Fictitious attachment for native corpus.
\ No newline at end of file
corpus/m6/live-collaboration-15/transport-reconnected/model/assets/2.bin created
Binary files /dev/null and b/corpus/m6/live-collaboration-15/transport-reconnected/model/assets/2.bin differ
corpus/m6/live-collaboration-15/transport-reconnected/model/document.json created+1
...@@ -0,0 +1 @@
1{"file_id":[60,64,135,83,160,135,242,70,172,54,122,51,224,103,190,213],"root":"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1","spaces":{"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1"},"revisions":{"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1":{"roots":{"1":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10","2":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11"},"nodes":{"{C7F40B04-17EF-07C8-0477-F2143775FC8E},10":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"8b3ac8fcf49f714db27dc2cf3ff433a8"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":603993154,"value":{"Objects":["{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1"]}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10":{"jcid":393223,"children":["{C7F40B04-17EF-07C8-0477-F2143775FC8E},10"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Section","default_template":null},"extra":[[{"id":469769264,"value":{"Bytes":"ad3e51bcb6d1bd448acde95750378bfa"}},{"id":402660453,"value":{"Bytes":"b0804d5df43cdd01"}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11":{"jcid":131121,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"SectionMetadata","name":null,"color":14985354},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]},"{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Client B concurrent edit.","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":2281708951,"value":"NoData"}]]}}}}},"{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{3322FC41-5152-002C-1A6F-6E54765F3328},1"},"revisions":{"{3322FC41-5152-002C-1A6F-6E54765F3328},1":{"roots":{"1":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},10","2":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},52","4":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},12"},"nodes":{"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},10":{"jcid":393271,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},14"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},12":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":134330587010000000},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},14":{"jcid":393227,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},15","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},21","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},25","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},29","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},34","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},45","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},49"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":"Client A concurrent edit.","level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"73006e006f0077000000"}},{"id":469769720,"value":{"Bytes":"53000000"}},{"id":335551836,"value":{"Bytes":"02000000"}},{"id":469769565,"value":{"Bytes":"0310e65e416b931f400000000000000000"}},{"id":2281708766,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":2281708924,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},15":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},16"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":36.0,"y":14.400001,"max_width":127.513695,"max_height":14.3},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},16":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141863,"modified":1473141863,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-55EF988A"},"extra":[[{"id":469769720,"value":{"Bytes":"3800380041000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Client A concurrent edit.","runs":[{"start":0,"end":25,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},20","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":2281709019,"value":"NoData"},{"id":2281708950,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},21":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},22"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":96.0,"max_width":167.04495,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},22":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141822,"modified":1473141822,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141822,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Native disjoint edit.","runs":[{"start":0,"end":21,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},25":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},26"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":192.0,"max_width":96.000015,"max_height":0.74999994},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"},{"id":335551707,"value":{"Bytes":"aaaa0640"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},26":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},27"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052018,"modified":1473052018,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},27":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},28","filename":null,"alt":null,"picture_width":0.75,"picture_height":0.75,"background":null,"printout":false,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb01000000ab6180f822df4542b575c076ce6aaa0c000000000200000000001066000000010000200000002b59212af3023a32dd5b4c71bb1d072124be7a993933c762d8590536da9d37d2000000000e80000000020000200000000595329d755a96366351f1ec57dc25193cca79a8e4e438b31b7451415e4b0482200000003f639ba9e4652c47fc3d06fad88a6844861d447910d32e37fd078583e9a3b590400000006ea7ab72598677e78d2a6b888429c410bb3d31b48adbddfb607788d44d450a674407b51e4209dbf11dc5531e99f797214833a045b38073716b5876053ec85076"}},{"id":469769724,"value":{"Bytes":"f402c1d94636be45d97fa7ab7fbf2c127166c53e"}},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},28":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]},"extension":".png"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},29":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},30"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":264.0,"y":192.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},30":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},31"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052019,"modified":1473052019,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},31":{"jcid":393269,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Attachment","container":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},32","preview":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},33","filename":"fictitious-attachment.txt","source_path":"C:\\one-tests\\runs\\20260905-05\\assets\\fictitious-attachment.txt","recording_id":null,"recording_type":null},"extra":[[{"id":335557837,"value":{"Bytes":"abaa2a3f"}},{"id":335557838,"value":{"Bytes":"abaa2a3f"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"66006900630074006900740069006f00750073002d006100740074006100630068006d0065006e0074002e007400780074000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},32":{"jcid":524342,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]},"extension":".txt"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},33":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]},"extension":".png"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},34":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},35"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":312.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},35":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},36"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},36":{"jcid":393250,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},37"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Table","rows":1,"columns":2,"widths":[39.14614,45.14567],"locked":[false,false],"borders":true},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},37":{"jcid":393251,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},38","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},42"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Row"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},38":{"jcid":393252,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},39"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"046d6edc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},39":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Left cell","runs":[{"start":0,"end":9,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},42":{"jcid":393252,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},43"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"04e242dc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},43":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Right cell","runs":[{"start":0,"end":10,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},45":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052300,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},46"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},46":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},47"]}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},47":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"f407f0f801346a36346a36346a343634363436343600343634003436003436003400363400363400360034360034340036003436003400000000000000000000000000006b6b35356b37356b373537353735353700353735003735003735003700353700353500370035370035370035003735000000000000000000000000000000006b6b35376b35376b35353735373537350037353700353700353500370035370035370035003735003735003700353500000000000000000000000000000000346a34366a34366a34363434363436340036343600343600343600340034360034360034003634003634003600343400360000000000000000000000000000dc2e346a36346a34366a34363436343634340036343600343600343600340036003400003600340000340000360000340000360000340036000034000036000034366a346a3436346a36343634343634360034363400363400363400340036003400003600340000360000340000360000340000360034000036000034000034696b37356b37356b373535373537353700353735003735003537003500370035000037003500003700003500003700003500003500370000350000370000006b6b35376b35356b37353735373537350037353500373500373500370035003700003500370000350000350000370000350000370035000037000035000000"}},{"id":335557657,"value":{"Bytes":"01000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"5e14feeb9973fc488f8bef1216f8ea08"}},{"id":469775389,"value":{"Bytes":"3030bf06f53cdd01"}},{"id":536884233,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48"]}},{"id":469775451,"value":{"Bytes":"d91f3b410ad21540"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48":{"jcid":1179720,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775370,"value":{"Bytes":"8f6a8a59c052a04b93afaf357411a56100000000800700000200000021e2e241759f3fb5e0049844a7eec30dbb5a90110000000038040000020000008bc5e241"}},{"id":335557644,"value":{"Bytes":"00000c42"}},{"id":335557645,"value":{"Bytes":"00000c42"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},49":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},50"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},50":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},51"]}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},51":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"ac02e89502346a36346a36346a363434363436343600343634003634003436003400363400363400360034360034340036003436003400000000000000000000000000000000000000000000000000ec326a6a6a9e016a6a366a6a6a346a346a3634366a3436343436343634003634360034360034340036003400360000340036000034000036000034000036000034003400003600003400003600"}},{"id":335557657,"value":{"Bytes":"02000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"cf4d0e31c086724ea43c1550db1f178a"}},{"id":469775389,"value":{"Bytes":"b066de08f53cdd01"}},{"id":536884233,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48"]}},{"id":469775451,"value":{"Bytes":"2cc95f41d91f2340"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},52":{"jcid":131128,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"ConflictMetadata","title":"Client A concurrent edit.","level":1,"author":"snow"},"extra":[[{"id":469769264,"value":{"Bytes":"6d4c500d70a888499d70ce639414e652"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"b0c88ba0c53ddd01"}},{"id":469769631,"value":{"Bytes":"53000000"}}]]}}}}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{E65D3644-B03E-0D81-3269-4A138398381C},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1"},"revisions":{"{E65D3644-B03E-0D81-3269-4A138398381C},1":{"roots":{"1":"{273DB6C4-A230-0679-389F-9DB750E092E4},10","2":"{273DB6C4-A230-0679-389F-9DB750E092E4},11","4":"{273DB6C4-A230-0679-389F-9DB750E092E4},13"},"nodes":{"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-55EF988A"},"extra":[[{"id":469769720,"value":{"Bytes":"3800380041000000"}}]]},"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},15":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-F79A3B95"},"extra":[[{"id":469769720,"value":{"Bytes":"4200390035000000"}}]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},19":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141866,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Client B concurrent edit.","runs":[{"start":0,"end":25,"format":"{523F023B-8667-0712-0EBD-FF04058A53A5},20","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},10":{"jcid":393228,"children":["{03D49648-056C-0F08-32C9-0424E8496E7D},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":36.0,"y":14.400001,"max_width":127.513695,"max_height":14.3},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052016,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},11":{"jcid":393229,"children":[],"content":["{523F023B-8667-0712-0EBD-FF04058A53A5},19"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141866,"modified":1473141866,"original_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","latest_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},13":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{55644A5D-B639-0555-287F-86AC4C458A34},10":{"jcid":393228,"children":["{55644A5D-B639-0555-287F-86AC4C458A34},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":96.0,"max_width":167.04495,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141822,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{55644A5D-B639-0555-287F-86AC4C458A34},11":{"jcid":393229,"children":[],"content":["{3C0846F2-DF66-0946-0D23-D27E72A28A48},18"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141900,"modified":1473141900,"original_author":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15","latest_author":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{55644A5D-B639-0555-287F-86AC4C458A34},16":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10":{"jcid":393228,"children":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":264.0,"y":192.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11":{"jcid":393229,"children":[],"content":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052019,"modified":1473052019,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12":{"jcid":393269,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Attachment","container":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13","preview":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14","filename":"fictitious-attachment.txt","source_path":"C:\\one-tests\\runs\\20260905-05\\assets\\fictitious-attachment.txt","recording_id":null,"recording_type":null},"extra":[[{"id":335557837,"value":{"Bytes":"abaa2a3f"}},{"id":335557838,"value":{"Bytes":"abaa2a3f"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"66006900630074006900740069006f00750073002d006100740074006100630068006d0065006e0074002e007400780074000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13":{"jcid":524342,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]},"extension":".txt"},"extra":[]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]},"extension":".png"},"extra":[]},"{273DB6C4-A230-0679-389F-9DB750E092E4},10":{"jcid":393271,"children":[],"content":["{273DB6C4-A230-0679-389F-9DB750E092E4},12"],"structure":[],"spaces":["{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[{"id":603993154,"value":{"Objects":["{B2F9E0E3-3A87-4F1B-8505-2633CDC0F444},1"]}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Client B concurrent edit.","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":2281708951,"value":"NoData"}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},12":{"jcid":393227,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10","{55644A5D-B639-0555-287F-86AC4C458A34},10","{03D49648-056C-0F08-32C9-0424E8496E7D},10","{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10","{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141912,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":"Client B concurrent edit.","level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"73006e006f0077000000"}},{"id":469769720,"value":{"Bytes":"53000000"}},{"id":335551836,"value":{"Bytes":"02000000"}},{"id":469769565,"value":{"Bytes":"0310e65e416b931f400000000000000000"}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},13":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":134330587010000000},"extra":[[]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10":{"jcid":393228,"children":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":192.0,"max_width":96.000015,"max_height":0.74999994},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"},{"id":335551707,"value":{"Bytes":"aaaa0640"}}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11":{"jcid":393229,"children":[],"content":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052018,"modified":1473052018,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},13","filename":null,"alt":null,"picture_width":0.75,"picture_height":0.75,"background":null,"printout":false,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb01000000ab6180f822df4542b575c076ce6aaa0c000000000200000000001066000000010000200000002b59212af3023a32dd5b4c71bb1d072124be7a993933c762d8590536da9d37d2000000000e80000000020000200000000595329d755a96366351f1ec57dc25193cca79a8e4e438b31b7451415e4b0482200000003f639ba9e4652c47fc3d06fad88a6844861d447910d32e37fd078583e9a3b590400000006ea7ab72598677e78d2a6b888429c410bb3d31b48adbddfb607788d44d450a674407b51e4209dbf11dc5531e99f797214833a045b38073716b5876053ec85076"}},{"id":469769724,"value":{"Bytes":"f402c1d94636be45d97fa7ab7fbf2c127166c53e"}},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},13":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]},"extension":".png"},"extra":[]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13":{"jcid":1179720,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775370,"value":{"Bytes":"8f6a8a59c052a04b93afaf357411a56100000000800700000200000021e2e241759f3fb5e0049844a7eec30dbb5a90110000000038040000020000008bc5e241"}},{"id":335557644,"value":{"Bytes":"00000c42"}},{"id":335557645,"value":{"Bytes":"00000c42"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},14":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"f407f0f801346a36346a36346a343634363436343600343634003436003436003400363400363400360034360034340036003436003400000000000000000000000000006b6b35356b37356b373537353735353700353735003735003735003700353700353500370035370035370035003735000000000000000000000000000000006b6b35376b35376b35353735373537350037353700353700353500370035370035370035003735003735003700353500000000000000000000000000000000346a34366a34366a34363434363436340036343600343600343600340034360034360034003634003634003600343400360000000000000000000000000000dc2e346a36346a34366a34363436343634340036343600343600343600340036003400003600340000340000360000340000360000340036000034000036000034366a346a3436346a36343634343634360034363400363400363400340036003400003600340000360000340000360000340000360034000036000034000034696b37356b37356b373535373537353700353735003735003537003500370035000037003500003700003500003700003500003500370000350000370000006b6b35376b35356b37353735373537350037353500373500373500370035003700003500370000350000350000370000350000370035000037000035000000"}},{"id":335557657,"value":{"Bytes":"01000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"5e14feeb9973fc488f8bef1216f8ea08"}},{"id":469775389,"value":{"Bytes":"3030bf06f53cdd01"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}},{"id":469775451,"value":{"Bytes":"d91f3b410ad21540"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052300,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},14"]}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},19":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"ac02e89502346a36346a36346a363434363436343600343634003634003436003400363400363400360034360034340036003436003400000000000000000000000000000000000000000000000000ec326a6a6a9e016a6a366a6a6a346a346a3634366a3436343436343634003634360034360034340036003400360000340036000034000036000034000036000034003400003600003400003600"}},{"id":335557657,"value":{"Bytes":"02000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"cf4d0e31c086724ea43c1550db1f178a"}},{"id":469775389,"value":{"Bytes":"b066de08f53cdd01"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}},{"id":469775451,"value":{"Bytes":"2cc95f41d91f2340"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},19"]}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10":{"jcid":393228,"children":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},15"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":312.0,"max_width":92.421814,"max_height":21.947718},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141912,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17":{"jcid":393229,"children":[],"content":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},24"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141902,"modified":1473141902,"original_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","latest_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25":{"jcid":393229,"children":[],"content":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},31"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141902,"modified":1473141902,"original_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","latest_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{B2F9E0E3-3A87-4F1B-8505-2633CDC0F444},1":{"jcid":131128,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"ConflictMetadata","title":"Client A concurrent edit.","level":1,"author":"snow"},"extra":[[{"id":469769264,"value":{"Bytes":"6d4c500d70a888499d70ce639414e652"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"b0c88ba0c53ddd01"}},{"id":469769631,"value":{"Bytes":"53000000"}}]]},"{3C0846F2-DF66-0946-0D23-D27E72A28A48},18":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141900,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Client A offline edit.","runs":[{"start":0,"end":22,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},15":{"jcid":393229,"children":[],"content":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},16"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141902,"modified":1473141902,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},16":{"jcid":393250,"children":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},17"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141912,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Table","rows":1,"columns":2,"widths":[45.841827,38.449986],"locked":[false,false],"borders":true},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},17":{"jcid":393251,"children":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},18","{E594A3F5-9F29-07F9-28B0-17B912FA121D},25"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141912,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Row"},"extra":[[]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},18":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141912,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"04e9d5eb0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},24":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141902,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Client B online cell.","runs":[{"start":0,"end":21,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},25":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141912,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"0404a9eb0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},31":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141902,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Right cell","runs":[{"start":0,"end":10,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]}}},"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}}}}}}
\ No newline at end of file
corpus/m6/live-collaboration-15/transport-reconnected/model/text.json created+1
...@@ -0,0 +1 @@
1{"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1":{}},"{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1":{"{3322FC41-5152-002C-1A6F-6E54765F3328},1":{"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18":[{"text":"Client A concurrent edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23":[{"text":"Native disjoint edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40":[{"text":"Left cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44":[{"text":"Right cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"{E65D3644-B03E-0D81-3269-4A138398381C},1":{"{523F023B-8667-0712-0EBD-FF04058A53A5},19":[{"text":"Client B concurrent edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{3C0846F2-DF66-0946-0D23-D27E72A28A48},18":[{"text":"Client A offline edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{E594A3F5-9F29-07F9-28B0-17B912FA121D},24":[{"text":"Client B online cell.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{E594A3F5-9F29-07F9-28B0-17B912FA121D},31":[{"text":"Right cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}]},"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{}}}
\ No newline at end of file
corpus/m6/live-collaboration-15/transport-reconnected/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/m6/live-collaboration-15/transport-reconnected/notebook/Open Notebook.onetoc2 differ
corpus/m6/live-collaboration-15/transport-reconnected/notebook/synthetic.one created
Binary files /dev/null and b/corpus/m6/live-collaboration-15/transport-reconnected/notebook/synthetic.one differ
corpus/m6/live-collaboration-15/unmount.json created+1
...@@ -0,0 +1 @@
1{"exit": 0, "stderr": ""}
\ No newline at end of file
corpus/m6/live-collaboration-15/vm-restarted/locks.txt created+10
...@@ -0,0 +1,10 @@
1
2Locked files:
3Pid User(ID) DenyMode Access R/W Oplock SharePath Name Time
4--------------------------------------------------------------------------------------------------
54475 1000 DENY_NONE 0x120089 RDONLY LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:08:51 2026
64473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:08:59 2026
74473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/Open Notebook.onetoc2 Sun Sep 6 06:08:59 2026
84670 1000 DENY_NONE 0x120089 RDONLY LEASE() /srv/agent m6-collaboration Sun Sep 6 06:07:59 2026
94475 1000 DENY_NONE 0x120089 RDONLY LEASE() /srv/agent m6-collaboration Sun Sep 6 06:05:19 2026
10
corpus/m6/live-collaboration-15/vm-restarted/model/assets.json created+1
...@@ -0,0 +1 @@
1[{"path":"assets/0.bin","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]}},{"path":"assets/1.bin","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]}},{"path":"assets/2.bin","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]}}]
\ No newline at end of file
corpus/m6/live-collaboration-15/vm-restarted/model/assets/0.bin created
Binary files /dev/null and b/corpus/m6/live-collaboration-15/vm-restarted/model/assets/0.bin differ
corpus/m6/live-collaboration-15/vm-restarted/model/assets/1.bin created+1
...@@ -0,0 +1 @@
1Fictitious attachment for native corpus.
\ No newline at end of file
corpus/m6/live-collaboration-15/vm-restarted/model/assets/2.bin created
Binary files /dev/null and b/corpus/m6/live-collaboration-15/vm-restarted/model/assets/2.bin differ
corpus/m6/live-collaboration-15/vm-restarted/model/document.json created+1
...@@ -0,0 +1 @@
1{"file_id":[60,64,135,83,160,135,242,70,172,54,122,51,224,103,190,213],"root":"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1","spaces":{"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1"},"revisions":{"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1":{"roots":{"1":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10","2":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11"},"nodes":{"{C7F40B04-17EF-07C8-0477-F2143775FC8E},10":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"8b3ac8fcf49f714db27dc2cf3ff433a8"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":603993154,"value":{"Objects":["{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1"]}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10":{"jcid":393223,"children":["{C7F40B04-17EF-07C8-0477-F2143775FC8E},10"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Section","default_template":null},"extra":[[{"id":469769264,"value":{"Bytes":"ad3e51bcb6d1bd448acde95750378bfa"}},{"id":402660453,"value":{"Bytes":"b0804d5df43cdd01"}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11":{"jcid":131121,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"SectionMetadata","name":null,"color":14985354},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]},"{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Client B concurrent edit.","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":2281708951,"value":"NoData"}]]}}}}},"{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{3322FC41-5152-002C-1A6F-6E54765F3328},1"},"revisions":{"{3322FC41-5152-002C-1A6F-6E54765F3328},1":{"roots":{"1":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},10","2":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},52","4":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},12"},"nodes":{"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},10":{"jcid":393271,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},14"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},12":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":134330587010000000},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},14":{"jcid":393227,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},15","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},21","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},25","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},29","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},34","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},45","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},49"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":"Client A concurrent edit.","level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"73006e006f0077000000"}},{"id":469769720,"value":{"Bytes":"53000000"}},{"id":335551836,"value":{"Bytes":"02000000"}},{"id":469769565,"value":{"Bytes":"0310e65e416b931f400000000000000000"}},{"id":2281708766,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":2281708924,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},15":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},16"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":36.0,"y":14.400001,"max_width":127.513695,"max_height":14.3},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},16":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141863,"modified":1473141863,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-55EF988A"},"extra":[[{"id":469769720,"value":{"Bytes":"3800380041000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Client A concurrent edit.","runs":[{"start":0,"end":25,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},20","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":2281709019,"value":"NoData"},{"id":2281708950,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},21":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},22"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":96.0,"max_width":167.04495,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},22":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141822,"modified":1473141822,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141822,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Native disjoint edit.","runs":[{"start":0,"end":21,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},25":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},26"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":192.0,"max_width":96.000015,"max_height":0.74999994},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"},{"id":335551707,"value":{"Bytes":"aaaa0640"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},26":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},27"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052018,"modified":1473052018,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},27":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},28","filename":null,"alt":null,"picture_width":0.75,"picture_height":0.75,"background":null,"printout":false,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb01000000ab6180f822df4542b575c076ce6aaa0c000000000200000000001066000000010000200000002b59212af3023a32dd5b4c71bb1d072124be7a993933c762d8590536da9d37d2000000000e80000000020000200000000595329d755a96366351f1ec57dc25193cca79a8e4e438b31b7451415e4b0482200000003f639ba9e4652c47fc3d06fad88a6844861d447910d32e37fd078583e9a3b590400000006ea7ab72598677e78d2a6b888429c410bb3d31b48adbddfb607788d44d450a674407b51e4209dbf11dc5531e99f797214833a045b38073716b5876053ec85076"}},{"id":469769724,"value":{"Bytes":"f402c1d94636be45d97fa7ab7fbf2c127166c53e"}},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},28":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]},"extension":".png"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},29":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},30"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":264.0,"y":192.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},30":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},31"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052019,"modified":1473052019,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},31":{"jcid":393269,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Attachment","container":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},32","preview":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},33","filename":"fictitious-attachment.txt","source_path":"C:\\one-tests\\runs\\20260905-05\\assets\\fictitious-attachment.txt","recording_id":null,"recording_type":null},"extra":[[{"id":335557837,"value":{"Bytes":"abaa2a3f"}},{"id":335557838,"value":{"Bytes":"abaa2a3f"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"66006900630074006900740069006f00750073002d006100740074006100630068006d0065006e0074002e007400780074000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},32":{"jcid":524342,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]},"extension":".txt"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},33":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]},"extension":".png"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},34":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},35"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":312.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},35":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},36"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},36":{"jcid":393250,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},37"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Table","rows":1,"columns":2,"widths":[39.14614,45.14567],"locked":[false,false],"borders":true},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},37":{"jcid":393251,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},38","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},42"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Row"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},38":{"jcid":393252,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},39"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"046d6edc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},39":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Left cell","runs":[{"start":0,"end":9,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},42":{"jcid":393252,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},43"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"04e242dc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},43":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Right cell","runs":[{"start":0,"end":10,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},45":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052300,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},46"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},46":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},47"]}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},47":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"f407f0f801346a36346a36346a343634363436343600343634003436003436003400363400363400360034360034340036003436003400000000000000000000000000006b6b35356b37356b373537353735353700353735003735003735003700353700353500370035370035370035003735000000000000000000000000000000006b6b35376b35376b35353735373537350037353700353700353500370035370035370035003735003735003700353500000000000000000000000000000000346a34366a34366a34363434363436340036343600343600343600340034360034360034003634003634003600343400360000000000000000000000000000dc2e346a36346a34366a34363436343634340036343600343600343600340036003400003600340000340000360000340000360000340036000034000036000034366a346a3436346a36343634343634360034363400363400363400340036003400003600340000360000340000360000340000360034000036000034000034696b37356b37356b373535373537353700353735003735003537003500370035000037003500003700003500003700003500003500370000350000370000006b6b35376b35356b37353735373537350037353500373500373500370035003700003500370000350000350000370000350000370035000037000035000000"}},{"id":335557657,"value":{"Bytes":"01000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"5e14feeb9973fc488f8bef1216f8ea08"}},{"id":469775389,"value":{"Bytes":"3030bf06f53cdd01"}},{"id":536884233,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48"]}},{"id":469775451,"value":{"Bytes":"d91f3b410ad21540"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48":{"jcid":1179720,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775370,"value":{"Bytes":"8f6a8a59c052a04b93afaf357411a56100000000800700000200000021e2e241759f3fb5e0049844a7eec30dbb5a90110000000038040000020000008bc5e241"}},{"id":335557644,"value":{"Bytes":"00000c42"}},{"id":335557645,"value":{"Bytes":"00000c42"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},49":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},50"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},50":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},51"]}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},51":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"ac02e89502346a36346a36346a363434363436343600343634003634003436003400363400363400360034360034340036003436003400000000000000000000000000000000000000000000000000ec326a6a6a9e016a6a366a6a6a346a346a3634366a3436343436343634003634360034360034340036003400360000340036000034000036000034000036000034003400003600003400003600"}},{"id":335557657,"value":{"Bytes":"02000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"cf4d0e31c086724ea43c1550db1f178a"}},{"id":469775389,"value":{"Bytes":"b066de08f53cdd01"}},{"id":536884233,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48"]}},{"id":469775451,"value":{"Bytes":"2cc95f41d91f2340"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},52":{"jcid":131128,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"ConflictMetadata","title":"Client A concurrent edit.","level":1,"author":"snow"},"extra":[[{"id":469769264,"value":{"Bytes":"6d4c500d70a888499d70ce639414e652"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"b0c88ba0c53ddd01"}},{"id":469769631,"value":{"Bytes":"53000000"}}]]}}}}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{20D097D3-E132-074C-00BE-E24B1DB08942},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1"},"revisions":{"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}},"{20D097D3-E132-074C-00BE-E24B1DB08942},1":{"roots":{"1":"{273DB6C4-A230-0679-389F-9DB750E092E4},10","2":"{273DB6C4-A230-0679-389F-9DB750E092E4},11","4":"{273DB6C4-A230-0679-389F-9DB750E092E4},13"},"nodes":{"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-55EF988A"},"extra":[[{"id":469769720,"value":{"Bytes":"3800380041000000"}}]]},"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},15":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-F79A3B95"},"extra":[[{"id":469769720,"value":{"Bytes":"4200390035000000"}}]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},19":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141866,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Client B concurrent edit.","runs":[{"start":0,"end":25,"format":"{523F023B-8667-0712-0EBD-FF04058A53A5},20","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},10":{"jcid":393228,"children":["{03D49648-056C-0F08-32C9-0424E8496E7D},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":36.0,"y":14.400001,"max_width":127.513695,"max_height":14.3},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052016,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},11":{"jcid":393229,"children":[],"content":["{523F023B-8667-0712-0EBD-FF04058A53A5},19"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141866,"modified":1473141866,"original_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","latest_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},13":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{55644A5D-B639-0555-287F-86AC4C458A34},10":{"jcid":393228,"children":["{55644A5D-B639-0555-287F-86AC4C458A34},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":96.0,"max_width":128.48047,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141921,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{55644A5D-B639-0555-287F-86AC4C458A34},11":{"jcid":393229,"children":[],"content":["{1478AE7B-9555-0667-0590-22A323B21308},19"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141921,"modified":1473141921,"original_author":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15","latest_author":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{55644A5D-B639-0555-287F-86AC4C458A34},16":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{1478AE7B-9555-0667-0590-22A323B21308},19":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141921,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Native lock recovery.","runs":[{"start":0,"end":21,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10":{"jcid":393228,"children":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":264.0,"y":192.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11":{"jcid":393229,"children":[],"content":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052019,"modified":1473052019,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12":{"jcid":393269,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Attachment","container":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13","preview":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14","filename":"fictitious-attachment.txt","source_path":"C:\\one-tests\\runs\\20260905-05\\assets\\fictitious-attachment.txt","recording_id":null,"recording_type":null},"extra":[[{"id":335557837,"value":{"Bytes":"abaa2a3f"}},{"id":335557838,"value":{"Bytes":"abaa2a3f"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"66006900630074006900740069006f00750073002d006100740074006100630068006d0065006e0074002e007400780074000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13":{"jcid":524342,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]},"extension":".txt"},"extra":[]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]},"extension":".png"},"extra":[]},"{273DB6C4-A230-0679-389F-9DB750E092E4},10":{"jcid":393271,"children":[],"content":["{273DB6C4-A230-0679-389F-9DB750E092E4},12"],"structure":[],"spaces":["{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[{"id":603993154,"value":{"Objects":["{B2F9E0E3-3A87-4F1B-8505-2633CDC0F444},1"]}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Client B concurrent edit.","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":2281708951,"value":"NoData"}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},12":{"jcid":393227,"children":["{55644A5D-B639-0555-287F-86AC4C458A34},10","{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10","{03D49648-056C-0F08-32C9-0424E8496E7D},10","{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10","{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141922,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":"Client B concurrent edit.","level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"73006e006f0077000000"}},{"id":469769720,"value":{"Bytes":"53000000"}},{"id":335551836,"value":{"Bytes":"02000000"}},{"id":469769565,"value":{"Bytes":"0310e65e416b931f400000000000000000"}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},13":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":134330587010000000},"extra":[[]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10":{"jcid":393228,"children":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":192.0,"max_width":96.000015,"max_height":0.74999994},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"},{"id":335551707,"value":{"Bytes":"aaaa0640"}}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11":{"jcid":393229,"children":[],"content":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052018,"modified":1473052018,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},13","filename":null,"alt":null,"picture_width":0.75,"picture_height":0.75,"background":null,"printout":false,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb01000000ab6180f822df4542b575c076ce6aaa0c000000000200000000001066000000010000200000002b59212af3023a32dd5b4c71bb1d072124be7a993933c762d8590536da9d37d2000000000e80000000020000200000000595329d755a96366351f1ec57dc25193cca79a8e4e438b31b7451415e4b0482200000003f639ba9e4652c47fc3d06fad88a6844861d447910d32e37fd078583e9a3b590400000006ea7ab72598677e78d2a6b888429c410bb3d31b48adbddfb607788d44d450a674407b51e4209dbf11dc5531e99f797214833a045b38073716b5876053ec85076"}},{"id":469769724,"value":{"Bytes":"f402c1d94636be45d97fa7ab7fbf2c127166c53e"}},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},13":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]},"extension":".png"},"extra":[]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13":{"jcid":1179720,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775370,"value":{"Bytes":"8f6a8a59c052a04b93afaf357411a56100000000800700000200000021e2e241759f3fb5e0049844a7eec30dbb5a90110000000038040000020000008bc5e241"}},{"id":335557644,"value":{"Bytes":"00000c42"}},{"id":335557645,"value":{"Bytes":"00000c42"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},14":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"f407f0f801346a36346a36346a343634363436343600343634003436003436003400363400363400360034360034340036003436003400000000000000000000000000006b6b35356b37356b373537353735353700353735003735003735003700353700353500370035370035370035003735000000000000000000000000000000006b6b35376b35376b35353735373537350037353700353700353500370035370035370035003735003735003700353500000000000000000000000000000000346a34366a34366a34363434363436340036343600343600343600340034360034360034003634003634003600343400360000000000000000000000000000dc2e346a36346a34366a34363436343634340036343600343600343600340036003400003600340000340000360000340000360000340036000034000036000034366a346a3436346a36343634343634360034363400363400363400340036003400003600340000360000340000360000340000360034000036000034000034696b37356b37356b373535373537353700353735003735003537003500370035000037003500003700003500003700003500003500370000350000370000006b6b35376b35356b37353735373537350037353500373500373500370035003700003500370000350000350000370000350000370035000037000035000000"}},{"id":335557657,"value":{"Bytes":"01000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"5e14feeb9973fc488f8bef1216f8ea08"}},{"id":469775389,"value":{"Bytes":"3030bf06f53cdd01"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}},{"id":469775451,"value":{"Bytes":"d91f3b410ad21540"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052300,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},14"]}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},19":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"ac02e89502346a36346a36346a363434363436343600343634003634003436003400363400363400360034360034340036003436003400000000000000000000000000000000000000000000000000ec326a6a6a9e016a6a366a6a6a346a346a3634366a3436343436343634003634360034360034340036003400360000340036000034000036000034000036000034003400003600003400003600"}},{"id":335557657,"value":{"Bytes":"02000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"cf4d0e31c086724ea43c1550db1f178a"}},{"id":469775389,"value":{"Bytes":"b066de08f53cdd01"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}},{"id":469775451,"value":{"Bytes":"2cc95f41d91f2340"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},19"]}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10":{"jcid":393228,"children":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},15"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":312.0,"max_width":92.421814,"max_height":21.947718},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141912,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17":{"jcid":393229,"children":[],"content":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},24"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141902,"modified":1473141902,"original_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","latest_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25":{"jcid":393229,"children":[],"content":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},31"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141902,"modified":1473141902,"original_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","latest_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{B2F9E0E3-3A87-4F1B-8505-2633CDC0F444},1":{"jcid":131128,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"ConflictMetadata","title":"Client A concurrent edit.","level":1,"author":"snow"},"extra":[[{"id":469769264,"value":{"Bytes":"6d4c500d70a888499d70ce639414e652"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"b0c88ba0c53ddd01"}},{"id":469769631,"value":{"Bytes":"53000000"}}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},15":{"jcid":393229,"children":[],"content":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},16"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141902,"modified":1473141902,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},16":{"jcid":393250,"children":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},17"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141912,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Table","rows":1,"columns":2,"widths":[45.76938,38.522434],"locked":[false,false],"borders":true},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},17":{"jcid":393251,"children":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},18","{E594A3F5-9F29-07F9-28B0-17B912FA121D},25"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141912,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Row"},"extra":[[]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},18":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141912,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"04e9d5eb0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},24":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141902,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Client B online cell.","runs":[{"start":0,"end":21,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},25":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141912,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"0404a9eb0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},31":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141902,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Right cell","runs":[{"start":0,"end":10,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]}}}}}}}
\ No newline at end of file
corpus/m6/live-collaboration-15/vm-restarted/model/text.json created+1
...@@ -0,0 +1 @@
1{"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1":{}},"{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1":{"{3322FC41-5152-002C-1A6F-6E54765F3328},1":{"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18":[{"text":"Client A concurrent edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23":[{"text":"Native disjoint edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40":[{"text":"Left cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44":[{"text":"Right cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{},"{20D097D3-E132-074C-00BE-E24B1DB08942},1":{"{523F023B-8667-0712-0EBD-FF04058A53A5},19":[{"text":"Client B concurrent edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{1478AE7B-9555-0667-0590-22A323B21308},19":[{"text":"Native lock recovery.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{E594A3F5-9F29-07F9-28B0-17B912FA121D},24":[{"text":"Client B online cell.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{E594A3F5-9F29-07F9-28B0-17B912FA121D},31":[{"text":"Right cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}]}}}
\ No newline at end of file
corpus/m6/live-collaboration-15/vm-restarted/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/m6/live-collaboration-15/vm-restarted/notebook/Open Notebook.onetoc2 differ
corpus/m6/live-collaboration-15/vm-restarted/notebook/synthetic.one created
Binary files /dev/null and b/corpus/m6/live-collaboration-15/vm-restarted/notebook/synthetic.one differ
corpus/m6/live-collaboration-cold-15/agent.py created+439
...@@ -0,0 +1,439 @@
1import base64
2import ctypes
3import hashlib
4import json
5import os
6import struct
7import subprocess
8import sys
9import tempfile
10import threading
11import time
12import zlib
13from ctypes import wintypes
14from http.server import ThreadingHTTPServer, BaseHTTPRequestHandler
15
16BASE = os.path.dirname(os.path.abspath(__file__))
17with open(__file__, 'rb') as source:
18 AGENT_SHA256 = hashlib.sha256(source.read()).hexdigest()
19LOCK = threading.Lock()
20
21user32 = ctypes.windll.user32
22gdi32 = ctypes.windll.gdi32
23
24SRCCOPY = 0x00CC0020
25CAPTUREBLT = 0x40000000
26BI_RGB = 0
27DIB_RGB_COLORS = 0
28
29# restype must be set on x64: the default c_int return truncates a 64-bit HANDLE.
30user32.GetDC.restype = wintypes.HDC
31user32.GetDC.argtypes = [wintypes.HWND]
32user32.ReleaseDC.restype = ctypes.c_int
33user32.ReleaseDC.argtypes = [wintypes.HWND, wintypes.HDC]
34user32.GetSystemMetrics.restype = ctypes.c_int
35user32.GetSystemMetrics.argtypes = [ctypes.c_int]
36gdi32.CreateCompatibleDC.restype = wintypes.HDC
37gdi32.CreateCompatibleDC.argtypes = [wintypes.HDC]
38gdi32.CreateCompatibleBitmap.restype = wintypes.HBITMAP
39gdi32.CreateCompatibleBitmap.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int]
40gdi32.SelectObject.restype = wintypes.HGDIOBJ
41gdi32.SelectObject.argtypes = [wintypes.HDC, wintypes.HGDIOBJ]
42gdi32.BitBlt.restype = wintypes.BOOL
43gdi32.BitBlt.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int, ctypes.c_int,
44 ctypes.c_int, wintypes.HDC, ctypes.c_int, ctypes.c_int,
45 wintypes.DWORD]
46gdi32.GetDIBits.restype = ctypes.c_int
47gdi32.GetDIBits.argtypes = [wintypes.HDC, wintypes.HBITMAP, wintypes.UINT,
48 wintypes.UINT, ctypes.c_void_p, ctypes.c_void_p,
49 wintypes.UINT]
50gdi32.DeleteObject.restype = wintypes.BOOL
51gdi32.DeleteObject.argtypes = [wintypes.HGDIOBJ]
52gdi32.DeleteDC.restype = wintypes.BOOL
53gdi32.DeleteDC.argtypes = [wintypes.HDC]
54
55WNDENUMPROC = ctypes.WINFUNCTYPE(wintypes.BOOL, wintypes.HWND, wintypes.LPARAM)
56user32.GetForegroundWindow.restype = wintypes.HWND
57user32.GetForegroundWindow.argtypes = []
58user32.GetWindowTextW.restype = ctypes.c_int
59user32.GetWindowTextW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int]
60user32.GetClassNameW.restype = ctypes.c_int
61user32.GetClassNameW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int]
62user32.GetClientRect.restype = wintypes.BOOL
63user32.GetClientRect.argtypes = [wintypes.HWND, ctypes.POINTER(wintypes.RECT)]
64user32.EnumChildWindows.restype = wintypes.BOOL
65user32.EnumChildWindows.argtypes = [wintypes.HWND, WNDENUMPROC, wintypes.LPARAM]
66
67
68class BITMAPINFOHEADER(ctypes.Structure):
69 _fields_ = [("biSize", wintypes.DWORD),
70 ("biWidth", wintypes.LONG),
71 ("biHeight", wintypes.LONG),
72 ("biPlanes", wintypes.WORD),
73 ("biBitCount", wintypes.WORD),
74 ("biCompression", wintypes.DWORD),
75 ("biSizeImage", wintypes.DWORD),
76 ("biXPelsPerMeter", wintypes.LONG),
77 ("biYPelsPerMeter", wintypes.LONG),
78 ("biClrUsed", wintypes.DWORD),
79 ("biClrImportant", wintypes.DWORD)]
80
81
82PREAMBLE = (
83 "#Requires AutoHotkey v2.0\n"
84 "#SingleInstance Off\n"
85 "#Warn All, Off\n"
86 'FileEncoding "UTF-8-RAW"\n'
87 'SendMode "Input"\n'
88 "SetWorkingDir A_ScriptDir\n"
89 'CoordMode "Mouse", "Screen"\n'
90 'CoordMode "Pixel", "Screen"\n'
91 'CoordMode "ToolTip", "Screen"\n'
92 "SetTitleMatchMode 2\n"
93 "DetectHiddenWindows true\n"
94)
95
96
97def ahk_path():
98 u64 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey64.exe")
99 u32 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey32.exe")
100 return u64 if os.path.exists(u64) else u32
101
102
103def _chunk(tag, data):
104 return (struct.pack(">I", len(data)) + tag + data +
105 struct.pack(">I", zlib.crc32(tag + data) & 0xffffffff))
106
107
108def _to_png(bgra, w, h):
109 arr = bytearray(bgra)
110 r = arr[2::4]
111 arr[2::4] = arr[0::4]
112 arr[0::4] = r
113 del arr[3::4]
114 stride = w * 3
115 mv = memoryview(arr)
116 raw = bytearray()
117 for y in range(h):
118 raw.append(0)
119 raw += mv[y * stride:(y + 1) * stride]
120 ihdr = struct.pack(">IIBBBBB", w, h, 8, 2, 0, 0, 0)
121 return (b"\x89PNG\r\n\x1a\n" + _chunk(b"IHDR", ihdr) +
122 _chunk(b"IDAT", zlib.compress(bytes(raw))) + _chunk(b"IEND", b""))
123
124
125def capture():
126 w = user32.GetSystemMetrics(0)
127 h = user32.GetSystemMetrics(1)
128 hdc = user32.GetDC(None)
129 mem = None
130 hbm = None
131 try:
132 mem = gdi32.CreateCompatibleDC(hdc)
133 hbm = gdi32.CreateCompatibleBitmap(hdc, w, h)
134 old = gdi32.SelectObject(mem, hbm)
135 gdi32.BitBlt(mem, 0, 0, w, h, hdc, 0, 0, SRCCOPY | CAPTUREBLT)
136 gdi32.SelectObject(mem, old)
137 bmi = BITMAPINFOHEADER()
138 bmi.biSize = ctypes.sizeof(BITMAPINFOHEADER)
139 bmi.biWidth = w
140 bmi.biHeight = -h # negative => top-down rows, matches screenshot orientation
141 bmi.biPlanes = 1
142 bmi.biBitCount = 32
143 bmi.biCompression = BI_RGB
144 buf = ctypes.create_string_buffer(w * h * 4)
145 if gdi32.GetDIBits(mem, hbm, 0, h, buf, ctypes.byref(bmi),
146 DIB_RGB_COLORS) == 0:
147 raise RuntimeError("GetDIBits failed")
148 data = buf.raw
149 finally:
150 if hbm:
151 gdi32.DeleteObject(hbm)
152 if mem:
153 gdi32.DeleteDC(mem)
154 user32.ReleaseDC(None, hdc)
155 return _to_png(data, w, h), w, h
156
157
158def _win_text(fn, hwnd, n=512):
159 buf = ctypes.create_unicode_buffer(n)
160 fn(hwnd, buf, n)
161 return buf.value
162
163
164def active_window():
165 hwnd = user32.GetForegroundWindow()
166 if not hwnd:
167 return {"title": "", "class": "", "dialog": False}
168 cls = _win_text(user32.GetClassNameW, hwnd)
169 return {"title": _win_text(user32.GetWindowTextW, hwnd),
170 "class": cls, "dialog": cls == "#32770"}
171
172
173def control_tree():
174 hwnd = user32.GetForegroundWindow()
175 rows = []
176
177 def add(h):
178 rect = wintypes.RECT()
179 user32.GetClientRect(h, ctypes.byref(rect))
180 rows.append((_win_text(user32.GetClassNameW, h),
181 _win_text(user32.GetWindowTextW, h),
182 rect.left, rect.top,
183 rect.right - rect.left, rect.bottom - rect.top))
184
185 if hwnd:
186 add(hwnd)
187
188 def cb(child, _lparam):
189 add(child)
190 return True
191 user32.EnumChildWindows(hwnd, WNDENUMPROC(cb), 0)
192 lines = ["%-24s %-28s %s" % ("class", "text", "l,t,w,h")]
193 for cls, text, l, t, w, h in rows:
194 lines.append("%-24s %-28s %d,%d,%d,%d" % (cls, text, l, t, w, h))
195 return "\n".join(lines)
196
197
198def _run(argv, timeout_ms, encoding, on_timeout=None):
199 def dec(b):
200 return b.decode(encoding, "replace") if b else ""
201
202 p = subprocess.Popen(argv, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
203 try:
204 out, err = p.communicate(timeout=timeout_ms / 1000.0)
205 return p.returncode, dec(out), dec(err), None
206 except subprocess.TimeoutExpired:
207 if on_timeout:
208 on_timeout()
209 subprocess.call(["taskkill", "/F", "/T", "/PID", str(p.pid)])
210 try:
211 # A process the script launched can outlive taskkill still holding the
212 # inherited stdout pipe; an unbounded wait here wedges the agent's lock.
213 out, err = p.communicate(timeout=5)
214 except subprocess.TimeoutExpired:
215 out = err = b""
216 for pipe in (p.stdout, p.stderr):
217 if pipe:
218 pipe.close()
219 msg = "timed out after %d ms, process killed" % timeout_ms
220 return None, dec(out), dec(err), msg
221
222
223def run_ahk(script, timeout_ms, on_timeout=None):
224 fd, path = tempfile.mkstemp(suffix=".ahk")
225 os.close(fd)
226 # AutoHotkey (Unicode-only) needs a UTF-8 BOM to read the file as UTF-8.
227 with open(path, "wb") as f:
228 f.write(b"\xef\xbb\xbf" + (PREAMBLE + script).encode("utf-8"))
229 try:
230 # /ErrorStdOut sends syntax errors to stderr instead of a blocking modal.
231 code, out, err, error = _run([ahk_path(), "/ErrorStdOut", path], timeout_ms,
232 "utf-8", on_timeout)
233 finally:
234 os.remove(path)
235 if error:
236 error = "script " + error
237 return code, out, err, error
238
239
240def _safe_capture(error):
241 try:
242 png, w, h = capture()
243 return base64.b64encode(png).decode("ascii"), w, h, error
244 except Exception as e:
245 note = "screenshot failed: " + repr(e)
246 return "", 0, 0, (error + "; " + note if error else note)
247
248
249LOG_PATH = os.path.join(BASE, "agent.log")
250LOG_LOCK = threading.Lock()
251
252
253def log(text, stamp=True):
254 """Console and agent.log, so a session can be reconstructed after the fact."""
255 line = time.strftime("%Y-%m-%d %H:%M:%S ") + text if stamp else text
256 with LOG_LOCK:
257 print(line, end="" if line.endswith("\n") else "\n", flush=True)
258 try:
259 with open(LOG_PATH, "a", encoding="utf-8") as f:
260 f.write(line if line.endswith("\n") else line + "\n")
261 except OSError:
262 pass # a log that cannot be written must not take the agent down
263
264
265class Handler(BaseHTTPRequestHandler):
266 def log_message(self, *a):
267 pass
268
269 def _send(self, code, obj):
270 body = json.dumps(obj).encode("utf-8")
271 self.send_response(code)
272 self.send_header("Content-Type", "application/json")
273 self.send_header("Content-Length", str(len(body)))
274 self.end_headers()
275 self.wfile.write(body)
276
277 def _log(self, start, code, body=None):
278 log("%s %s %dms exit=%s" % (self.command, self.path,
279 int((time.time() - start) * 1000), code))
280 if body:
281 log("".join(" | %s\n" % l for l in body.splitlines()), stamp=False)
282
283 def _auth_ok(self):
284 token = os.environ.get("WIN7_TOKEN")
285 return not token or self.headers.get("X-Win7-Token") == token
286
287 def _body(self):
288 n = int(self.headers.get("Content-Length") or 0)
289 raw = self.rfile.read(n) if n else b""
290 return json.loads(raw.decode("utf-8")) if raw else {}
291
292 def do_GET(self):
293 start = time.time()
294 if not self._auth_ok():
295 self._send(401, {"error": "bad token"})
296 elif self.path == "/health":
297 self._send(200, {"ok": True, "w": user32.GetSystemMetrics(0),
298 "h": user32.GetSystemMetrics(1),
299 "hostname": os.environ.get("COMPUTERNAME", ""),
300 "ahk": ahk_path(), "python": sys.executable,
301 "agent_sha256": AGENT_SHA256})
302 else:
303 self._send(404, {"error": "not found"})
304 self._log(start, None)
305
306 def do_POST(self):
307 start = time.time()
308 code = None
309 if not self._auth_ok():
310 self._send(401, {"error": "bad token"})
311 self._log(start, None)
312 return
313 try:
314 data = self._body()
315 except Exception:
316 self._send(400, {"error": "bad json"})
317 self._log(start, None)
318 return
319 body = {"/exec": data.get("script"), "/cmd": data.get("command"),
320 "/spawn": data.get("command"),
321 "/put": data.get("path"), "/get": data.get("path")}.get(self.path)
322 try:
323 if self.path == "/exec":
324 resp = self._exec(data)
325 code = resp["exit"]
326 elif self.path == "/cmd":
327 resp = self._cmd(data)
328 code = resp["exit"]
329 elif self.path == "/spawn":
330 resp = self._spawn(data)
331 code = 0
332 elif self.path == "/put":
333 resp = self._put(data)
334 elif self.path == "/get":
335 resp = self._get(data)
336 elif self.path == "/shot":
337 resp = self._shot()
338 elif self.path == "/ui":
339 resp = self._ui()
340 else:
341 self._send(404, {"error": "not found"})
342 self._log(start, None)
343 return
344 self._send(200, resp)
345 except Exception as e:
346 self._send(200, {"error": repr(e), "exit": None, "stdout": "",
347 "stderr": "", "png_b64": "", "w": 0, "h": 0})
348 self._log(start, code, body)
349
350 def _exec(self, data):
351 pre = []
352
353 def grab(): # capture before taskkill so the blocker is still on screen
354 pre.append((_safe_capture(None), active_window()))
355
356 with LOCK:
357 code, out, err, error = run_ahk(data.get("script", ""),
358 data.get("timeout_ms", 60000), grab)
359 if pre:
360 (b64, w, h, note), win = pre[0]
361 else:
362 time.sleep(data.get("shot_delay_ms", 500) / 1000.0)
363 b64, w, h, note = _safe_capture(None)
364 win = active_window()
365 if note:
366 error = error + "; " + note if error else note
367 return {"exit": code, "stdout": out, "stderr": err, "png_b64": b64,
368 "w": w, "h": h, "error": error, "win": win}
369
370 def _put(self, data):
371 path = data.get("path", "")
372 blob = base64.b64decode(data.get("b64", ""))
373 parent = os.path.dirname(path)
374 if parent and not os.path.isdir(parent):
375 os.makedirs(parent)
376 with open(path, "wb") as f:
377 f.write(blob)
378 return {"bytes": len(blob), "path": os.path.abspath(path), "error": None}
379
380 def _get(self, data):
381 with open(data.get("path", ""), "rb") as f:
382 blob = f.read()
383 return {"b64": base64.b64encode(blob).decode("ascii"), "bytes": len(blob),
384 "error": None}
385
386 def _cmd(self, data):
387 with LOCK:
388 # A raw command-line string, not a list: on Windows list2cmdline would
389 # backslash-escape the embedded quotes before cmd.exe ever sees them.
390 code, out, err, error = _run("cmd.exe /c " + data.get("command", ""),
391 data.get("timeout_ms", 60000), "oem")
392 return {"exit": code, "stdout": out, "stderr": err, "error": error}
393
394 def _spawn(self, data):
395 flags = subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS
396 process = subprocess.Popen(data.get("command", ""), stdin=subprocess.DEVNULL,
397 stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL,
398 close_fds=True, creationflags=flags)
399 return {"pid": process.pid, "error": None}
400
401 def _shot(self):
402 b64, w, h, error = _safe_capture(None)
403 win = active_window()
404 return {"png_b64": b64, "w": w, "h": h, "error": error, "win": win}
405
406 def _ui(self):
407 win = active_window()
408 controls = control_tree()
409 return {"win": win, "controls": controls, "error": None}
410
411
412def keep_awake():
413 """Hold the display and system awake for as long as this process lives.
414
415 Screen blanking alone is harmless -- BitBlt still captures the composited
416 desktop -- but sleep kills the agent outright, and a locked session moves
417 the desktop to Winlogon where neither AutoHotkey nor the capture can reach.
418 """
419 ES_CONTINUOUS, ES_SYSTEM_REQUIRED, ES_DISPLAY_REQUIRED = 0x80000000, 0x1, 0x2
420 kernel32 = ctypes.windll.kernel32
421 kernel32.SetThreadExecutionState.restype = wintypes.DWORD
422 kernel32.SetThreadExecutionState.argtypes = [wintypes.DWORD]
423 return kernel32.SetThreadExecutionState(
424 ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED)
425
426
427def main():
428 user32.SetProcessDPIAware()
429 awake = keep_awake()
430 port = int(os.environ.get("WIN7_PORT", "8777"))
431 srv = ThreadingHTTPServer(("0.0.0.0", port), Handler)
432 log("win7-agent listening on 0.0.0.0:%d ahk=%s log=%s%s"
433 % (port, ahk_path(), LOG_PATH,
434 "" if awake else " (WARNING: could not inhibit sleep)"))
435 srv.serve_forever()
436
437
438if __name__ == "__main__":
439 main()
corpus/m6/live-collaboration-cold-15/before-read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment created+1
...@@ -0,0 +1 @@
1Fictitious attachment for native corpus.
\ No newline at end of file
corpus/m6/live-collaboration-cold-15/before-read/environment.json created+7
...@@ -0,0 +1,7 @@
1{
2 "powershell": "5.1.14409.1005",
3 "schema": "xs2010",
4 "hostname": "ONE-M6-3D7D26BB",
5 "cold": true,
6 "onenote": "14.0.4763.1000"
7}
corpus/m6/live-collaboration-cold-15/before-read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{B2AF6E09-B61D-4A5F-B238-E0FA552A994A}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-06T06:11:50.000Z" color="#9595AA" isCurrentlyViewed="true"><one:Section name="synthetic" ID="{6B8385CA-10F0-0E6D-2560-456115271022}{1}{B0}" path="C:\one-tests\runs\capture\notebook\synthetic.one" lastModifiedTime="2026-09-06T06:11:50.000Z" color="#8AA8E4" isCurrentlyViewed="true"><one:Page ID="{47CA764C-993B-4D7C-A207-EDF0E91F0C3D}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isCurrentlyViewed="true"/></one:Section></one:Notebook>
corpus/m6/live-collaboration-cold-15/before-read/page-000.pdf created
Binary files /dev/null and b/corpus/m6/live-collaboration-cold-15/before-read/page-000.pdf differ
corpus/m6/live-collaboration-cold-15/before-read/page-000.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{47CA764C-993B-4D7C-A207-EDF0E91F0C3D}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{2006DEF0-D24E-4ECA-ADF5-612B1683E95C}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{2006DEF0-D24E-4ECA-ADF5-612B1683E95C}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{02EBF262-8AA6-4079-B06D-C3A3D6038488}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{02EBF262-8AA6-4079-B06D-C3A3D6038488}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{76B602E5-611B-4497-B743-E3A3B28F0D15}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:21.000Z" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{76B602E5-611B-4497-B743-E3A3B28F0D15}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native lock recovery.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{4B9F6A6A-8781-4D39-8133-48575EE2459B}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{4B9F6A6A-8781-4D39-8133-48575EE2459B}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{CE85720A-41F9-4EFF-A49E-2FA96A338AA8}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{CE85720A-41F9-4EFF-A49E-2FA96A338AA8}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{E05A0B5A-2069-457F-BB96-CDFC426071EE}{10}{B0}"><one:Position x="144.0" y="312.0" z="1"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{C646EB4D-480B-463B-B78C-72B6EC30953C}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{C646EB4D-480B-463B-B78C-72B6EC30953C}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{C646EB4D-480B-463B-B78C-72B6EC30953C}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{C646EB4D-480B-463B-B78C-72B6EC30953C}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{E05A0B5A-2069-457F-BB96-CDFC426071EE}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{C646EB4D-480B-463B-B78C-72B6EC30953C}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{E05A0B5A-2069-457F-BB96-CDFC426071EE}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-cold-15/before-read/payloads.json created+10
...@@ -0,0 +1,10 @@
1[
2 {
3 "sha256": "af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7",
4 "name": "fictitious-attachment.txt",
5 "object": "{CE85720A-41F9-4EFF-A49E-2FA96A338AA8}{11}{B0}",
6 "kind": "InsertedFile",
7 "page": "{47CA764C-993B-4D7C-A207-EDF0E91F0C3D}{1}{B0}",
8 "bytes": 43
9 }
10]
\ No newline at end of file
corpus/m6/live-collaboration-cold-15/commands.jsonl created+6
...@@ -0,0 +1,6 @@
1{"command": "powershell -NoProfile -Command \"Expand-Archive -LiteralPath C:\\one-tests\\transfer.zip -DestinationPath C:\\one-tests\\runs\\capture\\notebook\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
2{"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-3D7D26BB -ExpectedPages 1 -Pdf -KeepOpen", "exit": 0, "stdout": "Read 1 sections and 1 pages.\r\n", "stderr": "", "error": null}
3{"command": "powershell -NoProfile -Command \"Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\read -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
4{"command": "powershell -NoProfile -Command \"Rename-Item C:\\one-tests\\runs\\capture\\read before-read\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
5{"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-3D7D26BB -UseCurrentCache -ExpectedPages -1 -Pdf", "exit": 0, "stdout": "Read 1 sections and 1 pages.\r\n", "stderr": "", "error": null}
6{"command": "powershell -NoProfile -Command \"Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\* -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
corpus/m6/live-collaboration-cold-15/conflict-ui.json created+6
...@@ -0,0 +1,6 @@
1{
2 "action": "Clicked the native unmerged-changes banner in a fresh cache.",
3 "observed_main": "Client B concurrent edit.",
4 "observed_conflict": "Client A concurrent edit.",
5 "native_status": "Conflicting changes are highlighted in red; read-only conflict page."
6}
\ No newline at end of file
corpus/m6/live-collaboration-cold-15/conflict.png created
Binary files /dev/null and b/corpus/m6/live-collaboration-cold-15/conflict.png differ
corpus/m6/live-collaboration-cold-15/finish created
corpus/m6/live-collaboration-cold-15/format-differences.json created+1
...@@ -0,0 +1 @@
1[]
\ No newline at end of file
corpus/m6/live-collaboration-cold-15/geometry-differences.json created+1
...@@ -0,0 +1 @@
1[]
\ No newline at end of file
corpus/m6/live-collaboration-cold-15/health.json created+9
...@@ -0,0 +1,9 @@
1{
2 "ok": true,
3 "w": 800,
4 "h": 600,
5 "hostname": "ONE-M6-3D7D26BB",
6 "ahk": "C:\\win7-agent\\vendor\\ahk\\AutoHotkey64.exe",
7 "python": "C:\\win7-agent\\vendor\\python\\python.exe",
8 "agent_sha256": "ef7ca89be026695cf4412460a2eec308b0ed253fb9245597a7fe5d6938e49f89"
9}
corpus/m6/live-collaboration-cold-15/machine.json created+1
...@@ -0,0 +1 @@
1{"name": "m6-3d7d26bb", "hostname": "ONE-M6-3D7D26BB"}
corpus/m6/live-collaboration-cold-15/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/m6/live-collaboration-cold-15/notebook/Open Notebook.onetoc2 differ
corpus/m6/live-collaboration-cold-15/notebook/synthetic.one created
Binary files /dev/null and b/corpus/m6/live-collaboration-cold-15/notebook/synthetic.one differ
corpus/m6/live-collaboration-cold-15/pdf-format-checks.json created+1
...@@ -0,0 +1 @@
1[]
\ No newline at end of file
corpus/m6/live-collaboration-cold-15/read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment created+1
...@@ -0,0 +1 @@
1Fictitious attachment for native corpus.
\ No newline at end of file
corpus/m6/live-collaboration-cold-15/read/environment.json created+7
...@@ -0,0 +1,7 @@
1{
2 "powershell": "5.1.14409.1005",
3 "schema": "xs2010",
4 "hostname": "ONE-M6-3D7D26BB",
5 "cold": false,
6 "onenote": "14.0.4763.1000"
7}
corpus/m6/live-collaboration-cold-15/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{B2AF6E09-B61D-4A5F-B238-E0FA552A994A}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-06T06:11:50.000Z" color="#9595AA" isCurrentlyViewed="true"><one:Section name="synthetic" ID="{6B8385CA-10F0-0E6D-2560-456115271022}{1}{B0}" path="C:\one-tests\runs\capture\notebook\synthetic.one" lastModifiedTime="2026-09-06T06:11:50.000Z" color="#8AA8E4" isCurrentlyViewed="true"><one:Page ID="{47CA764C-993B-4D7C-A207-EDF0E91F0C3D}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isCurrentlyViewed="true"/></one:Section></one:Notebook>
corpus/m6/live-collaboration-cold-15/read/page-000.pdf created
Binary files /dev/null and b/corpus/m6/live-collaboration-cold-15/read/page-000.pdf differ
corpus/m6/live-collaboration-cold-15/read/page-000.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{47CA764C-993B-4D7C-A207-EDF0E91F0C3D}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-06T06:12:09.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:12:09.000Z" objectID="{2006DEF0-D24E-4ECA-ADF5-612B1683E95C}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:12:09.000Z" objectID="{2006DEF0-D24E-4ECA-ADF5-612B1683E95C}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{02EBF262-8AA6-4079-B06D-C3A3D6038488}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
3URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
4IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
5mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
6QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
7BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
8NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
9BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
10wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
11ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
12GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
13RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
14QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{02EBF262-8AA6-4079-B06D-C3A3D6038488}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
15v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
16CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
17KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
18mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
19qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
20AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:12:09.000Z" objectID="{76B602E5-611B-4497-B743-E3A3B28F0D15}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:21.000Z" lastModifiedTime="2026-09-06T06:12:09.000Z" objectID="{76B602E5-611B-4497-B743-E3A3B28F0D15}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native lock recovery.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{4B9F6A6A-8781-4D39-8133-48575EE2459B}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{4B9F6A6A-8781-4D39-8133-48575EE2459B}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
21AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{CE85720A-41F9-4EFF-A49E-2FA96A338AA8}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{CE85720A-41F9-4EFF-A49E-2FA96A338AA8}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:12:09.000Z" objectID="{E05A0B5A-2069-457F-BB96-CDFC426071EE}{10}{B0}"><one:Position x="144.0" y="312.0" z="1"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:12:09.000Z" objectID="{C646EB4D-480B-463B-B78C-72B6EC30953C}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:12:09.000Z" objectID="{C646EB4D-480B-463B-B78C-72B6EC30953C}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{C646EB4D-480B-463B-B78C-72B6EC30953C}{17}{B0}" lastModifiedTime="2026-09-06T06:12:09.000Z"><one:Cell lastModifiedTime="2026-09-06T06:12:09.000Z" objectID="{C646EB4D-480B-463B-B78C-72B6EC30953C}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:12:09.000Z" objectID="{E05A0B5A-2069-457F-BB96-CDFC426071EE}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:12:09.000Z" objectID="{C646EB4D-480B-463B-B78C-72B6EC30953C}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:12:09.000Z" objectID="{E05A0B5A-2069-457F-BB96-CDFC426071EE}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/live-collaboration-cold-15/read/payloads.json created+10
...@@ -0,0 +1,10 @@
1[
2 {
3 "sha256": "af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7",
4 "name": "fictitious-attachment.txt",
5 "object": "{CE85720A-41F9-4EFF-A49E-2FA96A338AA8}{11}{B0}",
6 "kind": "InsertedFile",
7 "page": "{47CA764C-993B-4D7C-A207-EDF0E91F0C3D}{1}{B0}",
8 "bytes": 43
9 }
10]
\ No newline at end of file
corpus/m6/live-collaboration-cold-15/restart-agent.py created+35
...@@ -0,0 +1,35 @@
1"""Run through the old agent's detached spawn endpoint in a disposable clone."""
2import os
3import ctypes
4from ctypes import wintypes
5import subprocess
6import sys
7import time
8
9if len(sys.argv) != 2 or not sys.argv[1].startswith('ONE-M6-') or os.environ.get('COMPUTERNAME') != sys.argv[1]:
10 raise SystemExit('The disposable clone hostname does not match.')
11parent = os.getppid()
12kernel = ctypes.WinDLL('kernel32', use_last_error=True)
13kernel.OpenProcess.argtypes = (wintypes.DWORD, wintypes.BOOL, wintypes.DWORD)
14kernel.OpenProcess.restype = wintypes.HANDLE
15kernel.TerminateProcess.argtypes = (wintypes.HANDLE, wintypes.UINT)
16kernel.TerminateProcess.restype = wintypes.BOOL
17kernel.WaitForSingleObject.argtypes = (wintypes.HANDLE, wintypes.DWORD)
18kernel.WaitForSingleObject.restype = wintypes.DWORD
19kernel.CloseHandle.argtypes = (wintypes.HANDLE,)
20kernel.CloseHandle.restype = wintypes.BOOL
21handle = kernel.OpenProcess(0x100001, False, parent)
22if not handle:
23 raise ctypes.WinError(ctypes.get_last_error())
24time.sleep(0.5)
25try:
26 if not kernel.TerminateProcess(handle, 0):
27 raise ctypes.WinError(ctypes.get_last_error())
28 if kernel.WaitForSingleObject(handle, 5000) != 0:
29 raise RuntimeError('The old agent did not terminate.')
30finally:
31 kernel.CloseHandle(handle)
32with open(r'C:\one-tests\agent-restart.log', 'ab') as log:
33 subprocess.Popen([sys.executable, r'C:\win7-agent\agent.py'], stdin=subprocess.DEVNULL,
34 stdout=log, stderr=log, close_fds=True,
35 creationflags=subprocess.DETACHED_PROCESS | subprocess.CREATE_NEW_PROCESS_GROUP)
corpus/m6/live-collaboration-cold-15/run.json created+17
...@@ -0,0 +1,17 @@
1{
2 "notebook": "/Users/clo/dev/one/evidence/m6/live-collaboration-15/vm-restarted/notebook",
3 "expected_pages": 1,
4 "author": null,
5 "author_timeout_seconds": 600,
6 "inspect": true,
7 "base": {
8 "file": "win7-office-base.qcow2",
9 "format": "qcow2",
10 "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346",
11 "virtual_size": 68719476736
12 },
13 "scripts": {
14 "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
15 "read.ps1": "086789e467779add0fc071ad8c524c2b02d3d0d609aea4a41f3128cadba371e8"
16 }
17}
corpus/m6/live-collaboration-cold-15/scripts/cold.ps1 created+27
...@@ -0,0 +1,27 @@
1param([Parameter(Mandatory=$true)][string]$Root, [string]$CloneHost = '')
2Set-StrictMode -Version Latest
3$ErrorActionPreference = 'Stop'
4$root = [IO.Path]::GetFullPath($Root).TrimEnd('\')
5if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') {
6 throw 'Choose a run directly below C:\one-tests\runs.'
7}
8if (Get-Process ONENOTE -ErrorAction SilentlyContinue) { throw 'Close OneNote before resetting its test cache.' }
9$key = 'HKCU:\Software\Microsoft\Office\14.0\OneNote'
10if ($CloneHost) {
11 if ($CloneHost -notmatch '^ONE-[A-Z0-9-]+$' -or [Environment]::MachineName -ne $CloneHost) {
12 throw 'The disposable clone hostname does not match this machine.'
13 }
14 New-Item "$key\Options\Paths" -Force | Out-Null
15 New-ItemProperty "$key\Options\Paths" -Name UnfiledNotesSection -PropertyType ExpandString -Value 'C:\one-tests\Loose.one' -Force | Out-Null
16} elseif ((Get-ItemProperty "$key\Options\Paths").UnfiledNotesSection -ne 'C:\one-tests\Loose.one' -or
17 -not (Test-Path 'C:\one-tests\profile-original-cache')) {
18 throw 'Park the personal OneNote profile before resetting the test cache.'
19}
20$cache = Join-Path $env:LOCALAPPDATA 'Microsoft\OneNote\14.0'
21$parked = Join-Path 'C:\one-tests\caches' ([IO.Path]::GetFileName($root))
22if (Test-Path $parked) { throw 'Choose a new run; its parked cache already exists.' }
23New-Item -ItemType Directory -Path 'C:\one-tests\caches' -Force | Out-Null
24if (Test-Path $cache) { Move-Item -LiteralPath $cache -Destination $parked }
25if (Test-Path "$key\OpenNotebooks") { Remove-Item "$key\OpenNotebooks" -Recurse }
26New-Item "$key\OpenNotebooks" | Out-Null
27New-ItemProperty "$key\OpenNotebooks" -Name '1' -PropertyType String -Value "$root\notebook" | Out-Null
corpus/m6/live-collaboration-cold-15/scripts/read.ps1 created+139
...@@ -0,0 +1,139 @@
1param(
2 [Parameter(Mandatory=$true)][string]$Root,
3 [int]$ExpectedPages = -1,
4 [switch]$UseCurrentCache,
5 [switch]$Pdf,
6 [switch]$KeepOpen,
7 [string]$CloneHost = ''
8)
9Set-StrictMode -Version Latest
10$ErrorActionPreference = 'Stop'
11$root = [IO.Path]::GetFullPath($Root).TrimEnd('\')
12if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') {
13 throw 'Choose a run directly below C:\one-tests\runs.'
14}
15$notebook = Join-Path $root 'notebook'
16$output = Join-Path $root 'read'
17if (Test-Path $output) { throw 'Choose a new read destination.' }
18if ($UseCurrentCache) {
19 if ((Get-ItemProperty 'HKCU:\Software\Microsoft\Office\14.0\OneNote\Options\Paths').UnfiledNotesSection -ne 'C:\one-tests\Loose.one') {
20 throw 'Park the personal OneNote profile before reading test notebooks.'
21 }
22} else {
23 & "$PSScriptRoot\cold-current.ps1" -Root $root -CloneHost $CloneHost
24}
25New-Item -ItemType Directory -Path $output | Out-Null
26$app = New-Object -ComObject OneNote.Application
27$notebookId = ''
28$failure = $null
29try {
30 $app.OpenHierarchy($notebook, '', [ref]$notebookId, 0)
31 $process = Get-Process ONENOTE
32 @{ hostname = [Environment]::MachineName; onenote = $process.MainModule.FileVersionInfo.FileVersion;
33 powershell = $PSVersionTable.PSVersion.ToString(); schema = 'xs2010'; cold = (-not $UseCurrentCache.IsPresent) } |
34 ConvertTo-Json | Set-Content (Join-Path $output 'environment.json') -Encoding UTF8
35 $sections = @()
36 foreach ($file in @(Get-ChildItem $notebook -Recurse | Where-Object { $_.Extension -eq '.one' })) {
37 $id = ''
38 $app.OpenHierarchy($file.FullName, '', [ref]$id, 0)
39 $sections += $id
40 }
41 $deadline = [DateTime]::UtcNow.AddSeconds(300)
42 $previous = ''
43 $stableSince = [DateTime]::UtcNow
44 $settled = $false
45 do {
46 $pages = @{}
47 foreach ($section in $sections) {
48 $hierarchy = ''
49 $app.GetHierarchy($section, 4, [ref]$hierarchy, 1)
50 [xml]$xml = $hierarchy
51 foreach ($node in $xml.SelectNodes('//*[@path]')) {
52 if (-not $node.GetAttribute('path').StartsWith("$notebook\", [StringComparison]::OrdinalIgnoreCase)) {
53 throw 'OneNote opened a section outside the copied notebook.'
54 }
55 }
56 foreach ($node in $xml.SelectNodes('//*[local-name()="Page"]')) {
57 $id = $node.GetAttribute('ID')
58 $content = ''
59 $app.GetPageContent($id, [ref]$content, 1, 1)
60 $pages[$id] = $content
61 }
62 }
63 $signature = [String]::Join('|', @($pages.Keys | Sort-Object | ForEach-Object { $_ + $pages[$_] }))
64 if ($signature -ne $previous) {
65 $previous = $signature
66 $stableSince = [DateTime]::UtcNow
67 }
68 if ((($ExpectedPages -ge 0 -and $pages.Count -eq $ExpectedPages) -or
69 ($ExpectedPages -lt 0 -and $pages.Count -gt 0)) -and
70 ([DateTime]::UtcNow - $stableSince).TotalSeconds -ge 2) { $settled = $true; break }
71 Start-Sleep -Milliseconds 250
72 } while ([DateTime]::UtcNow -lt $deadline)
73 if (-not $settled -or ($ExpectedPages -ge 0 -and $pages.Count -ne $ExpectedPages) -or ($ExpectedPages -lt 0 -and $pages.Count -eq 0)) {
74 $index = 0
75 foreach ($id in @($pages.Keys | Sort-Object)) {
76 [IO.File]::WriteAllText((Join-Path $output ('unsettled-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8)
77 $index++
78 }
79 $hierarchy = ''
80 $app.GetHierarchy($notebookId, 4, [ref]$hierarchy, 1)
81 [IO.File]::WriteAllText((Join-Path $output 'unsettled-hierarchy.xml'), $hierarchy, [Text.Encoding]::UTF8)
82 throw "Expected $ExpectedPages pages; OneNote returned $($pages.Count)."
83 }
84 $index = 0
85 $payloads = @()
86 foreach ($id in @($pages.Keys | Sort-Object)) {
87 [IO.File]::WriteAllText((Join-Path $output ('page-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8)
88 if ($Pdf) {
89 $pdfPath = Join-Path $output ('page-{0:d3}.pdf' -f $index)
90 $app.NavigateTo($id, '', $false)
91 $app.Publish($id, $pdfPath, 3, '')
92 if (-not (Test-Path $pdfPath) -or (Get-Item $pdfPath).Length -eq 0) { throw 'OneNote did not publish the page PDF.' }
93 }
94 [xml]$page = $pages[$id]
95 foreach ($file in $page.SelectNodes('//*[local-name()="InsertedFile" or local-name()="MediaFile"]')) {
96 $bytes = [IO.File]::ReadAllBytes($file.GetAttribute('pathCache'))
97 $hash = [BitConverter]::ToString([Security.Cryptography.SHA256]::Create().ComputeHash($bytes)).Replace('-', '').ToLowerInvariant()
98 [IO.File]::WriteAllBytes((Join-Path $output ($hash + '.attachment')), $bytes)
99 $payloads += @{ page = $id; object = $file.ParentNode.GetAttribute('objectID');
100 kind = $file.LocalName; name = $file.GetAttribute('preferredName');
101 sha256 = $hash; bytes = $bytes.Length }
102 }
103 $index++
104 }
105 [IO.File]::WriteAllText((Join-Path $output 'payloads.json'), (ConvertTo-Json -InputObject $payloads -Depth 4), [Text.Encoding]::UTF8)
106 $all = ''
107 $app.GetHierarchy($notebookId, 4, [ref]$all, 1)
108 [xml]$finalTree = $all
109 $finalIds = @($finalTree.SelectNodes('//*[local-name()="Page"]') | ForEach-Object { $_.GetAttribute('ID') } | Sort-Object -Unique)
110 if ($finalIds.Count -ne $pages.Count -or @($finalIds | Where-Object { -not $pages.ContainsKey($_) }).Count -ne 0) {
111 throw 'The notebook hierarchy changed while collecting page evidence; repeat the cold read.'
112 }
113 [IO.File]::WriteAllText((Join-Path $output 'hierarchy.xml'), $all, [Text.Encoding]::UTF8)
114 Write-Output "Read $($sections.Count) sections and $($pages.Count) pages."
115} catch {
116 $failure = $_
117 [IO.File]::WriteAllText((Join-Path $output 'failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8)
118 throw
119} finally {
120 try {
121 try {
122 if ($notebookId -and $CloneHost) { $app.SyncHierarchy($notebookId) }
123 if ($notebookId -and -not $KeepOpen -and (-not $UseCurrentCache -or $CloneHost)) {
124 $app.CloseNotebook($notebookId, $false)
125 }
126 } catch {
127 if ($null -eq $failure) { throw }
128 [IO.File]::WriteAllText((Join-Path $output 'cleanup-failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8)
129 }
130 } finally {
131 [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
132 }
133 $app = $null
134 [GC]::Collect()
135 [GC]::WaitForPendingFinalizers()
136 if (-not $UseCurrentCache -and -not $CloneHost) {
137 Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10
138 }
139}
corpus/m6/live-collaboration-cold-15/source.json created+14
...@@ -0,0 +1,14 @@
1[
2 {
3 "path": "Open Notebook.onetoc2",
4 "bytes": 4944,
5 "sha256": "36274ad5cc077c6b1ad51ee4c4b90d3b6798a45ce446cbfd7c9d7ac504776b28",
6 "mtime_ns": 1788674939460499909
7 },
8 {
9 "path": "synthetic.one",
10 "bytes": 51312,
11 "sha256": "4ded7eeabd8136e8b09809009bb699fac55fd95ab21b2f087461eac39eb11d22",
12 "mtime_ns": 1788674939456770698
13 }
14]
corpus/m6/live-collaboration-cold-15/teardown.json created+1
...@@ -0,0 +1 @@
1{"absent": true}
corpus/m6/native-break-controls-02/ORACLE.md created+7
...@@ -0,0 +1,7 @@
1# Native paragraph-break controls
2
3OneNote 2010 14.0.4763.1000 authored the 24 cases in `notebook/fixture.json` through the captured `scripts/author.ps1`; `read/` contains native XML and PDF exports. The clone was deleted (`teardown.json`).
4
5Twelve inputs appear both as styled plain text and as hyperlink labels. Literal line endings become stored carriage returns; a `<br>` followed by a newline also survives. Bare `<br>` elements without a following newline were discarded by this COM import. Native HTML export omits exactly one final carriage return while preserving preceding breaks. Hyperlink fields exclude the breaks. `comparison.json` records each stored/native observation.
6
7The Rust test asserts the stored text and associated link boundaries. The independent Python oracle checks that removing another break causes a failure. This is evidence for the observed COM import/export behavior, not permission to trim arbitrary whitespace.
corpus/m6/native-break-controls-02/agent.py created+439
...@@ -0,0 +1,439 @@
1import base64
2import ctypes
3import hashlib
4import json
5import os
6import struct
7import subprocess
8import sys
9import tempfile
10import threading
11import time
12import zlib
13from ctypes import wintypes
14from http.server import ThreadingHTTPServer, BaseHTTPRequestHandler
15
16BASE = os.path.dirname(os.path.abspath(__file__))
17with open(__file__, 'rb') as source:
18 AGENT_SHA256 = hashlib.sha256(source.read()).hexdigest()
19LOCK = threading.Lock()
20
21user32 = ctypes.windll.user32
22gdi32 = ctypes.windll.gdi32
23
24SRCCOPY = 0x00CC0020
25CAPTUREBLT = 0x40000000
26BI_RGB = 0
27DIB_RGB_COLORS = 0
28
29# restype must be set on x64: the default c_int return truncates a 64-bit HANDLE.
30user32.GetDC.restype = wintypes.HDC
31user32.GetDC.argtypes = [wintypes.HWND]
32user32.ReleaseDC.restype = ctypes.c_int
33user32.ReleaseDC.argtypes = [wintypes.HWND, wintypes.HDC]
34user32.GetSystemMetrics.restype = ctypes.c_int
35user32.GetSystemMetrics.argtypes = [ctypes.c_int]
36gdi32.CreateCompatibleDC.restype = wintypes.HDC
37gdi32.CreateCompatibleDC.argtypes = [wintypes.HDC]
38gdi32.CreateCompatibleBitmap.restype = wintypes.HBITMAP
39gdi32.CreateCompatibleBitmap.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int]
40gdi32.SelectObject.restype = wintypes.HGDIOBJ
41gdi32.SelectObject.argtypes = [wintypes.HDC, wintypes.HGDIOBJ]
42gdi32.BitBlt.restype = wintypes.BOOL
43gdi32.BitBlt.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int, ctypes.c_int,
44 ctypes.c_int, wintypes.HDC, ctypes.c_int, ctypes.c_int,
45 wintypes.DWORD]
46gdi32.GetDIBits.restype = ctypes.c_int
47gdi32.GetDIBits.argtypes = [wintypes.HDC, wintypes.HBITMAP, wintypes.UINT,
48 wintypes.UINT, ctypes.c_void_p, ctypes.c_void_p,
49 wintypes.UINT]
50gdi32.DeleteObject.restype = wintypes.BOOL
51gdi32.DeleteObject.argtypes = [wintypes.HGDIOBJ]
52gdi32.DeleteDC.restype = wintypes.BOOL
53gdi32.DeleteDC.argtypes = [wintypes.HDC]
54
55WNDENUMPROC = ctypes.WINFUNCTYPE(wintypes.BOOL, wintypes.HWND, wintypes.LPARAM)
56user32.GetForegroundWindow.restype = wintypes.HWND
57user32.GetForegroundWindow.argtypes = []
58user32.GetWindowTextW.restype = ctypes.c_int
59user32.GetWindowTextW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int]
60user32.GetClassNameW.restype = ctypes.c_int
61user32.GetClassNameW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int]
62user32.GetClientRect.restype = wintypes.BOOL
63user32.GetClientRect.argtypes = [wintypes.HWND, ctypes.POINTER(wintypes.RECT)]
64user32.EnumChildWindows.restype = wintypes.BOOL
65user32.EnumChildWindows.argtypes = [wintypes.HWND, WNDENUMPROC, wintypes.LPARAM]
66
67
68class BITMAPINFOHEADER(ctypes.Structure):
69 _fields_ = [("biSize", wintypes.DWORD),
70 ("biWidth", wintypes.LONG),
71 ("biHeight", wintypes.LONG),
72 ("biPlanes", wintypes.WORD),
73 ("biBitCount", wintypes.WORD),
74 ("biCompression", wintypes.DWORD),
75 ("biSizeImage", wintypes.DWORD),
76 ("biXPelsPerMeter", wintypes.LONG),
77 ("biYPelsPerMeter", wintypes.LONG),
78 ("biClrUsed", wintypes.DWORD),
79 ("biClrImportant", wintypes.DWORD)]
80
81
82PREAMBLE = (
83 "#Requires AutoHotkey v2.0\n"
84 "#SingleInstance Off\n"
85 "#Warn All, Off\n"
86 'FileEncoding "UTF-8-RAW"\n'
87 'SendMode "Input"\n'
88 "SetWorkingDir A_ScriptDir\n"
89 'CoordMode "Mouse", "Screen"\n'
90 'CoordMode "Pixel", "Screen"\n'
91 'CoordMode "ToolTip", "Screen"\n'
92 "SetTitleMatchMode 2\n"
93 "DetectHiddenWindows true\n"
94)
95
96
97def ahk_path():
98 u64 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey64.exe")
99 u32 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey32.exe")
100 return u64 if os.path.exists(u64) else u32
101
102
103def _chunk(tag, data):
104 return (struct.pack(">I", len(data)) + tag + data +
105 struct.pack(">I", zlib.crc32(tag + data) & 0xffffffff))
106
107
108def _to_png(bgra, w, h):
109 arr = bytearray(bgra)
110 r = arr[2::4]
111 arr[2::4] = arr[0::4]
112 arr[0::4] = r
113 del arr[3::4]
114 stride = w * 3
115 mv = memoryview(arr)
116 raw = bytearray()
117 for y in range(h):
118 raw.append(0)
119 raw += mv[y * stride:(y + 1) * stride]
120 ihdr = struct.pack(">IIBBBBB", w, h, 8, 2, 0, 0, 0)
121 return (b"\x89PNG\r\n\x1a\n" + _chunk(b"IHDR", ihdr) +
122 _chunk(b"IDAT", zlib.compress(bytes(raw))) + _chunk(b"IEND", b""))
123
124
125def capture():
126 w = user32.GetSystemMetrics(0)
127 h = user32.GetSystemMetrics(1)
128 hdc = user32.GetDC(None)
129 mem = None
130 hbm = None
131 try:
132 mem = gdi32.CreateCompatibleDC(hdc)
133 hbm = gdi32.CreateCompatibleBitmap(hdc, w, h)
134 old = gdi32.SelectObject(mem, hbm)
135 gdi32.BitBlt(mem, 0, 0, w, h, hdc, 0, 0, SRCCOPY | CAPTUREBLT)
136 gdi32.SelectObject(mem, old)
137 bmi = BITMAPINFOHEADER()
138 bmi.biSize = ctypes.sizeof(BITMAPINFOHEADER)
139 bmi.biWidth = w
140 bmi.biHeight = -h # negative => top-down rows, matches screenshot orientation
141 bmi.biPlanes = 1
142 bmi.biBitCount = 32
143 bmi.biCompression = BI_RGB
144 buf = ctypes.create_string_buffer(w * h * 4)
145 if gdi32.GetDIBits(mem, hbm, 0, h, buf, ctypes.byref(bmi),
146 DIB_RGB_COLORS) == 0:
147 raise RuntimeError("GetDIBits failed")
148 data = buf.raw
149 finally:
150 if hbm:
151 gdi32.DeleteObject(hbm)
152 if mem:
153 gdi32.DeleteDC(mem)
154 user32.ReleaseDC(None, hdc)
155 return _to_png(data, w, h), w, h
156
157
158def _win_text(fn, hwnd, n=512):
159 buf = ctypes.create_unicode_buffer(n)
160 fn(hwnd, buf, n)
161 return buf.value
162
163
164def active_window():
165 hwnd = user32.GetForegroundWindow()
166 if not hwnd:
167 return {"title": "", "class": "", "dialog": False}
168 cls = _win_text(user32.GetClassNameW, hwnd)
169 return {"title": _win_text(user32.GetWindowTextW, hwnd),
170 "class": cls, "dialog": cls == "#32770"}
171
172
173def control_tree():
174 hwnd = user32.GetForegroundWindow()
175 rows = []
176
177 def add(h):
178 rect = wintypes.RECT()
179 user32.GetClientRect(h, ctypes.byref(rect))
180 rows.append((_win_text(user32.GetClassNameW, h),
181 _win_text(user32.GetWindowTextW, h),
182 rect.left, rect.top,
183 rect.right - rect.left, rect.bottom - rect.top))
184
185 if hwnd:
186 add(hwnd)
187
188 def cb(child, _lparam):
189 add(child)
190 return True
191 user32.EnumChildWindows(hwnd, WNDENUMPROC(cb), 0)
192 lines = ["%-24s %-28s %s" % ("class", "text", "l,t,w,h")]
193 for cls, text, l, t, w, h in rows:
194 lines.append("%-24s %-28s %d,%d,%d,%d" % (cls, text, l, t, w, h))
195 return "\n".join(lines)
196
197
198def _run(argv, timeout_ms, encoding, on_timeout=None):
199 def dec(b):
200 return b.decode(encoding, "replace") if b else ""
201
202 p = subprocess.Popen(argv, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
203 try:
204 out, err = p.communicate(timeout=timeout_ms / 1000.0)
205 return p.returncode, dec(out), dec(err), None
206 except subprocess.TimeoutExpired:
207 if on_timeout:
208 on_timeout()
209 subprocess.call(["taskkill", "/F", "/T", "/PID", str(p.pid)])
210 try:
211 # A process the script launched can outlive taskkill still holding the
212 # inherited stdout pipe; an unbounded wait here wedges the agent's lock.
213 out, err = p.communicate(timeout=5)
214 except subprocess.TimeoutExpired:
215 out = err = b""
216 for pipe in (p.stdout, p.stderr):
217 if pipe:
218 pipe.close()
219 msg = "timed out after %d ms, process killed" % timeout_ms
220 return None, dec(out), dec(err), msg
221
222
223def run_ahk(script, timeout_ms, on_timeout=None):
224 fd, path = tempfile.mkstemp(suffix=".ahk")
225 os.close(fd)
226 # AutoHotkey (Unicode-only) needs a UTF-8 BOM to read the file as UTF-8.
227 with open(path, "wb") as f:
228 f.write(b"\xef\xbb\xbf" + (PREAMBLE + script).encode("utf-8"))
229 try:
230 # /ErrorStdOut sends syntax errors to stderr instead of a blocking modal.
231 code, out, err, error = _run([ahk_path(), "/ErrorStdOut", path], timeout_ms,
232 "utf-8", on_timeout)
233 finally:
234 os.remove(path)
235 if error:
236 error = "script " + error
237 return code, out, err, error
238
239
240def _safe_capture(error):
241 try:
242 png, w, h = capture()
243 return base64.b64encode(png).decode("ascii"), w, h, error
244 except Exception as e:
245 note = "screenshot failed: " + repr(e)
246 return "", 0, 0, (error + "; " + note if error else note)
247
248
249LOG_PATH = os.path.join(BASE, "agent.log")
250LOG_LOCK = threading.Lock()
251
252
253def log(text, stamp=True):
254 """Console and agent.log, so a session can be reconstructed after the fact."""
255 line = time.strftime("%Y-%m-%d %H:%M:%S ") + text if stamp else text
256 with LOG_LOCK:
257 print(line, end="" if line.endswith("\n") else "\n", flush=True)
258 try:
259 with open(LOG_PATH, "a", encoding="utf-8") as f:
260 f.write(line if line.endswith("\n") else line + "\n")
261 except OSError:
262 pass # a log that cannot be written must not take the agent down
263
264
265class Handler(BaseHTTPRequestHandler):
266 def log_message(self, *a):
267 pass
268
269 def _send(self, code, obj):
270 body = json.dumps(obj).encode("utf-8")
271 self.send_response(code)
272 self.send_header("Content-Type", "application/json")
273 self.send_header("Content-Length", str(len(body)))
274 self.end_headers()
275 self.wfile.write(body)
276
277 def _log(self, start, code, body=None):
278 log("%s %s %dms exit=%s" % (self.command, self.path,
279 int((time.time() - start) * 1000), code))
280 if body:
281 log("".join(" | %s\n" % l for l in body.splitlines()), stamp=False)
282
283 def _auth_ok(self):
284 token = os.environ.get("WIN7_TOKEN")
285 return not token or self.headers.get("X-Win7-Token") == token
286
287 def _body(self):
288 n = int(self.headers.get("Content-Length") or 0)
289 raw = self.rfile.read(n) if n else b""
290 return json.loads(raw.decode("utf-8")) if raw else {}
291
292 def do_GET(self):
293 start = time.time()
294 if not self._auth_ok():
295 self._send(401, {"error": "bad token"})
296 elif self.path == "/health":
297 self._send(200, {"ok": True, "w": user32.GetSystemMetrics(0),
298 "h": user32.GetSystemMetrics(1),
299 "hostname": os.environ.get("COMPUTERNAME", ""),
300 "ahk": ahk_path(), "python": sys.executable,
301 "agent_sha256": AGENT_SHA256})
302 else:
303 self._send(404, {"error": "not found"})
304 self._log(start, None)
305
306 def do_POST(self):
307 start = time.time()
308 code = None
309 if not self._auth_ok():
310 self._send(401, {"error": "bad token"})
311 self._log(start, None)
312 return
313 try:
314 data = self._body()
315 except Exception:
316 self._send(400, {"error": "bad json"})
317 self._log(start, None)
318 return
319 body = {"/exec": data.get("script"), "/cmd": data.get("command"),
320 "/spawn": data.get("command"),
321 "/put": data.get("path"), "/get": data.get("path")}.get(self.path)
322 try:
323 if self.path == "/exec":
324 resp = self._exec(data)
325 code = resp["exit"]
326 elif self.path == "/cmd":
327 resp = self._cmd(data)
328 code = resp["exit"]
329 elif self.path == "/spawn":
330 resp = self._spawn(data)
331 code = 0
332 elif self.path == "/put":
333 resp = self._put(data)
334 elif self.path == "/get":
335 resp = self._get(data)
336 elif self.path == "/shot":
337 resp = self._shot()
338 elif self.path == "/ui":
339 resp = self._ui()
340 else:
341 self._send(404, {"error": "not found"})
342 self._log(start, None)
343 return
344 self._send(200, resp)
345 except Exception as e:
346 self._send(200, {"error": repr(e), "exit": None, "stdout": "",
347 "stderr": "", "png_b64": "", "w": 0, "h": 0})
348 self._log(start, code, body)
349
350 def _exec(self, data):
351 pre = []
352
353 def grab(): # capture before taskkill so the blocker is still on screen
354 pre.append((_safe_capture(None), active_window()))
355
356 with LOCK:
357 code, out, err, error = run_ahk(data.get("script", ""),
358 data.get("timeout_ms", 60000), grab)
359 if pre:
360 (b64, w, h, note), win = pre[0]
361 else:
362 time.sleep(data.get("shot_delay_ms", 500) / 1000.0)
363 b64, w, h, note = _safe_capture(None)
364 win = active_window()
365 if note:
366 error = error + "; " + note if error else note
367 return {"exit": code, "stdout": out, "stderr": err, "png_b64": b64,
368 "w": w, "h": h, "error": error, "win": win}
369
370 def _put(self, data):
371 path = data.get("path", "")
372 blob = base64.b64decode(data.get("b64", ""))
373 parent = os.path.dirname(path)
374 if parent and not os.path.isdir(parent):
375 os.makedirs(parent)
376 with open(path, "wb") as f:
377 f.write(blob)
378 return {"bytes": len(blob), "path": os.path.abspath(path), "error": None}
379
380 def _get(self, data):
381 with open(data.get("path", ""), "rb") as f:
382 blob = f.read()
383 return {"b64": base64.b64encode(blob).decode("ascii"), "bytes": len(blob),
384 "error": None}
385
386 def _cmd(self, data):
387 with LOCK:
388 # A raw command-line string, not a list: on Windows list2cmdline would
389 # backslash-escape the embedded quotes before cmd.exe ever sees them.
390 code, out, err, error = _run("cmd.exe /c " + data.get("command", ""),
391 data.get("timeout_ms", 60000), "oem")
392 return {"exit": code, "stdout": out, "stderr": err, "error": error}
393
394 def _spawn(self, data):
395 flags = subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS
396 process = subprocess.Popen(data.get("command", ""), stdin=subprocess.DEVNULL,
397 stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL,
398 close_fds=True, creationflags=flags)
399 return {"pid": process.pid, "error": None}
400
401 def _shot(self):
402 b64, w, h, error = _safe_capture(None)
403 win = active_window()
404 return {"png_b64": b64, "w": w, "h": h, "error": error, "win": win}
405
406 def _ui(self):
407 win = active_window()
408 controls = control_tree()
409 return {"win": win, "controls": controls, "error": None}
410
411
412def keep_awake():
413 """Hold the display and system awake for as long as this process lives.
414
415 Screen blanking alone is harmless -- BitBlt still captures the composited
416 desktop -- but sleep kills the agent outright, and a locked session moves
417 the desktop to Winlogon where neither AutoHotkey nor the capture can reach.
418 """
419 ES_CONTINUOUS, ES_SYSTEM_REQUIRED, ES_DISPLAY_REQUIRED = 0x80000000, 0x1, 0x2
420 kernel32 = ctypes.windll.kernel32
421 kernel32.SetThreadExecutionState.restype = wintypes.DWORD
422 kernel32.SetThreadExecutionState.argtypes = [wintypes.DWORD]
423 return kernel32.SetThreadExecutionState(
424 ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED)
425
426
427def main():
428 user32.SetProcessDPIAware()
429 awake = keep_awake()
430 port = int(os.environ.get("WIN7_PORT", "8777"))
431 srv = ThreadingHTTPServer(("0.0.0.0", port), Handler)
432 log("win7-agent listening on 0.0.0.0:%d ahk=%s log=%s%s"
433 % (port, ahk_path(), LOG_PATH,
434 "" if awake else " (WARNING: could not inhibit sleep)"))
435 srv.serve_forever()
436
437
438if __name__ == "__main__":
439 main()
corpus/m6/native-break-controls-02/commands.jsonl created+4
...@@ -0,0 +1,4 @@
1{"command": "powershell -NoProfile -Command \"Expand-Archive -LiteralPath C:\\one-tests\\transfer.zip -DestinationPath C:\\one-tests\\runs\\capture\\notebook\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
2{"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\author.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-E1CF835F", "exit": 0, "stdout": "", "stderr": "", "error": null}
3{"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-E1CF835F -ExpectedPages 2 -UseCurrentCache -Pdf", "exit": 0, "stdout": "Read 1 sections and 2 pages.\r\n", "stderr": "", "error": null}
4{"command": "powershell -NoProfile -Command \"Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\* -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
corpus/m6/native-break-controls-02/comparison.json created+334
...@@ -0,0 +1,334 @@
1[
2 {
3 "case": 0,
4 "stored": "A",
5 "native": "A",
6 "runs": [
7 [
8 "A",
9 false
10 ]
11 ]
12 },
13 {
14 "case": 1,
15 "stored": "A\r",
16 "native": "A",
17 "runs": [
18 [
19 "A\r",
20 false
21 ]
22 ]
23 },
24 {
25 "case": 2,
26 "stored": "A\r\r",
27 "native": "A\n",
28 "runs": [
29 [
30 "A\r\r",
31 false
32 ]
33 ]
34 },
35 {
36 "case": 3,
37 "stored": "\rA",
38 "native": "\nA",
39 "runs": [
40 [
41 "\rA",
42 false
43 ]
44 ]
45 },
46 {
47 "case": 4,
48 "stored": "\rA\r",
49 "native": "\nA",
50 "runs": [
51 [
52 "\rA\r",
53 false
54 ]
55 ]
56 },
57 {
58 "case": 5,
59 "stored": "\r",
60 "native": "",
61 "runs": [
62 [
63 "\r",
64 false
65 ]
66 ]
67 },
68 {
69 "case": 6,
70 "stored": "\r\r",
71 "native": "\n",
72 "runs": [
73 [
74 "\r\r",
75 false
76 ]
77 ]
78 },
79 {
80 "case": 7,
81 "stored": "A\rB\r",
82 "native": "A\nB",
83 "runs": [
84 [
85 "A\rB\r",
86 false
87 ]
88 ]
89 },
90 {
91 "case": 8,
92 "stored": "A\rB\r",
93 "native": "A\nB",
94 "runs": [
95 [
96 "A\rB\r",
97 false
98 ]
99 ]
100 },
101 {
102 "case": 9,
103 "stored": "AB",
104 "native": "AB",
105 "runs": [
106 [
107 "AB",
108 false
109 ]
110 ]
111 },
112 {
113 "case": 10,
114 "stored": "A\rB\r",
115 "native": "A\nB",
116 "runs": [
117 [
118 "A\rB\r",
119 false
120 ]
121 ]
122 },
123 {
124 "case": 11,
125 "stored": "A\rB\r",
126 "native": "A\nB",
127 "runs": [
128 [
129 "A\rB\r",
130 false
131 ]
132 ]
133 },
134 {
135 "case": 12,
136 "stored": "A",
137 "native": "A",
138 "runs": [
139 [
140 "A",
141 true
142 ]
143 ]
144 },
145 {
146 "case": 13,
147 "stored": "A\r",
148 "native": "A",
149 "runs": [
150 [
151 "A",
152 true
153 ],
154 [
155 "\r",
156 false
157 ]
158 ]
159 },
160 {
161 "case": 14,
162 "stored": "A\r\r",
163 "native": "A\n",
164 "runs": [
165 [
166 "A",
167 true
168 ],
169 [
170 "\r\r",
171 false
172 ]
173 ]
174 },
175 {
176 "case": 15,
177 "stored": "\rA",
178 "native": "\nA",
179 "runs": [
180 [
181 "\r",
182 false
183 ],
184 [
185 "A",
186 true
187 ]
188 ]
189 },
190 {
191 "case": 16,
192 "stored": "\rA\r",
193 "native": "\nA",
194 "runs": [
195 [
196 "\r",
197 false
198 ],
199 [
200 "A",
201 true
202 ],
203 [
204 "\r",
205 false
206 ]
207 ]
208 },
209 {
210 "case": 17,
211 "stored": "\r",
212 "native": "",
213 "runs": [
214 [
215 "\r",
216 false
217 ]
218 ]
219 },
220 {
221 "case": 18,
222 "stored": "\r\r",
223 "native": "\n",
224 "runs": [
225 [
226 "\r\r",
227 false
228 ]
229 ]
230 },
231 {
232 "case": 19,
233 "stored": "A\rB\r",
234 "native": "A\nB",
235 "runs": [
236 [
237 "A",
238 true
239 ],
240 [
241 "\r",
242 false
243 ],
244 [
245 "B",
246 true
247 ],
248 [
249 "\r",
250 false
251 ]
252 ]
253 },
254 {
255 "case": 20,
256 "stored": "A\rB\r",
257 "native": "A\nB",
258 "runs": [
259 [
260 "A",
261 true
262 ],
263 [
264 "\r",
265 false
266 ],
267 [
268 "B",
269 true
270 ],
271 [
272 "\r",
273 false
274 ]
275 ]
276 },
277 {
278 "case": 21,
279 "stored": "AB",
280 "native": "AB",
281 "runs": [
282 [
283 "AB",
284 true
285 ]
286 ]
287 },
288 {
289 "case": 22,
290 "stored": "A\rB\r",
291 "native": "A\nB",
292 "runs": [
293 [
294 "A",
295 true
296 ],
297 [
298 "\r",
299 false
300 ],
301 [
302 "B",
303 true
304 ],
305 [
306 "\r",
307 false
308 ]
309 ]
310 },
311 {
312 "case": 23,
313 "stored": "A\rB\r",
314 "native": "A\nB",
315 "runs": [
316 [
317 "A",
318 true
319 ],
320 [
321 "\r",
322 false
323 ],
324 [
325 "B",
326 true
327 ],
328 [
329 "\r",
330 false
331 ]
332 ]
333 }
334]
\ No newline at end of file
corpus/m6/native-break-controls-02/format-differences.json created+1
...@@ -0,0 +1 @@
1[]
\ No newline at end of file
corpus/m6/native-break-controls-02/geometry-differences.json created+1
...@@ -0,0 +1 @@
1[]
\ No newline at end of file
corpus/m6/native-break-controls-02/health.json created+9
...@@ -0,0 +1,9 @@
1{
2 "ok": true,
3 "w": 800,
4 "h": 600,
5 "hostname": "ONE-M6-E1CF835F",
6 "ahk": "C:\\win7-agent\\vendor\\ahk\\AutoHotkey64.exe",
7 "python": "C:\\win7-agent\\vendor\\python\\python.exe",
8 "agent_sha256": "ef7ca89be026695cf4412460a2eec308b0ed253fb9245597a7fe5d6938e49f89"
9}
corpus/m6/native-break-controls-02/inputs/page-000.xml created+35
...@@ -0,0 +1,35 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{0D943231-BF59-4A9E-98CB-2F7946603AA8}{1}{B0}"><one:Title><one:OE><one:T>Styled break controls</one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108" /><one:Size width="480" height="600" /><one:OEChildren><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:14pt;font-weight:bold">A</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:14pt;font-weight:bold">A
2</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:14pt;font-weight:bold">A
3
4</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:14pt;font-weight:bold">
5A</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:14pt;font-weight:bold">
6A
7</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:14pt;font-weight:bold">
8</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:14pt;font-weight:bold">
9
10</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:14pt;font-weight:bold">A
11B
12</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:14pt;font-weight:bold">A<br>
13B<br>
14</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:14pt;font-weight:bold">A<br><br>B</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:14pt;font-weight:bold">A
15B
16</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:14pt;font-weight:bold">A
17B
18</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href="https://example.invalid/break/0"><span style="font-family:Calibri;font-size:14pt;font-weight:bold">A</span></a>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href="https://example.invalid/break/1"><span style="font-family:Calibri;font-size:14pt;font-weight:bold">A
19</span></a>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href="https://example.invalid/break/2"><span style="font-family:Calibri;font-size:14pt;font-weight:bold">A
20
21</span></a>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href="https://example.invalid/break/3"><span style="font-family:Calibri;font-size:14pt;font-weight:bold">
22A</span></a>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href="https://example.invalid/break/4"><span style="font-family:Calibri;font-size:14pt;font-weight:bold">
23A
24</span></a>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href="https://example.invalid/break/5"><span style="font-family:Calibri;font-size:14pt;font-weight:bold">
25</span></a>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href="https://example.invalid/break/6"><span style="font-family:Calibri;font-size:14pt;font-weight:bold">
26
27</span></a>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href="https://example.invalid/break/7"><span style="font-family:Calibri;font-size:14pt;font-weight:bold">A
28B
29</span></a>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href="https://example.invalid/break/8"><span style="font-family:Calibri;font-size:14pt;font-weight:bold">A<br>
30B<br>
31</span></a>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href="https://example.invalid/break/9"><span style="font-family:Calibri;font-size:14pt;font-weight:bold">A<br><br>B</span></a>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href="https://example.invalid/break/10"><span style="font-family:Calibri;font-size:14pt;font-weight:bold">A
32B
33</span></a>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href="https://example.invalid/break/11"><span style="font-family:Calibri;font-size:14pt;font-weight:bold">A
34B
35</span></a>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-break-controls-02/machine.json created+1
...@@ -0,0 +1 @@
1{"name": "m6-e1cf835f", "hostname": "ONE-M6-E1CF835F"}
corpus/m6/native-break-controls-02/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/m6/native-break-controls-02/notebook/Open Notebook.onetoc2 differ
corpus/m6/native-break-controls-02/notebook/fixture.json created+1
...@@ -0,0 +1 @@
1{"sections": ["synthetic.one"], "pages": [{"section": "synthetic.one", "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\"><one:Title><one:OE><one:T>Styled break controls</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"600\"/><one:OEChildren><one:OE><one:T><![CDATA[<span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">A</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">A\n</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">A\n\n</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">\nA</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">\nA\n</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">\n</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">\n\n</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">A\nB\n</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">A<br>\nB<br>\n</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">A<br><br>B</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">A\rB\r</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">A\r\nB\r\n</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href=\"https://example.invalid/break/0\"><span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">A</span></a>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href=\"https://example.invalid/break/1\"><span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">A\n</span></a>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href=\"https://example.invalid/break/2\"><span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">A\n\n</span></a>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href=\"https://example.invalid/break/3\"><span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">\nA</span></a>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href=\"https://example.invalid/break/4\"><span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">\nA\n</span></a>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href=\"https://example.invalid/break/5\"><span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">\n</span></a>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href=\"https://example.invalid/break/6\"><span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">\n\n</span></a>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href=\"https://example.invalid/break/7\"><span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">A\nB\n</span></a>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href=\"https://example.invalid/break/8\"><span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">A<br>\nB<br>\n</span></a>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href=\"https://example.invalid/break/9\"><span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">A<br><br>B</span></a>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href=\"https://example.invalid/break/10\"><span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">A\rB\r</span></a>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href=\"https://example.invalid/break/11\"><span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">A\r\nB\r\n</span></a>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>"}], "cases": ["A", "A\n", "A\n\n", "\nA", "\nA\n", "\n", "\n\n", "A\nB\n", "A<br>\nB<br>\n", "A<br><br>B", "A\rB\r", "A\r\nB\r\n"]}
\ No newline at end of file
corpus/m6/native-break-controls-02/notebook/synthetic.one created
Binary files /dev/null and b/corpus/m6/native-break-controls-02/notebook/synthetic.one differ
corpus/m6/native-break-controls-02/pdf-format-checks.json created+1
...@@ -0,0 +1 @@
1[]
\ No newline at end of file
corpus/m6/native-break-controls-02/read/environment.json created+7
...@@ -0,0 +1,7 @@
1{
2 "powershell": "5.1.14409.1005",
3 "schema": "xs2010",
4 "hostname": "ONE-M6-E1CF835F",
5 "cold": false,
6 "onenote": "14.0.4763.1000"
7}
corpus/m6/native-break-controls-02/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{DB3D4B97-BEAF-4F97-86BE-C6081762FF68}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-06T03:06:17.000Z" color="#B49EDE" isCurrentlyViewed="true"><one:Section name="synthetic" ID="{15FAB2C4-D17A-0351-21FC-EBE51FFC157C}{1}{B0}" path="C:\one-tests\runs\capture\notebook\synthetic.one" lastModifiedTime="2026-09-06T03:06:17.000Z" color="#8AA8E4" isCurrentlyViewed="true"><one:Page ID="{7A74AFF6-D367-00A1-05A1-CBAFE1725CF5}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T03:06:17.000Z" pageLevel="1"/><one:Page ID="{C4D53463-F8C2-44C9-9380-F3E22325E8A0}{1}{B0}" name="Styled break controls" dateTime="2026-09-06T03:05:48.000Z" lastModifiedTime="2026-09-06T03:06:11.000Z" pageLevel="1" isCurrentlyViewed="true"/></one:Section></one:Notebook>
corpus/m6/native-break-controls-02/read/page-000.pdf created
Binary files /dev/null and b/corpus/m6/native-break-controls-02/read/page-000.pdf differ
corpus/m6/native-break-controls-02/read/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{7A74AFF6-D367-00A1-05A1-CBAFE1725CF5}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T03:06:11.000Z" pageLevel="1" style="font-family:Calibri;font-size:11.0pt" lang="en-US"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="Fixture Author" lastModifiedBy="Fixture Author" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{15FAB2C4-D17A-0351-21FC-EBE51FFC157C}{23}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="191.1661224365234" height="13.4277172088623"/><one:Indents><one:Indent level="0" indent="0.0"/></one:Indents><one:OEChildren><one:OE creationTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{15FAB2C4-D17A-0351-21FC-EBE51FFC157C}{24}{B0}" alignment="left"><one:T><![CDATA[A notebook created in Rust.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-break-controls-02/read/page-001.pdf created
Binary files /dev/null and b/corpus/m6/native-break-controls-02/read/page-001.pdf differ
corpus/m6/native-break-controls-02/read/page-001.xml created+52
...@@ -0,0 +1,52 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{C4D53463-F8C2-44C9-9380-F3E22325E8A0}{1}{B0}" name="Styled break controls" dateTime="2026-09-06T03:05:48.000Z" lastModifiedTime="2026-09-06T03:06:11.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Styled break controls]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="480.0" height="683.5936279296874"/><one:OEChildren><one:OE creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>A</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<span
4style='font-weight:bold'>A</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{51}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<span
5style='font-weight:bold'>A<br>
6</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{56}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<span
7style='font-weight:bold'><br>
8A</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{61}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<span
9style='font-weight:bold'><br>
10A</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{66}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{71}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<span
11style='font-weight:bold'><br>
12</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{76}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<span
13style='font-weight:bold'>A<br>
14B</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{81}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<span
15style='font-weight:bold'>A<br>
16B</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{86}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<span
17style='font-weight:bold'>AB</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{91}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<span
18style='font-weight:bold'>A<br>
19B</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{96}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<span
20style='font-weight:bold'>A<br>
21B</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:05:50.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{101}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<a
22href="https://example.invalid/break/0"><span style='font-weight:bold;
23font-size:14.0pt'>A</span></a>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{108}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<a
24href="https://example.invalid/break/1"><span style='font-weight:bold'>A</span></a>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{114}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<a
25href="https://example.invalid/break/2"><span style='font-weight:bold'>A</span></a><span
26style='font-weight:bold'><br>
27</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{119}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<span
28style='font-weight:bold'><br>
29</span><a href="https://example.invalid/break/3"><span
30style='font-weight:bold'>A</span></a>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{124}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<span
31style='font-weight:bold'><br>
32</span><a href="https://example.invalid/break/4"><span
33style='font-weight:bold'>A</span></a>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{129}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{134}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<span
34style='font-weight:bold'><br>
35</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{139}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<a
36href="https://example.invalid/break/7"><span style='font-weight:bold'>A</span></a><span
37style='font-weight:bold'><br>
38</span><a href="https://example.invalid/break/7"><span
39style='font-weight:bold'>B</span></a>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{144}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<a
40href="https://example.invalid/break/8"><span style='font-weight:bold'>A</span></a><span
41style='font-weight:bold'><br>
42</span><a href="https://example.invalid/break/8"><span
43style='font-weight:bold'>B</span></a>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{149}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<a
44href="https://example.invalid/break/9"><span style='font-weight:bold'>AB</span></a>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{154}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<a
45href="https://example.invalid/break/10"><span style='font-weight:bold'>A</span></a><span
46style='font-weight:bold'><br>
47</span><a href="https://example.invalid/break/10"><span
48style='font-weight:bold'>B</span></a>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{159}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<a
49href="https://example.invalid/break/11"><span style='font-weight:bold'>A</span></a><span
50style='font-weight:bold'><br>
51</span><a href="https://example.invalid/break/11"><span
52style='font-weight:bold'>B</span></a>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-break-controls-02/read/payloads.json created+3
...@@ -0,0 +1,3 @@
1[
2
3]
\ No newline at end of file
corpus/m6/native-break-controls-02/run.json created+17
...@@ -0,0 +1,17 @@
1{
2 "notebook": "/Users/clo/dev/one/evidence/m6/break-controls-input-02/notebook",
3 "expected_pages": 2,
4 "author": "tools/native/pages.ps1",
5 "author_timeout_seconds": 600,
6 "base": {
7 "file": "win7-office-base.qcow2",
8 "format": "qcow2",
9 "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346",
10 "virtual_size": 68719476736
11 },
12 "scripts": {
13 "author.ps1": "dfbf0e016aa4c8486ecea9f39768c633de05ac0db8214139052ca2e9c43bbd02",
14 "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
15 "read.ps1": "fc7199ff4e01a5d18dbc6d472130006ef6f195a8f944daa33eaf6de2ac896553"
16 }
17}
corpus/m6/native-break-controls-02/scripts/author.ps1 created+42
...@@ -0,0 +1,42 @@
1param([Parameter(Mandatory=$true)][string]$Root, [Parameter(Mandatory=$true)][string]$CloneHost)
2Set-StrictMode -Version Latest
3$ErrorActionPreference = 'Stop'
4& "$PSScriptRoot\cold-current.ps1" -Root $Root -CloneHost $CloneHost
5$fixture = Get-Content (Join-Path $Root 'notebook\fixture.json') -Raw -Encoding UTF8 | ConvertFrom-Json
6$inputs = Join-Path $Root 'inputs'
7New-Item -ItemType Directory -Path $inputs | Out-Null
8$app = New-Object -ComObject OneNote.Application
9$notebookId = ''
10try {
11 $app.OpenHierarchy((Join-Path $Root 'notebook'), '', [ref]$notebookId, 0)
12 $sections = @{}
13 foreach ($path in $fixture.sections) {
14 $parts = $path.Split('/')
15 if (@($parts | Where-Object { $_ -in @('', '.', '..') -or $_.Contains('\') -or $_.Contains(':') }).Count) { throw 'Invalid fixture section path.' }
16 $parent = $notebookId
17 for ($index = 0; $index -lt $parts.Count; $index++) {
18 $id = ''
19 $app.OpenHierarchy($parts[$index], $parent, [ref]$id, $(if ($index -eq $parts.Count - 1) {3} else {2}))
20 $parent = $id
21 }
22 $sections[$path] = $id
23 }
24 $index = 0
25 foreach ($item in $fixture.pages) {
26 $pageId = ''
27 $app.CreateNewPage($sections[$item.section], [ref]$pageId, 0)
28 [xml]$xml = $item.xml.Replace('__ASSETS__', [Security.SecurityElement]::Escape((Join-Path $Root 'notebook\fixture-data')))
29 $xml.DocumentElement.SetAttribute('ID', $pageId)
30 [IO.File]::WriteAllText((Join-Path $inputs ('page-{0:d3}.xml' -f $index)), $xml.OuterXml, [Text.Encoding]::UTF8)
31 $app.UpdatePageContent($xml.OuterXml, [DateTime]::MinValue, 1, $true)
32 $index++
33 }
34 $app.SyncHierarchy($notebookId)
35 $app.CloseNotebook($notebookId, $false)
36 $notebookId = ''
37} finally {
38 if ($notebookId) { $app.CloseNotebook($notebookId, $false) }
39 [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
40 [GC]::Collect()
41 [GC]::WaitForPendingFinalizers()
42}
corpus/m6/native-break-controls-02/scripts/cold.ps1 created+27
...@@ -0,0 +1,27 @@
1param([Parameter(Mandatory=$true)][string]$Root, [string]$CloneHost = '')
2Set-StrictMode -Version Latest
3$ErrorActionPreference = 'Stop'
4$root = [IO.Path]::GetFullPath($Root).TrimEnd('\')
5if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') {
6 throw 'Choose a run directly below C:\one-tests\runs.'
7}
8if (Get-Process ONENOTE -ErrorAction SilentlyContinue) { throw 'Close OneNote before resetting its test cache.' }
9$key = 'HKCU:\Software\Microsoft\Office\14.0\OneNote'
10if ($CloneHost) {
11 if ($CloneHost -notmatch '^ONE-[A-Z0-9-]+$' -or [Environment]::MachineName -ne $CloneHost) {
12 throw 'The disposable clone hostname does not match this machine.'
13 }
14 New-Item "$key\Options\Paths" -Force | Out-Null
15 New-ItemProperty "$key\Options\Paths" -Name UnfiledNotesSection -PropertyType ExpandString -Value 'C:\one-tests\Loose.one' -Force | Out-Null
16} elseif ((Get-ItemProperty "$key\Options\Paths").UnfiledNotesSection -ne 'C:\one-tests\Loose.one' -or
17 -not (Test-Path 'C:\one-tests\profile-original-cache')) {
18 throw 'Park the personal OneNote profile before resetting the test cache.'
19}
20$cache = Join-Path $env:LOCALAPPDATA 'Microsoft\OneNote\14.0'
21$parked = Join-Path 'C:\one-tests\caches' ([IO.Path]::GetFileName($root))
22if (Test-Path $parked) { throw 'Choose a new run; its parked cache already exists.' }
23New-Item -ItemType Directory -Path 'C:\one-tests\caches' -Force | Out-Null
24if (Test-Path $cache) { Move-Item -LiteralPath $cache -Destination $parked }
25if (Test-Path "$key\OpenNotebooks") { Remove-Item "$key\OpenNotebooks" -Recurse }
26New-Item "$key\OpenNotebooks" | Out-Null
27New-ItemProperty "$key\OpenNotebooks" -Name '1' -PropertyType String -Value "$root\notebook" | Out-Null
corpus/m6/native-break-controls-02/scripts/read.ps1 created+139
...@@ -0,0 +1,139 @@
1param(
2 [Parameter(Mandatory=$true)][string]$Root,
3 [int]$ExpectedPages = -1,
4 [switch]$UseCurrentCache,
5 [switch]$Pdf,
6 [switch]$KeepOpen,
7 [string]$CloneHost = ''
8)
9Set-StrictMode -Version Latest
10$ErrorActionPreference = 'Stop'
11$root = [IO.Path]::GetFullPath($Root).TrimEnd('\')
12if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') {
13 throw 'Choose a run directly below C:\one-tests\runs.'
14}
15$notebook = Join-Path $root 'notebook'
16$output = Join-Path $root 'read'
17if (Test-Path $output) { throw 'Choose a new read destination.' }
18if ($UseCurrentCache) {
19 if ((Get-ItemProperty 'HKCU:\Software\Microsoft\Office\14.0\OneNote\Options\Paths').UnfiledNotesSection -ne 'C:\one-tests\Loose.one') {
20 throw 'Park the personal OneNote profile before reading test notebooks.'
21 }
22} else {
23 & "$PSScriptRoot\cold-current.ps1" -Root $root -CloneHost $CloneHost
24}
25New-Item -ItemType Directory -Path $output | Out-Null
26$app = New-Object -ComObject OneNote.Application
27$notebookId = ''
28$failure = $null
29try {
30 $app.OpenHierarchy($notebook, '', [ref]$notebookId, 0)
31 $process = Get-Process ONENOTE
32 @{ hostname = [Environment]::MachineName; onenote = $process.MainModule.FileVersionInfo.FileVersion;
33 powershell = $PSVersionTable.PSVersion.ToString(); schema = 'xs2010'; cold = (-not $UseCurrentCache.IsPresent) } |
34 ConvertTo-Json | Set-Content (Join-Path $output 'environment.json') -Encoding UTF8
35 $sections = @()
36 foreach ($file in @(Get-ChildItem $notebook -Recurse | Where-Object { $_.Extension -eq '.one' })) {
37 $id = ''
38 $app.OpenHierarchy($file.FullName, '', [ref]$id, 0)
39 $sections += $id
40 }
41 $deadline = [DateTime]::UtcNow.AddSeconds(300)
42 $previous = ''
43 $stableSince = [DateTime]::UtcNow
44 $settled = $false
45 do {
46 $pages = @{}
47 foreach ($section in $sections) {
48 $hierarchy = ''
49 $app.GetHierarchy($section, 4, [ref]$hierarchy, 1)
50 [xml]$xml = $hierarchy
51 foreach ($node in $xml.SelectNodes('//*[@path]')) {
52 if (-not $node.GetAttribute('path').StartsWith("$notebook\", [StringComparison]::OrdinalIgnoreCase)) {
53 throw 'OneNote opened a section outside the copied notebook.'
54 }
55 }
56 foreach ($node in $xml.SelectNodes('//*[local-name()="Page"]')) {
57 $id = $node.GetAttribute('ID')
58 $content = ''
59 $app.GetPageContent($id, [ref]$content, 3, 1)
60 $pages[$id] = $content
61 }
62 }
63 $signature = [String]::Join('|', @($pages.Keys | Sort-Object | ForEach-Object { $_ + $pages[$_] }))
64 if ($signature -ne $previous) {
65 $previous = $signature
66 $stableSince = [DateTime]::UtcNow
67 }
68 if ((($ExpectedPages -ge 0 -and $pages.Count -eq $ExpectedPages) -or
69 ($ExpectedPages -lt 0 -and $pages.Count -gt 0)) -and
70 ([DateTime]::UtcNow - $stableSince).TotalSeconds -ge 2) { $settled = $true; break }
71 Start-Sleep -Milliseconds 250
72 } while ([DateTime]::UtcNow -lt $deadline)
73 if (-not $settled -or ($ExpectedPages -ge 0 -and $pages.Count -ne $ExpectedPages) -or ($ExpectedPages -lt 0 -and $pages.Count -eq 0)) {
74 $index = 0
75 foreach ($id in @($pages.Keys | Sort-Object)) {
76 [IO.File]::WriteAllText((Join-Path $output ('unsettled-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8)
77 $index++
78 }
79 $hierarchy = ''
80 $app.GetHierarchy($notebookId, 4, [ref]$hierarchy, 1)
81 [IO.File]::WriteAllText((Join-Path $output 'unsettled-hierarchy.xml'), $hierarchy, [Text.Encoding]::UTF8)
82 throw "Expected $ExpectedPages pages; OneNote returned $($pages.Count)."
83 }
84 $index = 0
85 $payloads = @()
86 foreach ($id in @($pages.Keys | Sort-Object)) {
87 [IO.File]::WriteAllText((Join-Path $output ('page-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8)
88 if ($Pdf) {
89 $pdfPath = Join-Path $output ('page-{0:d3}.pdf' -f $index)
90 $app.NavigateTo($id, '', $false)
91 $app.Publish($id, $pdfPath, 3, '')
92 if (-not (Test-Path $pdfPath) -or (Get-Item $pdfPath).Length -eq 0) { throw 'OneNote did not publish the page PDF.' }
93 }
94 [xml]$page = $pages[$id]
95 foreach ($file in $page.SelectNodes('//*[local-name()="InsertedFile" or local-name()="MediaFile"]')) {
96 $bytes = [IO.File]::ReadAllBytes($file.GetAttribute('pathCache'))
97 $hash = [BitConverter]::ToString([Security.Cryptography.SHA256]::Create().ComputeHash($bytes)).Replace('-', '').ToLowerInvariant()
98 [IO.File]::WriteAllBytes((Join-Path $output ($hash + '.attachment')), $bytes)
99 $payloads += @{ page = $id; object = $file.ParentNode.GetAttribute('objectID');
100 kind = $file.LocalName; name = $file.GetAttribute('preferredName');
101 sha256 = $hash; bytes = $bytes.Length }
102 }
103 $index++
104 }
105 [IO.File]::WriteAllText((Join-Path $output 'payloads.json'), (ConvertTo-Json -InputObject $payloads -Depth 4), [Text.Encoding]::UTF8)
106 $all = ''
107 $app.GetHierarchy($notebookId, 4, [ref]$all, 1)
108 [xml]$finalTree = $all
109 $finalIds = @($finalTree.SelectNodes('//*[local-name()="Page"]') | ForEach-Object { $_.GetAttribute('ID') } | Sort-Object -Unique)
110 if ($finalIds.Count -ne $pages.Count -or @($finalIds | Where-Object { -not $pages.ContainsKey($_) }).Count -ne 0) {
111 throw 'The notebook hierarchy changed while collecting page evidence; repeat the cold read.'
112 }
113 [IO.File]::WriteAllText((Join-Path $output 'hierarchy.xml'), $all, [Text.Encoding]::UTF8)
114 Write-Output "Read $($sections.Count) sections and $($pages.Count) pages."
115} catch {
116 $failure = $_
117 [IO.File]::WriteAllText((Join-Path $output 'failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8)
118 throw
119} finally {
120 try {
121 try {
122 if ($notebookId -and $CloneHost) { $app.SyncHierarchy($notebookId) }
123 if ($notebookId -and -not $KeepOpen -and (-not $UseCurrentCache -or $CloneHost)) {
124 $app.CloseNotebook($notebookId, $false)
125 }
126 } catch {
127 if ($null -eq $failure) { throw }
128 [IO.File]::WriteAllText((Join-Path $output 'cleanup-failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8)
129 }
130 } finally {
131 [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
132 }
133 $app = $null
134 [GC]::Collect()
135 [GC]::WaitForPendingFinalizers()
136 if (-not $UseCurrentCache -and -not $CloneHost) {
137 Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10
138 }
139}
corpus/m6/native-break-controls-02/source.json created+20
...@@ -0,0 +1,20 @@
1[
2 {
3 "path": "Open Notebook.onetoc2",
4 "bytes": 1612,
5 "sha256": "fafa5dcb3cd827c7edd30c8ea2fbc957a59fb4d2a8b28b667a3c551c8261ab86",
6 "mtime_ns": 1788592288950419463
7 },
8 {
9 "path": "fixture.json",
10 "bytes": 4085,
11 "sha256": "1134db947e265760ce2b8878403b30a5b2331877deaf0d50dded514e27f21f06",
12 "mtime_ns": 1788663856776054389
13 },
14 {
15 "path": "synthetic.one",
16 "bytes": 3348,
17 "sha256": "b0662387c3fdc256d8dbe809e3b8f73b3586559696467fb1fff8f589095fa797",
18 "mtime_ns": 1788592288941514581
19 }
20]
corpus/m6/native-break-controls-02/teardown.json created+1
...@@ -0,0 +1 @@
1{"absent": true}
corpus/m6/native-empty-link-01/ORACLE.md created+5
...@@ -0,0 +1,5 @@
1# Empty hyperlink after a reduced native edit history
2
3This is attempt 37 of `evidence/m6/history-shrink-21`: an independently replayed seed-21 history reduced from 20 operations to insertion, hyperlink assignment, and replacement by empty text. `notebook/histories.json` contains the three operations; native XML retains an empty paragraph with its default quick style. Visible characters have neither hyperlink nor character formatting to compare.
4
5The frozen original comparator reported a hyperlink mismatch. Its saved comparison and all 37 teardown records remain in the shrink campaign. The corrected comparator passes this capture; `history-differences.json` is empty. The clone was deleted (`teardown.json`).
corpus/m6/native-empty-link-01/agent.py created+439
...@@ -0,0 +1,439 @@
1import base64
2import ctypes
3import hashlib
4import json
5import os
6import struct
7import subprocess
8import sys
9import tempfile
10import threading
11import time
12import zlib
13from ctypes import wintypes
14from http.server import ThreadingHTTPServer, BaseHTTPRequestHandler
15
16BASE = os.path.dirname(os.path.abspath(__file__))
17with open(__file__, 'rb') as source:
18 AGENT_SHA256 = hashlib.sha256(source.read()).hexdigest()
19LOCK = threading.Lock()
20
21user32 = ctypes.windll.user32
22gdi32 = ctypes.windll.gdi32
23
24SRCCOPY = 0x00CC0020
25CAPTUREBLT = 0x40000000
26BI_RGB = 0
27DIB_RGB_COLORS = 0
28
29# restype must be set on x64: the default c_int return truncates a 64-bit HANDLE.
30user32.GetDC.restype = wintypes.HDC
31user32.GetDC.argtypes = [wintypes.HWND]
32user32.ReleaseDC.restype = ctypes.c_int
33user32.ReleaseDC.argtypes = [wintypes.HWND, wintypes.HDC]
34user32.GetSystemMetrics.restype = ctypes.c_int
35user32.GetSystemMetrics.argtypes = [ctypes.c_int]
36gdi32.CreateCompatibleDC.restype = wintypes.HDC
37gdi32.CreateCompatibleDC.argtypes = [wintypes.HDC]
38gdi32.CreateCompatibleBitmap.restype = wintypes.HBITMAP
39gdi32.CreateCompatibleBitmap.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int]
40gdi32.SelectObject.restype = wintypes.HGDIOBJ
41gdi32.SelectObject.argtypes = [wintypes.HDC, wintypes.HGDIOBJ]
42gdi32.BitBlt.restype = wintypes.BOOL
43gdi32.BitBlt.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int, ctypes.c_int,
44 ctypes.c_int, wintypes.HDC, ctypes.c_int, ctypes.c_int,
45 wintypes.DWORD]
46gdi32.GetDIBits.restype = ctypes.c_int
47gdi32.GetDIBits.argtypes = [wintypes.HDC, wintypes.HBITMAP, wintypes.UINT,
48 wintypes.UINT, ctypes.c_void_p, ctypes.c_void_p,
49 wintypes.UINT]
50gdi32.DeleteObject.restype = wintypes.BOOL
51gdi32.DeleteObject.argtypes = [wintypes.HGDIOBJ]
52gdi32.DeleteDC.restype = wintypes.BOOL
53gdi32.DeleteDC.argtypes = [wintypes.HDC]
54
55WNDENUMPROC = ctypes.WINFUNCTYPE(wintypes.BOOL, wintypes.HWND, wintypes.LPARAM)
56user32.GetForegroundWindow.restype = wintypes.HWND
57user32.GetForegroundWindow.argtypes = []
58user32.GetWindowTextW.restype = ctypes.c_int
59user32.GetWindowTextW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int]
60user32.GetClassNameW.restype = ctypes.c_int
61user32.GetClassNameW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int]
62user32.GetClientRect.restype = wintypes.BOOL
63user32.GetClientRect.argtypes = [wintypes.HWND, ctypes.POINTER(wintypes.RECT)]
64user32.EnumChildWindows.restype = wintypes.BOOL
65user32.EnumChildWindows.argtypes = [wintypes.HWND, WNDENUMPROC, wintypes.LPARAM]
66
67
68class BITMAPINFOHEADER(ctypes.Structure):
69 _fields_ = [("biSize", wintypes.DWORD),
70 ("biWidth", wintypes.LONG),
71 ("biHeight", wintypes.LONG),
72 ("biPlanes", wintypes.WORD),
73 ("biBitCount", wintypes.WORD),
74 ("biCompression", wintypes.DWORD),
75 ("biSizeImage", wintypes.DWORD),
76 ("biXPelsPerMeter", wintypes.LONG),
77 ("biYPelsPerMeter", wintypes.LONG),
78 ("biClrUsed", wintypes.DWORD),
79 ("biClrImportant", wintypes.DWORD)]
80
81
82PREAMBLE = (
83 "#Requires AutoHotkey v2.0\n"
84 "#SingleInstance Off\n"
85 "#Warn All, Off\n"
86 'FileEncoding "UTF-8-RAW"\n'
87 'SendMode "Input"\n'
88 "SetWorkingDir A_ScriptDir\n"
89 'CoordMode "Mouse", "Screen"\n'
90 'CoordMode "Pixel", "Screen"\n'
91 'CoordMode "ToolTip", "Screen"\n'
92 "SetTitleMatchMode 2\n"
93 "DetectHiddenWindows true\n"
94)
95
96
97def ahk_path():
98 u64 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey64.exe")
99 u32 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey32.exe")
100 return u64 if os.path.exists(u64) else u32
101
102
103def _chunk(tag, data):
104 return (struct.pack(">I", len(data)) + tag + data +
105 struct.pack(">I", zlib.crc32(tag + data) & 0xffffffff))
106
107
108def _to_png(bgra, w, h):
109 arr = bytearray(bgra)
110 r = arr[2::4]
111 arr[2::4] = arr[0::4]
112 arr[0::4] = r
113 del arr[3::4]
114 stride = w * 3
115 mv = memoryview(arr)
116 raw = bytearray()
117 for y in range(h):
118 raw.append(0)
119 raw += mv[y * stride:(y + 1) * stride]
120 ihdr = struct.pack(">IIBBBBB", w, h, 8, 2, 0, 0, 0)
121 return (b"\x89PNG\r\n\x1a\n" + _chunk(b"IHDR", ihdr) +
122 _chunk(b"IDAT", zlib.compress(bytes(raw))) + _chunk(b"IEND", b""))
123
124
125def capture():
126 w = user32.GetSystemMetrics(0)
127 h = user32.GetSystemMetrics(1)
128 hdc = user32.GetDC(None)
129 mem = None
130 hbm = None
131 try:
132 mem = gdi32.CreateCompatibleDC(hdc)
133 hbm = gdi32.CreateCompatibleBitmap(hdc, w, h)
134 old = gdi32.SelectObject(mem, hbm)
135 gdi32.BitBlt(mem, 0, 0, w, h, hdc, 0, 0, SRCCOPY | CAPTUREBLT)
136 gdi32.SelectObject(mem, old)
137 bmi = BITMAPINFOHEADER()
138 bmi.biSize = ctypes.sizeof(BITMAPINFOHEADER)
139 bmi.biWidth = w
140 bmi.biHeight = -h # negative => top-down rows, matches screenshot orientation
141 bmi.biPlanes = 1
142 bmi.biBitCount = 32
143 bmi.biCompression = BI_RGB
144 buf = ctypes.create_string_buffer(w * h * 4)
145 if gdi32.GetDIBits(mem, hbm, 0, h, buf, ctypes.byref(bmi),
146 DIB_RGB_COLORS) == 0:
147 raise RuntimeError("GetDIBits failed")
148 data = buf.raw
149 finally:
150 if hbm:
151 gdi32.DeleteObject(hbm)
152 if mem:
153 gdi32.DeleteDC(mem)
154 user32.ReleaseDC(None, hdc)
155 return _to_png(data, w, h), w, h
156
157
158def _win_text(fn, hwnd, n=512):
159 buf = ctypes.create_unicode_buffer(n)
160 fn(hwnd, buf, n)
161 return buf.value
162
163
164def active_window():
165 hwnd = user32.GetForegroundWindow()
166 if not hwnd:
167 return {"title": "", "class": "", "dialog": False}
168 cls = _win_text(user32.GetClassNameW, hwnd)
169 return {"title": _win_text(user32.GetWindowTextW, hwnd),
170 "class": cls, "dialog": cls == "#32770"}
171
172
173def control_tree():
174 hwnd = user32.GetForegroundWindow()
175 rows = []
176
177 def add(h):
178 rect = wintypes.RECT()
179 user32.GetClientRect(h, ctypes.byref(rect))
180 rows.append((_win_text(user32.GetClassNameW, h),
181 _win_text(user32.GetWindowTextW, h),
182 rect.left, rect.top,
183 rect.right - rect.left, rect.bottom - rect.top))
184
185 if hwnd:
186 add(hwnd)
187
188 def cb(child, _lparam):
189 add(child)
190 return True
191 user32.EnumChildWindows(hwnd, WNDENUMPROC(cb), 0)
192 lines = ["%-24s %-28s %s" % ("class", "text", "l,t,w,h")]
193 for cls, text, l, t, w, h in rows:
194 lines.append("%-24s %-28s %d,%d,%d,%d" % (cls, text, l, t, w, h))
195 return "\n".join(lines)
196
197
198def _run(argv, timeout_ms, encoding, on_timeout=None):
199 def dec(b):
200 return b.decode(encoding, "replace") if b else ""
201
202 p = subprocess.Popen(argv, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
203 try:
204 out, err = p.communicate(timeout=timeout_ms / 1000.0)
205 return p.returncode, dec(out), dec(err), None
206 except subprocess.TimeoutExpired:
207 if on_timeout:
208 on_timeout()
209 subprocess.call(["taskkill", "/F", "/T", "/PID", str(p.pid)])
210 try:
211 # A process the script launched can outlive taskkill still holding the
212 # inherited stdout pipe; an unbounded wait here wedges the agent's lock.
213 out, err = p.communicate(timeout=5)
214 except subprocess.TimeoutExpired:
215 out = err = b""
216 for pipe in (p.stdout, p.stderr):
217 if pipe:
218 pipe.close()
219 msg = "timed out after %d ms, process killed" % timeout_ms
220 return None, dec(out), dec(err), msg
221
222
223def run_ahk(script, timeout_ms, on_timeout=None):
224 fd, path = tempfile.mkstemp(suffix=".ahk")
225 os.close(fd)
226 # AutoHotkey (Unicode-only) needs a UTF-8 BOM to read the file as UTF-8.
227 with open(path, "wb") as f:
228 f.write(b"\xef\xbb\xbf" + (PREAMBLE + script).encode("utf-8"))
229 try:
230 # /ErrorStdOut sends syntax errors to stderr instead of a blocking modal.
231 code, out, err, error = _run([ahk_path(), "/ErrorStdOut", path], timeout_ms,
232 "utf-8", on_timeout)
233 finally:
234 os.remove(path)
235 if error:
236 error = "script " + error
237 return code, out, err, error
238
239
240def _safe_capture(error):
241 try:
242 png, w, h = capture()
243 return base64.b64encode(png).decode("ascii"), w, h, error
244 except Exception as e:
245 note = "screenshot failed: " + repr(e)
246 return "", 0, 0, (error + "; " + note if error else note)
247
248
249LOG_PATH = os.path.join(BASE, "agent.log")
250LOG_LOCK = threading.Lock()
251
252
253def log(text, stamp=True):
254 """Console and agent.log, so a session can be reconstructed after the fact."""
255 line = time.strftime("%Y-%m-%d %H:%M:%S ") + text if stamp else text
256 with LOG_LOCK:
257 print(line, end="" if line.endswith("\n") else "\n", flush=True)
258 try:
259 with open(LOG_PATH, "a", encoding="utf-8") as f:
260 f.write(line if line.endswith("\n") else line + "\n")
261 except OSError:
262 pass # a log that cannot be written must not take the agent down
263
264
265class Handler(BaseHTTPRequestHandler):
266 def log_message(self, *a):
267 pass
268
269 def _send(self, code, obj):
270 body = json.dumps(obj).encode("utf-8")
271 self.send_response(code)
272 self.send_header("Content-Type", "application/json")
273 self.send_header("Content-Length", str(len(body)))
274 self.end_headers()
275 self.wfile.write(body)
276
277 def _log(self, start, code, body=None):
278 log("%s %s %dms exit=%s" % (self.command, self.path,
279 int((time.time() - start) * 1000), code))
280 if body:
281 log("".join(" | %s\n" % l for l in body.splitlines()), stamp=False)
282
283 def _auth_ok(self):
284 token = os.environ.get("WIN7_TOKEN")
285 return not token or self.headers.get("X-Win7-Token") == token
286
287 def _body(self):
288 n = int(self.headers.get("Content-Length") or 0)
289 raw = self.rfile.read(n) if n else b""
290 return json.loads(raw.decode("utf-8")) if raw else {}
291
292 def do_GET(self):
293 start = time.time()
294 if not self._auth_ok():
295 self._send(401, {"error": "bad token"})
296 elif self.path == "/health":
297 self._send(200, {"ok": True, "w": user32.GetSystemMetrics(0),
298 "h": user32.GetSystemMetrics(1),
299 "hostname": os.environ.get("COMPUTERNAME", ""),
300 "ahk": ahk_path(), "python": sys.executable,
301 "agent_sha256": AGENT_SHA256})
302 else:
303 self._send(404, {"error": "not found"})
304 self._log(start, None)
305
306 def do_POST(self):
307 start = time.time()
308 code = None
309 if not self._auth_ok():
310 self._send(401, {"error": "bad token"})
311 self._log(start, None)
312 return
313 try:
314 data = self._body()
315 except Exception:
316 self._send(400, {"error": "bad json"})
317 self._log(start, None)
318 return
319 body = {"/exec": data.get("script"), "/cmd": data.get("command"),
320 "/spawn": data.get("command"),
321 "/put": data.get("path"), "/get": data.get("path")}.get(self.path)
322 try:
323 if self.path == "/exec":
324 resp = self._exec(data)
325 code = resp["exit"]
326 elif self.path == "/cmd":
327 resp = self._cmd(data)
328 code = resp["exit"]
329 elif self.path == "/spawn":
330 resp = self._spawn(data)
331 code = 0
332 elif self.path == "/put":
333 resp = self._put(data)
334 elif self.path == "/get":
335 resp = self._get(data)
336 elif self.path == "/shot":
337 resp = self._shot()
338 elif self.path == "/ui":
339 resp = self._ui()
340 else:
341 self._send(404, {"error": "not found"})
342 self._log(start, None)
343 return
344 self._send(200, resp)
345 except Exception as e:
346 self._send(200, {"error": repr(e), "exit": None, "stdout": "",
347 "stderr": "", "png_b64": "", "w": 0, "h": 0})
348 self._log(start, code, body)
349
350 def _exec(self, data):
351 pre = []
352
353 def grab(): # capture before taskkill so the blocker is still on screen
354 pre.append((_safe_capture(None), active_window()))
355
356 with LOCK:
357 code, out, err, error = run_ahk(data.get("script", ""),
358 data.get("timeout_ms", 60000), grab)
359 if pre:
360 (b64, w, h, note), win = pre[0]
361 else:
362 time.sleep(data.get("shot_delay_ms", 500) / 1000.0)
363 b64, w, h, note = _safe_capture(None)
364 win = active_window()
365 if note:
366 error = error + "; " + note if error else note
367 return {"exit": code, "stdout": out, "stderr": err, "png_b64": b64,
368 "w": w, "h": h, "error": error, "win": win}
369
370 def _put(self, data):
371 path = data.get("path", "")
372 blob = base64.b64decode(data.get("b64", ""))
373 parent = os.path.dirname(path)
374 if parent and not os.path.isdir(parent):
375 os.makedirs(parent)
376 with open(path, "wb") as f:
377 f.write(blob)
378 return {"bytes": len(blob), "path": os.path.abspath(path), "error": None}
379
380 def _get(self, data):
381 with open(data.get("path", ""), "rb") as f:
382 blob = f.read()
383 return {"b64": base64.b64encode(blob).decode("ascii"), "bytes": len(blob),
384 "error": None}
385
386 def _cmd(self, data):
387 with LOCK:
388 # A raw command-line string, not a list: on Windows list2cmdline would
389 # backslash-escape the embedded quotes before cmd.exe ever sees them.
390 code, out, err, error = _run("cmd.exe /c " + data.get("command", ""),
391 data.get("timeout_ms", 60000), "oem")
392 return {"exit": code, "stdout": out, "stderr": err, "error": error}
393
394 def _spawn(self, data):
395 flags = subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS
396 process = subprocess.Popen(data.get("command", ""), stdin=subprocess.DEVNULL,
397 stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL,
398 close_fds=True, creationflags=flags)
399 return {"pid": process.pid, "error": None}
400
401 def _shot(self):
402 b64, w, h, error = _safe_capture(None)
403 win = active_window()
404 return {"png_b64": b64, "w": w, "h": h, "error": error, "win": win}
405
406 def _ui(self):
407 win = active_window()
408 controls = control_tree()
409 return {"win": win, "controls": controls, "error": None}
410
411
412def keep_awake():
413 """Hold the display and system awake for as long as this process lives.
414
415 Screen blanking alone is harmless -- BitBlt still captures the composited
416 desktop -- but sleep kills the agent outright, and a locked session moves
417 the desktop to Winlogon where neither AutoHotkey nor the capture can reach.
418 """
419 ES_CONTINUOUS, ES_SYSTEM_REQUIRED, ES_DISPLAY_REQUIRED = 0x80000000, 0x1, 0x2
420 kernel32 = ctypes.windll.kernel32
421 kernel32.SetThreadExecutionState.restype = wintypes.DWORD
422 kernel32.SetThreadExecutionState.argtypes = [wintypes.DWORD]
423 return kernel32.SetThreadExecutionState(
424 ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED)
425
426
427def main():
428 user32.SetProcessDPIAware()
429 awake = keep_awake()
430 port = int(os.environ.get("WIN7_PORT", "8777"))
431 srv = ThreadingHTTPServer(("0.0.0.0", port), Handler)
432 log("win7-agent listening on 0.0.0.0:%d ahk=%s log=%s%s"
433 % (port, ahk_path(), LOG_PATH,
434 "" if awake else " (WARNING: could not inhibit sleep)"))
435 srv.serve_forever()
436
437
438if __name__ == "__main__":
439 main()
corpus/m6/native-empty-link-01/commands.jsonl created+4
...@@ -0,0 +1,4 @@
1{"command": "powershell -NoProfile -Command \"Expand-Archive -LiteralPath C:\\one-tests\\transfer.zip -DestinationPath C:\\one-tests\\runs\\capture\\notebook\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
2{"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\author.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-A29B65F7", "exit": 0, "stdout": "", "stderr": "", "error": null}
3{"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-A29B65F7 -ExpectedPages 2 -UseCurrentCache", "exit": 0, "stdout": "Read 1 sections and 2 pages.\r\n", "stderr": "", "error": null}
4{"command": "powershell -NoProfile -Command \"Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\* -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
corpus/m6/native-empty-link-01/health.json created+9
...@@ -0,0 +1,9 @@
1{
2 "ok": true,
3 "w": 800,
4 "h": 600,
5 "hostname": "ONE-M6-A29B65F7",
6 "ahk": "C:\\win7-agent\\vendor\\ahk\\AutoHotkey64.exe",
7 "python": "C:\\win7-agent\\vendor\\python\\python.exe",
8 "agent_sha256": "ef7ca89be026695cf4412460a2eec308b0ed253fb9245597a7fe5d6938e49f89"
9}
corpus/m6/native-empty-link-01/history-differences.json created+1
...@@ -0,0 +1 @@
1[]
\ No newline at end of file
corpus/m6/native-empty-link-01/inputs/000021-00.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EE3F2786-ED24-4AEA-A83B-AD8BBD52F259}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000021</one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-empty-link-01/inputs/000021-01.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EE3F2786-ED24-4AEA-A83B-AD8BBD52F259}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000021</one:T></one:OE></one:Title><one:Outline objectID="{9258C4D4-F535-4B59-9F13-4CB5482DD286}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{9258C4D4-F535-4B59-9F13-4CB5482DD286}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">literal &lt;b&gt; &amp; &quot;quotes&quot;</span>]]></one:T></one:OE><one:OE objectID="{9258C4D4-F535-4B59-9F13-4CB5482DD286}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{9258C4D4-F535-4B59-9F13-4CB5482DD286}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{9258C4D4-F535-4B59-9F13-4CB5482DD286}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-empty-link-01/inputs/000021-02.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EE3F2786-ED24-4AEA-A83B-AD8BBD52F259}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000021</one:T></one:OE></one:Title><one:Outline objectID="{9258C4D4-F535-4B59-9F13-4CB5482DD286}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{9258C4D4-F535-4B59-9F13-4CB5482DD286}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{9258C4D4-F535-4B59-9F13-4CB5482DD286}{116}{B0}"><one:T><![CDATA[<a href="https://example.invalid/21/4?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">literal &lt;b&gt; &amp; &quot;quotes&quot;</span></a>]]></one:T></one:OE><one:OE objectID="{9258C4D4-F535-4B59-9F13-4CB5482DD286}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{9258C4D4-F535-4B59-9F13-4CB5482DD286}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{9258C4D4-F535-4B59-9F13-4CB5482DD286}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-empty-link-01/inputs/000021-03.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EE3F2786-ED24-4AEA-A83B-AD8BBD52F259}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000021</one:T></one:OE></one:Title><one:Outline objectID="{9258C4D4-F535-4B59-9F13-4CB5482DD286}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{9258C4D4-F535-4B59-9F13-4CB5482DD286}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{9258C4D4-F535-4B59-9F13-4CB5482DD286}{116}{B0}"><one:T><![CDATA[<a href="https://example.invalid/21/4?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00"></span></a>]]></one:T></one:OE><one:OE objectID="{9258C4D4-F535-4B59-9F13-4CB5482DD286}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{9258C4D4-F535-4B59-9F13-4CB5482DD286}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{9258C4D4-F535-4B59-9F13-4CB5482DD286}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-empty-link-01/machine.json created+1
...@@ -0,0 +1 @@
1{"name": "m6-a29b65f7", "hostname": "ONE-M6-A29B65F7"}
corpus/m6/native-empty-link-01/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/m6/native-empty-link-01/notebook/Open Notebook.onetoc2 differ
corpus/m6/native-empty-link-01/notebook/histories.json created+103
...@@ -0,0 +1,103 @@
1[
2 {
3 "seed": 21,
4 "title": "History 000021",
5 "initial": {
6 "paragraphs": [
7 {
8 "id": "p0",
9 "text": "Initial 0",
10 "bold": false,
11 "italic": false,
12 "underline": false,
13 "strike": false,
14 "color": "#000000",
15 "highlight": "#ffff00",
16 "font_size": 11,
17 "link": "",
18 "tag": false
19 },
20 {
21 "id": "p1",
22 "text": "Initial 1",
23 "bold": false,
24 "italic": false,
25 "underline": false,
26 "strike": false,
27 "color": "#000000",
28 "highlight": "#ffff00",
29 "font_size": 11,
30 "link": "",
31 "tag": false
32 },
33 {
34 "id": "p2",
35 "text": "Initial 2",
36 "bold": false,
37 "italic": false,
38 "underline": false,
39 "strike": false,
40 "color": "#000000",
41 "highlight": "#ffff00",
42 "font_size": 11,
43 "link": "",
44 "tag": false
45 },
46 {
47 "id": "p3",
48 "text": "Initial 3",
49 "bold": false,
50 "italic": false,
51 "underline": false,
52 "strike": false,
53 "color": "#000000",
54 "highlight": "#ffff00",
55 "font_size": 11,
56 "link": "",
57 "tag": false
58 }
59 ],
60 "table": [
61 [
62 "Cell 0,0",
63 "Cell 0,1"
64 ],
65 [
66 "Cell 1,0",
67 "Cell 1,1"
68 ]
69 ],
70 "x": 72,
71 "y": 108
72 },
73 "operations": [
74 {
75 "kind": "insert",
76 "index": 1,
77 "paragraph": {
78 "id": "new2",
79 "text": "literal <b> & \"quotes\"",
80 "bold": false,
81 "italic": false,
82 "underline": false,
83 "strike": false,
84 "color": "#000000",
85 "highlight": "#ffff00",
86 "font_size": 11,
87 "link": "",
88 "tag": false
89 }
90 },
91 {
92 "kind": "link",
93 "index": 1,
94 "value": "https://example.invalid/21/4?a=1&b=2"
95 },
96 {
97 "kind": "text",
98 "index": 1,
99 "value": ""
100 }
101 ]
102 }
103]
\ No newline at end of file
corpus/m6/native-empty-link-01/notebook/synthetic.one created
Binary files /dev/null and b/corpus/m6/native-empty-link-01/notebook/synthetic.one differ
corpus/m6/native-empty-link-01/operations.jsonl created+4
...@@ -0,0 +1,4 @@
1{"step":-1,"seed":21,"page":"{EE3F2786-ED24-4AEA-A83B-AD8BBD52F259}{1}{B0}","outline":"{9258C4D4-F535-4B59-9F13-4CB5482DD286}{39}{B0}"}
2{"step":0,"seed":21,"page":"{EE3F2786-ED24-4AEA-A83B-AD8BBD52F259}{1}{B0}","outline":"{9258C4D4-F535-4B59-9F13-4CB5482DD286}{39}{B0}"}
3{"step":1,"seed":21,"page":"{EE3F2786-ED24-4AEA-A83B-AD8BBD52F259}{1}{B0}","outline":"{9258C4D4-F535-4B59-9F13-4CB5482DD286}{39}{B0}"}
4{"step":2,"seed":21,"page":"{EE3F2786-ED24-4AEA-A83B-AD8BBD52F259}{1}{B0}","outline":"{9258C4D4-F535-4B59-9F13-4CB5482DD286}{39}{B0}"}
corpus/m6/native-empty-link-01/read/environment.json created+7
...@@ -0,0 +1,7 @@
1{
2 "powershell": "5.1.14409.1005",
3 "schema": "xs2010",
4 "hostname": "ONE-M6-A29B65F7",
5 "cold": false,
6 "onenote": "14.0.4763.1000"
7}
corpus/m6/native-empty-link-01/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{0147F156-D908-4214-A102-C9640B71AEA5}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-06T03:49:10.000Z" color="#B49EDE"><one:Section name="synthetic" ID="{60B47486-EC2F-04DB-1D5B-BD758B0E4B98}{1}{B0}" path="C:\one-tests\runs\capture\notebook\synthetic.one" lastModifiedTime="2026-09-06T03:49:10.000Z" color="#8AA8E4"><one:Page ID="{0F3A69B4-EE32-072B-3906-9D3F75800211}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T03:49:10.000Z" pageLevel="1"/><one:Page ID="{B7BFC046-0E4B-460C-B12E-01FFB854248C}{1}{B0}" name="History 000021" dateTime="2026-09-06T03:48:48.000Z" lastModifiedTime="2026-09-06T03:49:10.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/m6/native-empty-link-01/read/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{0F3A69B4-EE32-072B-3906-9D3F75800211}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T03:49:10.000Z" pageLevel="1" style="font-family:Calibri;font-size:11.0pt" lang="en-US"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="Fixture Author" lastModifiedBy="Fixture Author" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{60B47486-EC2F-04DB-1D5B-BD758B0E4B98}{23}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="191.1661224365234" height="13.4277172088623"/><one:Indents><one:Indent level="0" indent="0.0"/></one:Indents><one:OEChildren><one:OE creationTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{60B47486-EC2F-04DB-1D5B-BD758B0E4B98}{24}{B0}" alignment="left"><one:T><![CDATA[A notebook created in Rust.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-empty-link-01/read/page-001.xml created+6
...@@ -0,0 +1,6 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B7BFC046-0E4B-460C-B12E-01FFB854248C}{1}{B0}" name="History 000021" dateTime="2026-09-06T03:48:48.000Z" lastModifiedTime="2026-09-06T03:49:10.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T03:48:55.000Z" lastModifiedTime="2026-09-06T03:48:55.000Z" objectID="{CBD82314-165A-47BF-8606-E0C14D2B0453}{247}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[History 000021]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T03:48:55.000Z" objectID="{CBD82314-165A-47BF-8606-E0C14D2B0453}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="368.1299438476562" height="107.494010925293"/><one:OEChildren><one:OE creationTime="2026-09-06T03:48:55.000Z" lastModifiedTime="2026-09-06T03:48:55.000Z" objectID="{CBD82314-165A-47BF-8606-E0C14D2B0453}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:black"><one:T><![CDATA[<span
3style='background:yellow;mso-highlight:yellow'>Initial 0</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:48:55.000Z" lastModifiedTime="2026-09-06T03:48:55.000Z" objectID="{CBD82314-165A-47BF-8606-E0C14D2B0453}{116}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:48:55.000Z" lastModifiedTime="2026-09-06T03:48:55.000Z" objectID="{CBD82314-165A-47BF-8606-E0C14D2B0453}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:black"><one:T><![CDATA[<span
4style='background:yellow;mso-highlight:yellow'>Initial 1</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:48:55.000Z" lastModifiedTime="2026-09-06T03:48:55.000Z" objectID="{CBD82314-165A-47BF-8606-E0C14D2B0453}{51}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:black"><one:T><![CDATA[<span
5style='background:yellow;mso-highlight:yellow'>Initial 2</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:48:55.000Z" lastModifiedTime="2026-09-06T03:48:55.000Z" objectID="{CBD82314-165A-47BF-8606-E0C14D2B0453}{56}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:black"><one:T><![CDATA[<span
6style='background:yellow;mso-highlight:yellow'>Initial 3</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:48:55.000Z" lastModifiedTime="2026-09-06T03:48:55.000Z" objectID="{9FB1FEEB-666C-4A2D-8392-DFC2774654CF}{32}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T03:48:55.000Z" objectID="{9FB1FEEB-666C-4A2D-8392-DFC2774654CF}{33}{B0}"><one:Columns><one:Column index="0" width="180.0" isLocked="true"/><one:Column index="1" width="180.0" isLocked="true"/></one:Columns><one:Row objectID="{9FB1FEEB-666C-4A2D-8392-DFC2774654CF}{34}{B0}" lastModifiedTime="2026-09-06T03:48:55.000Z"><one:Cell lastModifiedTime="2026-09-06T03:48:55.000Z" objectID="{9FB1FEEB-666C-4A2D-8392-DFC2774654CF}{35}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T03:48:55.000Z" lastModifiedTime="2026-09-06T03:48:55.000Z" objectID="{9FB1FEEB-666C-4A2D-8392-DFC2774654CF}{38}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T03:48:55.000Z" objectID="{9FB1FEEB-666C-4A2D-8392-DFC2774654CF}{43}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T03:48:55.000Z" lastModifiedTime="2026-09-06T03:48:55.000Z" objectID="{9FB1FEEB-666C-4A2D-8392-DFC2774654CF}{46}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row objectID="{9FB1FEEB-666C-4A2D-8392-DFC2774654CF}{51}{B0}" lastModifiedTime="2026-09-06T03:48:55.000Z"><one:Cell lastModifiedTime="2026-09-06T03:48:55.000Z" objectID="{9FB1FEEB-666C-4A2D-8392-DFC2774654CF}{55}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T03:48:55.000Z" lastModifiedTime="2026-09-06T03:48:55.000Z" objectID="{9FB1FEEB-666C-4A2D-8392-DFC2774654CF}{58}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T03:48:55.000Z" objectID="{9FB1FEEB-666C-4A2D-8392-DFC2774654CF}{52}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T03:48:55.000Z" lastModifiedTime="2026-09-06T03:48:55.000Z" objectID="{9FB1FEEB-666C-4A2D-8392-DFC2774654CF}{63}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-empty-link-01/read/payloads.json created+3
...@@ -0,0 +1,3 @@
1[
2
3]
\ No newline at end of file
corpus/m6/native-empty-link-01/run.json created+17
...@@ -0,0 +1,17 @@
1{
2 "notebook": "/Users/clo/dev/one/evidence/m6/history-shrink-21/attempt-037/input",
3 "expected_pages": 2,
4 "author": "/Users/clo/dev/one/tools/native/history.ps1",
5 "author_timeout_seconds": 600,
6 "base": {
7 "file": "win7-office-base.qcow2",
8 "format": "qcow2",
9 "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346",
10 "virtual_size": 68719476736
11 },
12 "scripts": {
13 "author.ps1": "397acf4be501afc3c5cd8d64e84f0cf2a828314fb98a1d394ccdf2fe95b870c8",
14 "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
15 "read.ps1": "086789e467779add0fc071ad8c524c2b02d3d0d609aea4a41f3128cadba371e8"
16 }
17}
corpus/m6/native-empty-link-01/scripts/author.ps1 created+83
...@@ -0,0 +1,83 @@
1param([Parameter(Mandatory=$true)][string]$Root, [Parameter(Mandatory=$true)][string]$CloneHost)
2Set-StrictMode -Version Latest
3$ErrorActionPreference = 'Stop'
4& "$PSScriptRoot\cold-current.ps1" -Root $Root -CloneHost $CloneHost
5$histories = Get-Content (Join-Path $Root 'notebook\histories.json') -Raw -Encoding UTF8 | ConvertFrom-Json
6$inputs = Join-Path $Root 'inputs'
7New-Item -ItemType Directory -Path $inputs | Out-Null
8$app = New-Object -ComObject OneNote.Application
9$notebookId = ''
10$namespace = 'http://schemas.microsoft.com/office/onenote/2010/onenote'
11try {
12 $app.OpenHierarchy((Join-Path $Root 'notebook'), '', [ref]$notebookId, 0)
13 $sectionId = ''
14 $app.OpenHierarchy('synthetic.one', $notebookId, [ref]$sectionId, 0)
15 foreach ($history in $histories) {
16 $pageId = ''
17 $app.CreateNewPage($sectionId, [ref]$pageId, 0)
18 $state = $history.initial
19 $paragraphs = New-Object Collections.ArrayList
20 foreach ($paragraph in $state.paragraphs) { [void]$paragraphs.Add($paragraph) }
21 $ids = @{}
22 $outlineId = ''
23 for ($step = -1; $step -lt $history.operations.Count; $step++) {
24 if ($step -ge 0) {
25 $op = $history.operations[$step]
26 switch ($op.kind) {
27 'insert' { $paragraphs.Insert($op.index, $op.paragraph) }
28 'delete' { $paragraphs.RemoveAt($op.index) }
29 'move' { $paragraph = $paragraphs[$op.index]; $paragraphs.RemoveAt($op.index); $paragraphs.Insert($op.to, $paragraph) }
30 'position' { $state.x = $op.x; $state.y = $op.y }
31 'cell' { $state.table[$op.row][$op.column] = $op.text }
32 default { $property = $op.kind; $paragraphs[$op.index].$property = $op.value }
33 }
34 }
35 $xml = '<one:Page xmlns:one="' + $namespace + '" ID="' + $pageId + '"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>' + $history.title + '</one:T></one:OE></one:Title><one:Outline'
36 if ($outlineId) { $xml += ' objectID="' + $outlineId + '"' }
37 $xml += '><one:Position x="' + $state.x + '" y="' + $state.y + '"/><one:Size width="480" height="100"/><one:OEChildren>'
38 foreach ($paragraph in $paragraphs) {
39 $xml += '<one:OE'
40 if ($ids.ContainsKey($paragraph.id)) { $xml += ' objectID="' + $ids[$paragraph.id] + '"' }
41 $xml += '>'
42 if ($paragraph.tag) { $xml += '<one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/>' }
43 $decoration = @()
44 if ($paragraph.underline) { $decoration += 'underline' }
45 if ($paragraph.strike) { $decoration += 'line-through' }
46 if ($decoration.Count -eq 0) { $decoration = @('none') }
47 $style = 'font-family:Calibri;font-size:' + $paragraph.font_size + 'pt;font-weight:' + $(if ($paragraph.bold) {'bold'} else {'normal'}) + ';font-style:' + $(if ($paragraph.italic) {'italic'} else {'normal'}) + ';text-decoration:' + ($decoration -join ' ') + ';color:' + $paragraph.color + ';background:' + $paragraph.highlight
48 $html = '<span style="' + $style + '">' + [Security.SecurityElement]::Escape($paragraph.text) + '</span>'
49 if ($paragraph.link) { $html = '<a href="' + [Security.SecurityElement]::Escape($paragraph.link) + '">' + $html + '</a>' }
50 $xml += '<one:T><![CDATA[' + $html + ']]></one:T></one:OE>'
51 }
52 $xml += '<one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns>'
53 foreach ($row in $state.table) {
54 $xml += '<one:Row>'
55 foreach ($cell in $row) { $xml += '<one:Cell><one:OEChildren><one:OE><one:T><![CDATA[' + [Security.SecurityElement]::Escape($cell) + ']]></one:T></one:OE></one:OEChildren></one:Cell>' }
56 $xml += '</one:Row>'
57 }
58 $xml += '</one:Table></one:OE></one:OEChildren></one:Outline></one:Page>'
59 [IO.File]::WriteAllText((Join-Path $inputs ('{0:d6}-{1:d2}.xml' -f $history.seed, ($step + 1))), $xml, [Text.Encoding]::UTF8)
60 $app.UpdatePageContent($xml, [DateTime]::MinValue, 1, $true)
61 $content = ''
62 $app.GetPageContent($pageId, [ref]$content, 3, 1)
63 [xml]$document = $content
64 $manager = New-Object Xml.XmlNamespaceManager($document.NameTable)
65 $manager.AddNamespace('one', $namespace)
66 $outline = $document.SelectSingleNode('/one:Page/one:Outline', $manager)
67 $outlineId = $outline.GetAttribute('objectID')
68 $objects = @($outline.SelectNodes('one:OEChildren/one:OE[one:T]', $manager))
69 if ($objects.Count -ne $paragraphs.Count) { throw "Native paragraph count changed at seed $($history.seed), step $step." }
70 for ($index = 0; $index -lt $paragraphs.Count; $index++) { $ids[$paragraphs[$index].id] = $objects[$index].GetAttribute('objectID') }
71 $log = @{ seed = $history.seed; step = $step; page = $pageId; outline = $outlineId } | ConvertTo-Json -Compress
72 [IO.File]::AppendAllText((Join-Path $Root 'operations.jsonl'), $log + [Environment]::NewLine, [Text.Encoding]::UTF8)
73 }
74 }
75 $app.SyncHierarchy($notebookId)
76 $app.CloseNotebook($notebookId, $false)
77 $notebookId = ''
78} finally {
79 if ($notebookId) { $app.CloseNotebook($notebookId, $false) }
80 [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
81 [GC]::Collect()
82 [GC]::WaitForPendingFinalizers()
83}
corpus/m6/native-empty-link-01/scripts/cold.ps1 created+27
...@@ -0,0 +1,27 @@
1param([Parameter(Mandatory=$true)][string]$Root, [string]$CloneHost = '')
2Set-StrictMode -Version Latest
3$ErrorActionPreference = 'Stop'
4$root = [IO.Path]::GetFullPath($Root).TrimEnd('\')
5if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') {
6 throw 'Choose a run directly below C:\one-tests\runs.'
7}
8if (Get-Process ONENOTE -ErrorAction SilentlyContinue) { throw 'Close OneNote before resetting its test cache.' }
9$key = 'HKCU:\Software\Microsoft\Office\14.0\OneNote'
10if ($CloneHost) {
11 if ($CloneHost -notmatch '^ONE-[A-Z0-9-]+$' -or [Environment]::MachineName -ne $CloneHost) {
12 throw 'The disposable clone hostname does not match this machine.'
13 }
14 New-Item "$key\Options\Paths" -Force | Out-Null
15 New-ItemProperty "$key\Options\Paths" -Name UnfiledNotesSection -PropertyType ExpandString -Value 'C:\one-tests\Loose.one' -Force | Out-Null
16} elseif ((Get-ItemProperty "$key\Options\Paths").UnfiledNotesSection -ne 'C:\one-tests\Loose.one' -or
17 -not (Test-Path 'C:\one-tests\profile-original-cache')) {
18 throw 'Park the personal OneNote profile before resetting the test cache.'
19}
20$cache = Join-Path $env:LOCALAPPDATA 'Microsoft\OneNote\14.0'
21$parked = Join-Path 'C:\one-tests\caches' ([IO.Path]::GetFileName($root))
22if (Test-Path $parked) { throw 'Choose a new run; its parked cache already exists.' }
23New-Item -ItemType Directory -Path 'C:\one-tests\caches' -Force | Out-Null
24if (Test-Path $cache) { Move-Item -LiteralPath $cache -Destination $parked }
25if (Test-Path "$key\OpenNotebooks") { Remove-Item "$key\OpenNotebooks" -Recurse }
26New-Item "$key\OpenNotebooks" | Out-Null
27New-ItemProperty "$key\OpenNotebooks" -Name '1' -PropertyType String -Value "$root\notebook" | Out-Null
corpus/m6/native-empty-link-01/scripts/read.ps1 created+139
...@@ -0,0 +1,139 @@
1param(
2 [Parameter(Mandatory=$true)][string]$Root,
3 [int]$ExpectedPages = -1,
4 [switch]$UseCurrentCache,
5 [switch]$Pdf,
6 [switch]$KeepOpen,
7 [string]$CloneHost = ''
8)
9Set-StrictMode -Version Latest
10$ErrorActionPreference = 'Stop'
11$root = [IO.Path]::GetFullPath($Root).TrimEnd('\')
12if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') {
13 throw 'Choose a run directly below C:\one-tests\runs.'
14}
15$notebook = Join-Path $root 'notebook'
16$output = Join-Path $root 'read'
17if (Test-Path $output) { throw 'Choose a new read destination.' }
18if ($UseCurrentCache) {
19 if ((Get-ItemProperty 'HKCU:\Software\Microsoft\Office\14.0\OneNote\Options\Paths').UnfiledNotesSection -ne 'C:\one-tests\Loose.one') {
20 throw 'Park the personal OneNote profile before reading test notebooks.'
21 }
22} else {
23 & "$PSScriptRoot\cold-current.ps1" -Root $root -CloneHost $CloneHost
24}
25New-Item -ItemType Directory -Path $output | Out-Null
26$app = New-Object -ComObject OneNote.Application
27$notebookId = ''
28$failure = $null
29try {
30 $app.OpenHierarchy($notebook, '', [ref]$notebookId, 0)
31 $process = Get-Process ONENOTE
32 @{ hostname = [Environment]::MachineName; onenote = $process.MainModule.FileVersionInfo.FileVersion;
33 powershell = $PSVersionTable.PSVersion.ToString(); schema = 'xs2010'; cold = (-not $UseCurrentCache.IsPresent) } |
34 ConvertTo-Json | Set-Content (Join-Path $output 'environment.json') -Encoding UTF8
35 $sections = @()
36 foreach ($file in @(Get-ChildItem $notebook -Recurse | Where-Object { $_.Extension -eq '.one' })) {
37 $id = ''
38 $app.OpenHierarchy($file.FullName, '', [ref]$id, 0)
39 $sections += $id
40 }
41 $deadline = [DateTime]::UtcNow.AddSeconds(300)
42 $previous = ''
43 $stableSince = [DateTime]::UtcNow
44 $settled = $false
45 do {
46 $pages = @{}
47 foreach ($section in $sections) {
48 $hierarchy = ''
49 $app.GetHierarchy($section, 4, [ref]$hierarchy, 1)
50 [xml]$xml = $hierarchy
51 foreach ($node in $xml.SelectNodes('//*[@path]')) {
52 if (-not $node.GetAttribute('path').StartsWith("$notebook\", [StringComparison]::OrdinalIgnoreCase)) {
53 throw 'OneNote opened a section outside the copied notebook.'
54 }
55 }
56 foreach ($node in $xml.SelectNodes('//*[local-name()="Page"]')) {
57 $id = $node.GetAttribute('ID')
58 $content = ''
59 $app.GetPageContent($id, [ref]$content, 1, 1)
60 $pages[$id] = $content
61 }
62 }
63 $signature = [String]::Join('|', @($pages.Keys | Sort-Object | ForEach-Object { $_ + $pages[$_] }))
64 if ($signature -ne $previous) {
65 $previous = $signature
66 $stableSince = [DateTime]::UtcNow
67 }
68 if ((($ExpectedPages -ge 0 -and $pages.Count -eq $ExpectedPages) -or
69 ($ExpectedPages -lt 0 -and $pages.Count -gt 0)) -and
70 ([DateTime]::UtcNow - $stableSince).TotalSeconds -ge 2) { $settled = $true; break }
71 Start-Sleep -Milliseconds 250
72 } while ([DateTime]::UtcNow -lt $deadline)
73 if (-not $settled -or ($ExpectedPages -ge 0 -and $pages.Count -ne $ExpectedPages) -or ($ExpectedPages -lt 0 -and $pages.Count -eq 0)) {
74 $index = 0
75 foreach ($id in @($pages.Keys | Sort-Object)) {
76 [IO.File]::WriteAllText((Join-Path $output ('unsettled-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8)
77 $index++
78 }
79 $hierarchy = ''
80 $app.GetHierarchy($notebookId, 4, [ref]$hierarchy, 1)
81 [IO.File]::WriteAllText((Join-Path $output 'unsettled-hierarchy.xml'), $hierarchy, [Text.Encoding]::UTF8)
82 throw "Expected $ExpectedPages pages; OneNote returned $($pages.Count)."
83 }
84 $index = 0
85 $payloads = @()
86 foreach ($id in @($pages.Keys | Sort-Object)) {
87 [IO.File]::WriteAllText((Join-Path $output ('page-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8)
88 if ($Pdf) {
89 $pdfPath = Join-Path $output ('page-{0:d3}.pdf' -f $index)
90 $app.NavigateTo($id, '', $false)
91 $app.Publish($id, $pdfPath, 3, '')
92 if (-not (Test-Path $pdfPath) -or (Get-Item $pdfPath).Length -eq 0) { throw 'OneNote did not publish the page PDF.' }
93 }
94 [xml]$page = $pages[$id]
95 foreach ($file in $page.SelectNodes('//*[local-name()="InsertedFile" or local-name()="MediaFile"]')) {
96 $bytes = [IO.File]::ReadAllBytes($file.GetAttribute('pathCache'))
97 $hash = [BitConverter]::ToString([Security.Cryptography.SHA256]::Create().ComputeHash($bytes)).Replace('-', '').ToLowerInvariant()
98 [IO.File]::WriteAllBytes((Join-Path $output ($hash + '.attachment')), $bytes)
99 $payloads += @{ page = $id; object = $file.ParentNode.GetAttribute('objectID');
100 kind = $file.LocalName; name = $file.GetAttribute('preferredName');
101 sha256 = $hash; bytes = $bytes.Length }
102 }
103 $index++
104 }
105 [IO.File]::WriteAllText((Join-Path $output 'payloads.json'), (ConvertTo-Json -InputObject $payloads -Depth 4), [Text.Encoding]::UTF8)
106 $all = ''
107 $app.GetHierarchy($notebookId, 4, [ref]$all, 1)
108 [xml]$finalTree = $all
109 $finalIds = @($finalTree.SelectNodes('//*[local-name()="Page"]') | ForEach-Object { $_.GetAttribute('ID') } | Sort-Object -Unique)
110 if ($finalIds.Count -ne $pages.Count -or @($finalIds | Where-Object { -not $pages.ContainsKey($_) }).Count -ne 0) {
111 throw 'The notebook hierarchy changed while collecting page evidence; repeat the cold read.'
112 }
113 [IO.File]::WriteAllText((Join-Path $output 'hierarchy.xml'), $all, [Text.Encoding]::UTF8)
114 Write-Output "Read $($sections.Count) sections and $($pages.Count) pages."
115} catch {
116 $failure = $_
117 [IO.File]::WriteAllText((Join-Path $output 'failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8)
118 throw
119} finally {
120 try {
121 try {
122 if ($notebookId -and $CloneHost) { $app.SyncHierarchy($notebookId) }
123 if ($notebookId -and -not $KeepOpen -and (-not $UseCurrentCache -or $CloneHost)) {
124 $app.CloseNotebook($notebookId, $false)
125 }
126 } catch {
127 if ($null -eq $failure) { throw }
128 [IO.File]::WriteAllText((Join-Path $output 'cleanup-failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8)
129 }
130 } finally {
131 [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
132 }
133 $app = $null
134 [GC]::Collect()
135 [GC]::WaitForPendingFinalizers()
136 if (-not $UseCurrentCache -and -not $CloneHost) {
137 Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10
138 }
139}
corpus/m6/native-empty-link-01/source.json created+20
...@@ -0,0 +1,20 @@
1[
2 {
3 "path": "Open Notebook.onetoc2",
4 "bytes": 1612,
5 "sha256": "fafa5dcb3cd827c7edd30c8ea2fbc957a59fb4d2a8b28b667a3c551c8261ab86",
6 "mtime_ns": 1788592288950419463
7 },
8 {
9 "path": "histories.json",
10 "bytes": 2205,
11 "sha256": "dc7284d1d419a529f16898ace54434486dedda3e7cd1cdc035e90d6c51a69a76",
12 "mtime_ns": 1788666437865233873
13 },
14 {
15 "path": "synthetic.one",
16 "bytes": 3348,
17 "sha256": "b0662387c3fdc256d8dbe809e3b8f73b3586559696467fb1fff8f589095fa797",
18 "mtime_ns": 1788592288941514581
19 }
20]
corpus/m6/native-empty-link-01/teardown.json created+1
...@@ -0,0 +1 @@
1{"absent": true}
corpus/m6/native-expanded-control-ui-01/ORACLE.md created+16
...@@ -0,0 +1,16 @@
1# Native paragraph expansion control
2
3The input is `../native-features-01/notebook`. A fresh OneNote 14.0.4763.1000
4clone opened it, and the paragraph handle was double-clicked as recorded in
5`ui-operation.json`. `expanded.png` shows both descendants visible.
6
7The selected paragraph reports `collapsed="1"` in `before-read` XML and omits
8that attribute in `read` XML. Both captures retain the child and grandchild.
9The copied `Features.one` is byte-identical to the input. Native PDF publication
10still hides the descendants in both captures, despite the expanded desktop view.
11Thus transient native view state and the PDF rendering are distinct oracles.
12`tools/test_document_oracle.py` locks in these observations.
13
14A preceding COM experiment accepted `collapsed="false"` in UpdatePageContent
15without changing the returned collapse state. Its failure evidence remains in
16`evidence/m6/native-expanded-control-03`; it is not an expansion control.
corpus/m6/native-expanded-control-ui-01/agent.py created+439
...@@ -0,0 +1,439 @@
1import base64
2import ctypes
3import hashlib
4import json
5import os
6import struct
7import subprocess
8import sys
9import tempfile
10import threading
11import time
12import zlib
13from ctypes import wintypes
14from http.server import ThreadingHTTPServer, BaseHTTPRequestHandler
15
16BASE = os.path.dirname(os.path.abspath(__file__))
17with open(__file__, 'rb') as source:
18 AGENT_SHA256 = hashlib.sha256(source.read()).hexdigest()
19LOCK = threading.Lock()
20
21user32 = ctypes.windll.user32
22gdi32 = ctypes.windll.gdi32
23
24SRCCOPY = 0x00CC0020
25CAPTUREBLT = 0x40000000
26BI_RGB = 0
27DIB_RGB_COLORS = 0
28
29# restype must be set on x64: the default c_int return truncates a 64-bit HANDLE.
30user32.GetDC.restype = wintypes.HDC
31user32.GetDC.argtypes = [wintypes.HWND]
32user32.ReleaseDC.restype = ctypes.c_int
33user32.ReleaseDC.argtypes = [wintypes.HWND, wintypes.HDC]
34user32.GetSystemMetrics.restype = ctypes.c_int
35user32.GetSystemMetrics.argtypes = [ctypes.c_int]
36gdi32.CreateCompatibleDC.restype = wintypes.HDC
37gdi32.CreateCompatibleDC.argtypes = [wintypes.HDC]
38gdi32.CreateCompatibleBitmap.restype = wintypes.HBITMAP
39gdi32.CreateCompatibleBitmap.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int]
40gdi32.SelectObject.restype = wintypes.HGDIOBJ
41gdi32.SelectObject.argtypes = [wintypes.HDC, wintypes.HGDIOBJ]
42gdi32.BitBlt.restype = wintypes.BOOL
43gdi32.BitBlt.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int, ctypes.c_int,
44 ctypes.c_int, wintypes.HDC, ctypes.c_int, ctypes.c_int,
45 wintypes.DWORD]
46gdi32.GetDIBits.restype = ctypes.c_int
47gdi32.GetDIBits.argtypes = [wintypes.HDC, wintypes.HBITMAP, wintypes.UINT,
48 wintypes.UINT, ctypes.c_void_p, ctypes.c_void_p,
49 wintypes.UINT]
50gdi32.DeleteObject.restype = wintypes.BOOL
51gdi32.DeleteObject.argtypes = [wintypes.HGDIOBJ]
52gdi32.DeleteDC.restype = wintypes.BOOL
53gdi32.DeleteDC.argtypes = [wintypes.HDC]
54
55WNDENUMPROC = ctypes.WINFUNCTYPE(wintypes.BOOL, wintypes.HWND, wintypes.LPARAM)
56user32.GetForegroundWindow.restype = wintypes.HWND
57user32.GetForegroundWindow.argtypes = []
58user32.GetWindowTextW.restype = ctypes.c_int
59user32.GetWindowTextW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int]
60user32.GetClassNameW.restype = ctypes.c_int
61user32.GetClassNameW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int]
62user32.GetClientRect.restype = wintypes.BOOL
63user32.GetClientRect.argtypes = [wintypes.HWND, ctypes.POINTER(wintypes.RECT)]
64user32.EnumChildWindows.restype = wintypes.BOOL
65user32.EnumChildWindows.argtypes = [wintypes.HWND, WNDENUMPROC, wintypes.LPARAM]
66
67
68class BITMAPINFOHEADER(ctypes.Structure):
69 _fields_ = [("biSize", wintypes.DWORD),
70 ("biWidth", wintypes.LONG),
71 ("biHeight", wintypes.LONG),
72 ("biPlanes", wintypes.WORD),
73 ("biBitCount", wintypes.WORD),
74 ("biCompression", wintypes.DWORD),
75 ("biSizeImage", wintypes.DWORD),
76 ("biXPelsPerMeter", wintypes.LONG),
77 ("biYPelsPerMeter", wintypes.LONG),
78 ("biClrUsed", wintypes.DWORD),
79 ("biClrImportant", wintypes.DWORD)]
80
81
82PREAMBLE = (
83 "#Requires AutoHotkey v2.0\n"
84 "#SingleInstance Off\n"
85 "#Warn All, Off\n"
86 'FileEncoding "UTF-8-RAW"\n'
87 'SendMode "Input"\n'
88 "SetWorkingDir A_ScriptDir\n"
89 'CoordMode "Mouse", "Screen"\n'
90 'CoordMode "Pixel", "Screen"\n'
91 'CoordMode "ToolTip", "Screen"\n'
92 "SetTitleMatchMode 2\n"
93 "DetectHiddenWindows true\n"
94)
95
96
97def ahk_path():
98 u64 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey64.exe")
99 u32 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey32.exe")
100 return u64 if os.path.exists(u64) else u32
101
102
103def _chunk(tag, data):
104 return (struct.pack(">I", len(data)) + tag + data +
105 struct.pack(">I", zlib.crc32(tag + data) & 0xffffffff))
106
107
108def _to_png(bgra, w, h):
109 arr = bytearray(bgra)
110 r = arr[2::4]
111 arr[2::4] = arr[0::4]
112 arr[0::4] = r
113 del arr[3::4]
114 stride = w * 3
115 mv = memoryview(arr)
116 raw = bytearray()
117 for y in range(h):
118 raw.append(0)
119 raw += mv[y * stride:(y + 1) * stride]
120 ihdr = struct.pack(">IIBBBBB", w, h, 8, 2, 0, 0, 0)
121 return (b"\x89PNG\r\n\x1a\n" + _chunk(b"IHDR", ihdr) +
122 _chunk(b"IDAT", zlib.compress(bytes(raw))) + _chunk(b"IEND", b""))
123
124
125def capture():
126 w = user32.GetSystemMetrics(0)
127 h = user32.GetSystemMetrics(1)
128 hdc = user32.GetDC(None)
129 mem = None
130 hbm = None
131 try:
132 mem = gdi32.CreateCompatibleDC(hdc)
133 hbm = gdi32.CreateCompatibleBitmap(hdc, w, h)
134 old = gdi32.SelectObject(mem, hbm)
135 gdi32.BitBlt(mem, 0, 0, w, h, hdc, 0, 0, SRCCOPY | CAPTUREBLT)
136 gdi32.SelectObject(mem, old)
137 bmi = BITMAPINFOHEADER()
138 bmi.biSize = ctypes.sizeof(BITMAPINFOHEADER)
139 bmi.biWidth = w
140 bmi.biHeight = -h # negative => top-down rows, matches screenshot orientation
141 bmi.biPlanes = 1
142 bmi.biBitCount = 32
143 bmi.biCompression = BI_RGB
144 buf = ctypes.create_string_buffer(w * h * 4)
145 if gdi32.GetDIBits(mem, hbm, 0, h, buf, ctypes.byref(bmi),
146 DIB_RGB_COLORS) == 0:
147 raise RuntimeError("GetDIBits failed")
148 data = buf.raw
149 finally:
150 if hbm:
151 gdi32.DeleteObject(hbm)
152 if mem:
153 gdi32.DeleteDC(mem)
154 user32.ReleaseDC(None, hdc)
155 return _to_png(data, w, h), w, h
156
157
158def _win_text(fn, hwnd, n=512):
159 buf = ctypes.create_unicode_buffer(n)
160 fn(hwnd, buf, n)
161 return buf.value
162
163
164def active_window():
165 hwnd = user32.GetForegroundWindow()
166 if not hwnd:
167 return {"title": "", "class": "", "dialog": False}
168 cls = _win_text(user32.GetClassNameW, hwnd)
169 return {"title": _win_text(user32.GetWindowTextW, hwnd),
170 "class": cls, "dialog": cls == "#32770"}
171
172
173def control_tree():
174 hwnd = user32.GetForegroundWindow()
175 rows = []
176
177 def add(h):
178 rect = wintypes.RECT()
179 user32.GetClientRect(h, ctypes.byref(rect))
180 rows.append((_win_text(user32.GetClassNameW, h),
181 _win_text(user32.GetWindowTextW, h),
182 rect.left, rect.top,
183 rect.right - rect.left, rect.bottom - rect.top))
184
185 if hwnd:
186 add(hwnd)
187
188 def cb(child, _lparam):
189 add(child)
190 return True
191 user32.EnumChildWindows(hwnd, WNDENUMPROC(cb), 0)
192 lines = ["%-24s %-28s %s" % ("class", "text", "l,t,w,h")]
193 for cls, text, l, t, w, h in rows:
194 lines.append("%-24s %-28s %d,%d,%d,%d" % (cls, text, l, t, w, h))
195 return "\n".join(lines)
196
197
198def _run(argv, timeout_ms, encoding, on_timeout=None):
199 def dec(b):
200 return b.decode(encoding, "replace") if b else ""
201
202 p = subprocess.Popen(argv, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
203 try:
204 out, err = p.communicate(timeout=timeout_ms / 1000.0)
205 return p.returncode, dec(out), dec(err), None
206 except subprocess.TimeoutExpired:
207 if on_timeout:
208 on_timeout()
209 subprocess.call(["taskkill", "/F", "/T", "/PID", str(p.pid)])
210 try:
211 # A process the script launched can outlive taskkill still holding the
212 # inherited stdout pipe; an unbounded wait here wedges the agent's lock.
213 out, err = p.communicate(timeout=5)
214 except subprocess.TimeoutExpired:
215 out = err = b""
216 for pipe in (p.stdout, p.stderr):
217 if pipe:
218 pipe.close()
219 msg = "timed out after %d ms, process killed" % timeout_ms
220 return None, dec(out), dec(err), msg
221
222
223def run_ahk(script, timeout_ms, on_timeout=None):
224 fd, path = tempfile.mkstemp(suffix=".ahk")
225 os.close(fd)
226 # AutoHotkey (Unicode-only) needs a UTF-8 BOM to read the file as UTF-8.
227 with open(path, "wb") as f:
228 f.write(b"\xef\xbb\xbf" + (PREAMBLE + script).encode("utf-8"))
229 try:
230 # /ErrorStdOut sends syntax errors to stderr instead of a blocking modal.
231 code, out, err, error = _run([ahk_path(), "/ErrorStdOut", path], timeout_ms,
232 "utf-8", on_timeout)
233 finally:
234 os.remove(path)
235 if error:
236 error = "script " + error
237 return code, out, err, error
238
239
240def _safe_capture(error):
241 try:
242 png, w, h = capture()
243 return base64.b64encode(png).decode("ascii"), w, h, error
244 except Exception as e:
245 note = "screenshot failed: " + repr(e)
246 return "", 0, 0, (error + "; " + note if error else note)
247
248
249LOG_PATH = os.path.join(BASE, "agent.log")
250LOG_LOCK = threading.Lock()
251
252
253def log(text, stamp=True):
254 """Console and agent.log, so a session can be reconstructed after the fact."""
255 line = time.strftime("%Y-%m-%d %H:%M:%S ") + text if stamp else text
256 with LOG_LOCK:
257 print(line, end="" if line.endswith("\n") else "\n", flush=True)
258 try:
259 with open(LOG_PATH, "a", encoding="utf-8") as f:
260 f.write(line if line.endswith("\n") else line + "\n")
261 except OSError:
262 pass # a log that cannot be written must not take the agent down
263
264
265class Handler(BaseHTTPRequestHandler):
266 def log_message(self, *a):
267 pass
268
269 def _send(self, code, obj):
270 body = json.dumps(obj).encode("utf-8")
271 self.send_response(code)
272 self.send_header("Content-Type", "application/json")
273 self.send_header("Content-Length", str(len(body)))
274 self.end_headers()
275 self.wfile.write(body)
276
277 def _log(self, start, code, body=None):
278 log("%s %s %dms exit=%s" % (self.command, self.path,
279 int((time.time() - start) * 1000), code))
280 if body:
281 log("".join(" | %s\n" % l for l in body.splitlines()), stamp=False)
282
283 def _auth_ok(self):
284 token = os.environ.get("WIN7_TOKEN")
285 return not token or self.headers.get("X-Win7-Token") == token
286
287 def _body(self):
288 n = int(self.headers.get("Content-Length") or 0)
289 raw = self.rfile.read(n) if n else b""
290 return json.loads(raw.decode("utf-8")) if raw else {}
291
292 def do_GET(self):
293 start = time.time()
294 if not self._auth_ok():
295 self._send(401, {"error": "bad token"})
296 elif self.path == "/health":
297 self._send(200, {"ok": True, "w": user32.GetSystemMetrics(0),
298 "h": user32.GetSystemMetrics(1),
299 "hostname": os.environ.get("COMPUTERNAME", ""),
300 "ahk": ahk_path(), "python": sys.executable,
301 "agent_sha256": AGENT_SHA256})
302 else:
303 self._send(404, {"error": "not found"})
304 self._log(start, None)
305
306 def do_POST(self):
307 start = time.time()
308 code = None
309 if not self._auth_ok():
310 self._send(401, {"error": "bad token"})
311 self._log(start, None)
312 return
313 try:
314 data = self._body()
315 except Exception:
316 self._send(400, {"error": "bad json"})
317 self._log(start, None)
318 return
319 body = {"/exec": data.get("script"), "/cmd": data.get("command"),
320 "/spawn": data.get("command"),
321 "/put": data.get("path"), "/get": data.get("path")}.get(self.path)
322 try:
323 if self.path == "/exec":
324 resp = self._exec(data)
325 code = resp["exit"]
326 elif self.path == "/cmd":
327 resp = self._cmd(data)
328 code = resp["exit"]
329 elif self.path == "/spawn":
330 resp = self._spawn(data)
331 code = 0
332 elif self.path == "/put":
333 resp = self._put(data)
334 elif self.path == "/get":
335 resp = self._get(data)
336 elif self.path == "/shot":
337 resp = self._shot()
338 elif self.path == "/ui":
339 resp = self._ui()
340 else:
341 self._send(404, {"error": "not found"})
342 self._log(start, None)
343 return
344 self._send(200, resp)
345 except Exception as e:
346 self._send(200, {"error": repr(e), "exit": None, "stdout": "",
347 "stderr": "", "png_b64": "", "w": 0, "h": 0})
348 self._log(start, code, body)
349
350 def _exec(self, data):
351 pre = []
352
353 def grab(): # capture before taskkill so the blocker is still on screen
354 pre.append((_safe_capture(None), active_window()))
355
356 with LOCK:
357 code, out, err, error = run_ahk(data.get("script", ""),
358 data.get("timeout_ms", 60000), grab)
359 if pre:
360 (b64, w, h, note), win = pre[0]
361 else:
362 time.sleep(data.get("shot_delay_ms", 500) / 1000.0)
363 b64, w, h, note = _safe_capture(None)
364 win = active_window()
365 if note:
366 error = error + "; " + note if error else note
367 return {"exit": code, "stdout": out, "stderr": err, "png_b64": b64,
368 "w": w, "h": h, "error": error, "win": win}
369
370 def _put(self, data):
371 path = data.get("path", "")
372 blob = base64.b64decode(data.get("b64", ""))
373 parent = os.path.dirname(path)
374 if parent and not os.path.isdir(parent):
375 os.makedirs(parent)
376 with open(path, "wb") as f:
377 f.write(blob)
378 return {"bytes": len(blob), "path": os.path.abspath(path), "error": None}
379
380 def _get(self, data):
381 with open(data.get("path", ""), "rb") as f:
382 blob = f.read()
383 return {"b64": base64.b64encode(blob).decode("ascii"), "bytes": len(blob),
384 "error": None}
385
386 def _cmd(self, data):
387 with LOCK:
388 # A raw command-line string, not a list: on Windows list2cmdline would
389 # backslash-escape the embedded quotes before cmd.exe ever sees them.
390 code, out, err, error = _run("cmd.exe /c " + data.get("command", ""),
391 data.get("timeout_ms", 60000), "oem")
392 return {"exit": code, "stdout": out, "stderr": err, "error": error}
393
394 def _spawn(self, data):
395 flags = subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS
396 process = subprocess.Popen(data.get("command", ""), stdin=subprocess.DEVNULL,
397 stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL,
398 close_fds=True, creationflags=flags)
399 return {"pid": process.pid, "error": None}
400
401 def _shot(self):
402 b64, w, h, error = _safe_capture(None)
403 win = active_window()
404 return {"png_b64": b64, "w": w, "h": h, "error": error, "win": win}
405
406 def _ui(self):
407 win = active_window()
408 controls = control_tree()
409 return {"win": win, "controls": controls, "error": None}
410
411
412def keep_awake():
413 """Hold the display and system awake for as long as this process lives.
414
415 Screen blanking alone is harmless -- BitBlt still captures the composited
416 desktop -- but sleep kills the agent outright, and a locked session moves
417 the desktop to Winlogon where neither AutoHotkey nor the capture can reach.
418 """
419 ES_CONTINUOUS, ES_SYSTEM_REQUIRED, ES_DISPLAY_REQUIRED = 0x80000000, 0x1, 0x2
420 kernel32 = ctypes.windll.kernel32
421 kernel32.SetThreadExecutionState.restype = wintypes.DWORD
422 kernel32.SetThreadExecutionState.argtypes = [wintypes.DWORD]
423 return kernel32.SetThreadExecutionState(
424 ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED)
425
426
427def main():
428 user32.SetProcessDPIAware()
429 awake = keep_awake()
430 port = int(os.environ.get("WIN7_PORT", "8777"))
431 srv = ThreadingHTTPServer(("0.0.0.0", port), Handler)
432 log("win7-agent listening on 0.0.0.0:%d ahk=%s log=%s%s"
433 % (port, ahk_path(), LOG_PATH,
434 "" if awake else " (WARNING: could not inhibit sleep)"))
435 srv.serve_forever()
436
437
438if __name__ == "__main__":
439 main()
corpus/m6/native-expanded-control-ui-01/before-read/4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2.attachment created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/before-read/4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2.attachment differ
corpus/m6/native-expanded-control-ui-01/before-read/56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9.attachment created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/before-read/56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9.attachment differ
corpus/m6/native-expanded-control-ui-01/before-read/environment.json created+7
...@@ -0,0 +1,7 @@
1{
2 "powershell": "5.1.14409.1005",
3 "schema": "xs2010",
4 "hostname": "ONE-M6-DB65123D",
5 "cold": true,
6 "onenote": "14.0.4763.1000"
7}
corpus/m6/native-expanded-control-ui-01/before-read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{4BF16F46-C46E-4B44-8A4C-F7501E2BD91C}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-06T06:00:50.000Z" color="#B49EDE" isCurrentlyViewed="true"><one:Section name="synthetic" ID="{E20AF8E2-158C-0839-31E9-2755DCDB7C1E}{1}{B0}" path="C:\one-tests\runs\capture\notebook\synthetic.one" lastModifiedTime="2026-09-06T06:00:21.000Z" color="#8AA8E4"><one:Page ID="{8D84E5D0-1791-0BC9-15B4-071F22553597}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T06:00:21.000Z" pageLevel="1"/></one:Section><one:Section name="Features" ID="{24C923D7-8942-0504-0B50-AD30C0CEDB03}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Features.one" lastModifiedTime="2026-09-06T06:00:22.000Z" color="#91BAAE"><one:Page ID="{270215AB-0A1A-01FE-144C-7AB0BD678F13}{1}{B0}" name="Image png" dateTime="2026-09-06T02:25:40.000Z" lastModifiedTime="2026-09-06T06:00:21.000Z" pageLevel="1"/><one:Page ID="{45CD2B75-3511-0E18-1ED1-A4F292E98BC8}{1}{B0}" name="Image jpg" dateTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T06:00:21.000Z" pageLevel="1"/><one:Page ID="{ECFFF87F-0CB5-003C-3076-4C1C6F935479}{1}{B0}" name="Image bmp" dateTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T06:00:21.000Z" pageLevel="1"/><one:Page ID="{43868DDB-8EC8-0AFB-0F81-A01966A6BDCA}{1}{B0}" name="Image tiff" dateTime="2026-09-06T02:25:43.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1"/><one:Page ID="{8A48861A-496F-05FB-36BA-710F3EF7D51E}{1}{B0}" name="Image gif" dateTime="2026-09-06T02:25:44.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1"/><one:Page ID="{8E838762-DE34-0E40-1EE3-4325D5F46BAB}{1}{B0}" name="Image role background=false, printout=false" dateTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1"/><one:Page ID="{59B2724D-8424-0624-39D2-34278D058FD8}{1}{B0}" name="Image role background=true, printout=false" dateTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1"/><one:Page ID="{CE4DF6C2-E2BE-0A5F-3CE2-EF28102ADAEC}{1}{B0}" name="Image role background=false, printout=true" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1"/><one:Page ID="{9C66A2F4-9062-052D-2916-5D209A0B1FD3}{1}{B0}" name="Image role background=true, printout=true" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1"/><one:Page ID="{34619019-150E-06C2-3149-42A4E92723BF}{1}{B0}" name="Files and recording" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1"/><one:Page ID="{D0D04EF0-C565-0ED4-2AB4-711BAE6015ED}{1}{B0}" name="Paragraph controls" dateTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1"/><one:Page ID="{F40778E5-4A16-0CC5-06BF-5A46F1FF9CA8}{1}{B0}" name="Numbering controls" dateTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1"/><one:Page ID="{0C38A86A-33B4-0534-16DA-9FFD9AF41EBE}{1}{B0}" name="Task controls" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1"/></one:Section><one:Section name="Empty" ID="{F53553BB-CE15-0E8C-0162-AE67A5DC3DD8}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Empty.one" lastModifiedTime="2026-09-06T06:00:23.000Z" color="#9BBBD2"/><one:SectionGroup name="fixture-data" ID="{1219496D-4161-403C-BDA7-CA7387C61F4B}{1}{B0}" path="C:\one-tests\runs\capture\notebook\fixture-data" lastModifiedTime="2026-09-06T06:00:50.000Z"/><one:SectionGroup name="Group A" ID="{E031C0DA-4BB2-4566-85BD-693EC68DCDD1}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Group A" lastModifiedTime="2026-09-06T06:00:23.000Z" isCurrentlyViewed="true"><one:Section name="Duplicate" ID="{3596E26B-D5D1-064E-258F-FFFB08050A84}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Group A\Duplicate.one" lastModifiedTime="2026-09-06T06:00:23.000Z" color="#F6B078" isCurrentlyViewed="true"><one:Page ID="{FAF3951F-EA54-0DDA-2D09-FE9DEFE4F065}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:23.000Z" pageLevel="1" isCurrentlyViewed="true"/><one:Page ID="{0DB8AF78-686C-0C01-3D52-A89559FC5885}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:23.000Z" pageLevel="2"/><one:Page ID="{35E4289B-AD1E-043C-0470-E53BC236A7A8}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:23.000Z" pageLevel="3"/></one:Section></one:SectionGroup><one:SectionGroup name="Group B" ID="{08640112-567F-4B02-89D6-B5A950FBD58C}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Group B" lastModifiedTime="2026-09-06T06:00:23.000Z"><one:SectionGroup name="Nested" ID="{768598DE-CCF9-4ABC-AD34-CF30125DDE09}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Group B\Nested" lastModifiedTime="2026-09-06T06:00:23.000Z"><one:Section name="Duplicate" ID="{072C7CCD-900E-082F-1F1A-1EDE846B79A8}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Group B\Nested\Duplicate.one" lastModifiedTime="2026-09-06T06:00:23.000Z" color="#D5A4BB"><one:Page ID="{EEC0EBD1-BCA4-04CF-1581-C1F540980D0E}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:23.000Z" pageLevel="1"/><one:Page ID="{94D4815F-8289-04F4-084F-3C20BF91CF04}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:23.000Z" pageLevel="2"/><one:Page ID="{03B62394-C1B5-04AE-16E3-995530425C92}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T06:00:23.000Z" pageLevel="3"/></one:Section></one:SectionGroup></one:SectionGroup></one:Notebook>
corpus/m6/native-expanded-control-ui-01/before-read/page-000.pdf created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/before-read/page-000.pdf differ
corpus/m6/native-expanded-control-ui-01/before-read/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{03B62394-C1B5-04AE-16E3-995530425C92}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T06:00:23.000Z" pageLevel="3" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{F035D946-2927-0940-13DF-12AD3F9C2F17}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{F035D946-2927-0940-13DF-12AD3F9C2F17}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="266.8237915039062" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{F035D946-2927-0940-13DF-12AD3F9C2F17}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group B/Nested/Duplicate.one, level 3]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-expanded-control-ui-01/before-read/page-001.pdf created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/before-read/page-001.pdf differ
corpus/m6/native-expanded-control-ui-01/before-read/page-001.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{0C38A86A-33B4-0534-16DA-9FFD9AF41EBE}{1}{B0}" name="Task controls" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{5ECE6FF4-5D6D-0D00-32A4-C04E2864B9AA}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Task controls]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{5ECE6FF4-5D6D-0D00-32A4-C04E2864B9AA}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="151.0606994628906" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{5ECE6FF4-5D6D-0D00-32A4-C04E2864B9AA}{40}{B0}" alignment="left" quickStyleIndex="0"><one:OutlookTask startDate="2020-01-02T00:00:00.000Z" dueDate="2020-01-03T00:00:00.000Z" guidTask="{45AF40E3-1D54-463C-90D3-C454F2F71A2E}" completed="false" disabled="true" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[Disabled standalone task]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-expanded-control-ui-01/before-read/page-002.pdf created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/before-read/page-002.pdf differ
corpus/m6/native-expanded-control-ui-01/before-read/page-002.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{0DB8AF78-686C-0C01-3D52-A89559FC5885}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:23.000Z" pageLevel="2" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{399A6DFB-EBF9-0B33-2801-CAFA573584B7}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{399A6DFB-EBF9-0B33-2801-CAFA573584B7}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="231.1436157226562" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{399A6DFB-EBF9-0B33-2801-CAFA573584B7}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group A/Duplicate.one, level 2]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-expanded-control-ui-01/before-read/page-003.pdf created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/before-read/page-003.pdf differ
corpus/m6/native-expanded-control-ui-01/before-read/page-003.xml created+6
...@@ -0,0 +1,6 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{270215AB-0A1A-01FE-144C-7AB0BD678F13}{1}{B0}" name="Image png" dateTime="2026-09-06T02:25:40.000Z" lastModifiedTime="2026-09-06T06:00:21.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T02:25:42.000Z" objectID="{585CB0AA-F2AA-0518-3711-A679D519261E}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image png]]></one:T></one:OE></one:Title><one:Image format="png" hyperlink="https://example.invalid/image/png" alt="Pattern png" originalPageNumber="0" lastModifiedTime="2026-09-06T02:25:42.000Z" objectID="{585CB0AA-F2AA-0518-3711-A679D519261E}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="144.0" height="48.00000381469727" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec
3CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI
4E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp
5oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT
6+wHXVRp4qDc0HQAAAABJRU5ErkJggg==</one:Data></one:Image></one:Page>
corpus/m6/native-expanded-control-ui-01/before-read/page-004.pdf created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/before-read/page-004.pdf differ
corpus/m6/native-expanded-control-ui-01/before-read/page-004.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{34619019-150E-06C2-3149-42A4E92723BF}{1}{B0}" name="Files and recording" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:MediaPlaylist><one:MediaReference mediaID="{9A418E57-7F64-40C5-87D0-8A8F7C1E5422}"/></one:MediaPlaylist><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:47.000Z" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{2E7BA99D-CDED-080F-2255-D01592C0E5C8}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Files and recording]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{2E7BA99D-CDED-080F-2255-D01592C0E5C8}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="136.6015625" height="139.427719116211"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:47.000Z" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{2E7BA99D-CDED-080F-2255-D01592C0E5C8}{40}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\7d1ab415-649a-43bd-a863-bbef841467de.txt" pathSource="C:\one-tests\runs\capture\notebook\fixture-data\attachment.txt" preferredName="Fictitious attachment.txt"/></one:OE><one:OE creationTime="2026-09-06T02:25:47.000Z" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{2E7BA99D-CDED-080F-2255-D01592C0E5C8}{44}{B0}" alignment="left"><one:MediaFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\5cdfe8bc-15a0-4ef8-9710-d05c8cbe5118.wav" pathSource="C:\one-tests\runs\capture\notebook\fixture-data\silence.wav" preferredName="silence.wav"><one:MediaReference mediaID="{9A418E57-7F64-40C5-87D0-8A8F7C1E5422}"/></one:MediaFile></one:OE><one:OE creationTime="2026-09-06T02:25:47.000Z" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{2E7BA99D-CDED-080F-2255-D01592C0E5C8}{48}{B0}" alignment="left" quickStyleIndex="0"><one:MediaIndex timeIndex="500"><one:MediaReference mediaID="{9A418E57-7F64-40C5-87D0-8A8F7C1E5422}"/></one:MediaIndex><one:T><![CDATA[Recording annotation]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-expanded-control-ui-01/before-read/page-005.pdf created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/before-read/page-005.pdf differ
corpus/m6/native-expanded-control-ui-01/before-read/page-005.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{35E4289B-AD1E-043C-0470-E53BC236A7A8}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:23.000Z" pageLevel="3" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{93E7DAF8-EE72-0A96-3B56-AA3A1B8D270B}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{93E7DAF8-EE72-0A96-3B56-AA3A1B8D270B}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="231.1436157226562" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{93E7DAF8-EE72-0A96-3B56-AA3A1B8D270B}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group A/Duplicate.one, level 3]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-expanded-control-ui-01/before-read/page-006.pdf created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/before-read/page-006.pdf differ
corpus/m6/native-expanded-control-ui-01/before-read/page-006.xml created+300
...@@ -0,0 +1,300 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{43868DDB-8EC8-0AFB-0F81-A01966A6BDCA}{1}{B0}" name="Image tiff" dateTime="2026-09-06T02:25:43.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:44.000Z" lastModifiedTime="2026-09-06T02:25:44.000Z" objectID="{00067BA4-A18C-06E4-35DF-AC2ABF791B0F}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image tiff]]></one:T></one:OE></one:Title><one:Image format="png" hyperlink="https://example.invalid/image/tiff" alt="Pattern tiff" originalPageNumber="0" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{00067BA4-A18C-06E4-35DF-AC2ABF791B0F}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="144.0" height="48.00000381469727" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAAXNSR0IArs4c6QAAAARnQU1BAACx
3jwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAEImSURBVHheDbiBV2GL+v+/f9V1q+uk46TjpDFp
4TBqDMUhoh3Zoh3Zoh3Zoh3YYgzE0Jo1J46TjpOOk61Yf32pZ1bKqZVXLqpZV/W2/8y8863nez/v1
5AgAAaAL+vxagiQQ0twIt7cC/yACpA/h3J9BKBdq6gPZu4D90gNwD/NQLdDABSh/Q2Q/8zAaoA8Av
6g0AXF6DxgG4B8KsQoIuA3yRAjxRgyIBeBfACBJhK4KUa6IMAlgbo1wGvYICtB14bgQEE4JiAQQvw
7BgW4VuCtHeBhAN8BCFzAOxwQuoH3XkBEAGIfIAkAQ0FAGgKGI4AsCshjgGIFGEkA4CowugYoU4Bq
8HVBvAGMZANoExrcATQ7QbgO6HWCiAMC7wOQeoC8Bhn3AeAhMlQHkCJg+AUwVwHwKWM6BmSqAXgCz
9V4C1BtiuAfstMFcHsDtg/gFwNADnI+B6BhYAoPn/a2puamluJjW3tDb/q72ZRG7+d0dza2dzG7W5
10vav5P93NZHrzTz3NHb3NFGZzZ1/zz/3NVHbzLwPNXYPNNG5zN6/5V0EzXdj8m6i5R9LMkDb3yppf
11KJqZYPNLZXOfupkFNfdrml/pmtlw82t984CxmYM0D5qa31iauWjzW2szz97Mx5oFjuZ3rmYh3vze
123SzyNouJZomveSjQLA02D4eaZZFmebRZEWseWWkGE82jq83KtWZVqlm93jy20Qxlmsc3mzVbzdpc
13s267eWKnGS40T+426/eaDaVm437z1GEzUm6ePmo2nTSbK82W0+aZ82a02jx70Wy9arbVmu3XzXO3
14zVi9ef6u2fHQ7Gw0ux6bF56bcQAgNTX9MxtSC4n0r1YSqZ30bzKptYPU1klqp5L+00Uid5N+opM6
15ekiUXlInk/RzH4naT/qFTeoaINEGSd1c0q88El1A+k1I6hGRGBJSr5T0QkZiKkgvQVKfksRSk/oh
160isNia0jvYZJA3oSx0gaREhvTCSuhfQWJfGsJL6dJMBI7xwkoYv0HieJ3CSxlyQhSEM+kjRAGg6S
17ZCGSPEJSREkjMRK4QhpNkJSrJNUaSZ0ija2ToA3SeIak2SRpt0i6HGlimwTvkCYLJP0uybBHMpZI
18U/sk5JA0XSaZjkjmE5KlQpo5JaHnpNkqyXpBsl2R7DXS3DUJuyXN10mOO5LzgeRqkBYeSfgzaREA
192pqb2lpa2v5FaiO1tv27va2V3NbW0dbe2fYfahu5q+2n7rYOehulp62zt+1nZhu1r+2X/rYudhtt
20oK17sO1Xbhud1/aboK1H2MYQtfVK2l5I25iytpeKtj6wjaVs61e3vYLa2Jq217q2AbiNo28bNLa9
21Qdq4pra3ljYe2sa3tgnsbe+wNqGj7b2rTYS3id1tEm/bENEm9bUNB9pkwTZ5qE0RaRuJtoGxttGV
22NmWiTbXapl5rG0u1Qett4xttmkybdrNNt9U2kWuDt9smd9r0hTbDbptxr22q1Ibst00ftpnKbeaj
23NstJ20ylDT1tmz1vs1bbbBdt9qu2uVobdt02f9vmqLc579pcD20LjTb8sW3xuc0NAOSWJvK/Wsgk
24EvnfreTWdnIbmdzeQf5PJ5lMJf/URe7oJlPo5M4e8s+9ZCqT/EsfuaufTGOTuwfIvw6S6Vzybzxy
25j4DMEJJ7ReQXEjJTSn4pI/cpyCyQ3K8kv1KT2RD5tYY8oCNzYPKgnvzGSOYi5LcmMs9C5qNkgZX8
26zk4WYuT3DrLIRRbjZImbPOQlSwnysI8sC5DlQbIiRB6JkMEoeTRGVq6QVQmyepU8tkaGUuTxdbJm
27g6zNkHWb5IktMpwjT26T9TtkQ4Fs3CVP7ZGREnl6n2w6JJvLZMsReeaEjFbIs6dk6znZViXbL8hz
28V2SsRp6/Jjtuyc462XVHXngg4w3y4iPZ/Uz2AADlX00UUgvl3yRKayulrZ3STqb8p4NC7qT8RKV0
29dFEo3ZROOuXnHgq1l/ILk9LVR6H1U7rZlF8HKPRBym9cSg+PwhBQeoWUFyIKU0J5KaX0ySgsBaUf
30pLxSUthqymuIMqChcHSUQZjyRk/hGilvEQrPROFbKAKU8s5KEdop7zGKyEERuygSnDLkpki9lGGC
31IvNR5AGKIkgZCVHACGU0SlHGKKoVijpBGVulQGuU8RRFs07RblB0GcrEJgXeokzmKPptimGHYixQ
32pnYpyB5lukQx7VPMhxRLmTJzREFPKLMVivWUYjun2KuUuQsKdkWZr1Ec1xTnLcVVpyzcUfAHymKD
334n6keJ4pXgCgkpqo/26htpKoba3U9nbqf/7ZnA7qT53UDiqV0kXt7Kb+TKdSe6i/9FK7mFRaH7W7
34n/orm0ofoP42SO3hUhk8aq+A+kJIZYqoLyXUPimVJaP2K6ivQCpbSX2tpg5AVI6GOqijvoGpXD31
35rZHKQ6h8E1Vgob5DqUIr9b2dKsKoYgdV4qIO4VSpmzrspcoIqtxHVQSoI0EqGKKORqjKKFUVo6pX
36qGMJKrRKHV+jalJU7TpVt0GdyFDhTerkFlWfoxq2qcYd6lSBiuxSp/eophLVvE+1HFJnylT0iDp7
37QrVWqLZTqv2cOlelYhfU+Suqo0Z1XlNdt9SFOhW/oy4+UN0NqueR6n2mLgEA7d9NtNYWWhuJ1t5K
38+087jUym/dRB6+ikUai0zi7az900Kp32Sw+tq5dGY9K6+2i/9tPobNpvA7SeQRqDS+vl0V4IaEwh
397aWI1iehsaS0fhntlYLGBmmvlbQBNY0D0QY1tDc6GhemvdXTeEYaH6EJTLR3FpoQpb230kR2mhij
40SRy0IRdNitOG3TSZlyYnaAofbSRAA4O00RBNGaGpojR1jDa2QoMStPFVmmaNpk3RdOu0iQ0anKFN
41btL0WzRDjmbcpk3t0JACbXqXZtqjmUs0yz5t5pCGlmmzRzTrCc1WodlPaXPnNKxKm7+gOa5ozhrN
42dU1buKXhddriHc39QPM0aN5H2tIzjQAAemsTva2F3k6i/6eVTm6n/0Smd3TQ/7mrTir95y46tZv+
43C53e1UOn9dK7mfRf++j0fvpvbHrPAJ0xSO/l0l/w6EwB/aWQ3ieisyT0fin9lYzOVtBfg/QBJZ2j
44pg9C9DcaOldHfwvTeXo630gXIPR3JrrQQn+P0kVWuthOl2D0IQdd6qIP43SZmy730hUEfcRHBwP0
450SBdGaKrInR1lD4Wo0Mr9PEEXbNK167RdSn6xDod3qBPZuj6Tbphi27M0ae26cgOfbpAN+3SzXt0
46S4k+s09HD+mzZbr1iG47odsr9LlTOnZOn6/SHRd05xXdVaMvXNPxW/pine6+o3se6N4GfemRTjzT
47lwGA0dbEaG9h/IfEILcyfmpndJAZlA5GZyfjZyqD2sX4pZvRRWfQehjdvYxfmQx6H+O3fkYPm8EY
48YPQOMl5wGUwe46WA0SdksESMfgnjlZTBljFeKxgDIIOjZAyqGW8gBlfDeKtj8GAGX88QGBnvEIbQ
49xHhvYYhQhtjKkNgZQxhD6mAMuxgynCF3MxRexgjBAH2M0QBDGWSoQgx1hDEWZUAxxvgKQ5NgaFcZ
50ujXGRIoBrzMmNxj6DMOwyTBuMaZyDGSbMb3DMBUY5l2GZY8xU2Kg+4zZQ4a1zLAdMewnjLkKAztl
51zJ8zHFWG84LhumIs1Bj4NWPxluGuMzx3DO8DY6nBIB4Zy88MHwAw25uY/2lhkknMn1qZHe1MCpnZ
522cH8uZNJpTJ/6WJ2dTNpdGZ3D/PXXiadyfytj9nTz2Swmb0DzBeDTCaX+ZLH7BMwWUJmv4j5SsJk
53S5mvZcwBBZMDMgeVzDdqJhdivtUweTomH2YK9Mx3RqYQYb43MUUWphhlSqzMITtTijGHHUyZiynH
54mQo3c8TLBAnmqI+pDDBVQaY6xByLMKEoczzG1KwwtQmmbpU5scaEU8zJdaZ+g2nIMI2bzKktJpJj
55Tm8zTTtMc4Fp2WXO7DHREnN2n2k9ZNrKTPsRc+6EiVWY86dMxznTWWW6LpgLV0y8xly8ZrpvmZ46
5603vHXHpgEg3m8iPT98z0AwDrP00scgvrJxKro5VFaWd1klk/d7ConaxfqKyuLhatm9VNZ/3aw6L3
57sn5jsnr6WIx+Vi+b9WKAxRxkveSy+ngsloDVL2S9ErHYEtZrKWtAxuIoWIMg642SxVWz3kIsnobF
5817EEMOudniU0st4jLJGJJbawJChryMqS2lnDGEvmYMldLAXOGnGzQC9rlGApfSxVgKUOssZCLCjC
59Go+yNDGWdoWlS7AmVlnwGmsyxdKvswwbLGOGNbXJQrZY0zmWaZtl3mFZCqyZXRa6x5otsaz7LNsh
60y15mzR2xsBPWfIXlOGU5z1muKmvhgoVfsRZrLPc1y3PL8tZZS3cs4oG13GD5Hln+Z1YAANjkJvZP
61LewOEpvSyu5sZ/9MZlM72L90sruobFoXu7ub/Sv9n8hh/9bL7mGyGX3s3n72CzabOcB+Ocju47JZ
62PHa/gP1KyGaL2K8l7AEpmyNjDyrYb0A2V8l+q2bzIDZfwxbo2O9gtlDPfm9kixC22MSWWNhDKFtq
63ZQ/b2TKMLXewFS72CM4G3exRL1tJsFU+tjrAHguyoRB7PMLWRNnaGFu3wp5IsOFV9uQaW59iG9bZ
64xg32VIaNbLKnt9imHNu8zbbssGcKbHSXPbvHtpbYtn22/ZA9V2ZjR+z5E7ajwnaesl3n7IUqG79g
65L16x3TW255rtvWUv1dnEHXv5ge1rsP2P7MAz+wMAcH5q4nS0cCgkTmcr5+d2DpXM+aWD09XJoVE5
663V2cX7s5dDrntx5OTy+HweT09nFe9HOYbM7LAU7fIIfF5fTzOK8EHLaQ81rEGZBwOFLOoIzzRsHh
67gpy3Sg5PzeFDHIGG807HEcKc93qOyMgRIxyJiTNk4UhRzrCVI7Nz5BhH4eCMuDggzhl1c5Rejorg
68qH2csQAHCnLGQxxNhKONcnQxzsQKB05wJlc5+jWOIcUxrnOmNjhIhjO9yTFtccw5jmWbM7PDQQuc
692V2OdY9jK3Hs+5y5Qw5W5swfcRwnHGeF4zrlLJxz8Cpn8YLjvuJ4ahzvNWfplkPUOct3HN8Dx9/g
70BB45H545QQDgdjRxKS3cThL351YutZ37C5nb1cGldXK7qdxfu7j0bu5vdG5PD5fRy+1lcl/0cZn9
713Jdsbt8AlzXI7edyX/G4bAH3tZA7IOJyJNxBKfeNjMtVcN+CXJ6Sy1dzBRD3nYYr1HHfw1yRnis2
72ciUId8jElVq4wyhXZuXK7VwFxh1xcEEXdxTnKt1clZerJrhjPi4U4I4HuZoQVxvh6qLciRgXXuFO
73Jrj6Va5hjWtMcafWucgGdzrDNW1yzVtcS447s81Fd7izBa51l2vb49pL3Ll9LnbInS9zHUdc5wnX
74VeEunHLxc+5ileu+4HquuN4ad+maS9xyl+tc3x3X/8ANNLgfHrnBZ+5HAOBTmvidLfyfSXxqK/+X
75dn4XmU/r4Hd38n+l8uld/N+6+T10PqOH39vLf8HkM/v4L/v5fWw+a4DfP8h/xeWzefzXAv6AkM8R
768Qcl/DdSPlfGf6vg80A+X8kXqPnvIL5Qw3+v44tgvljPlxj5QwhfauIPW/gylC+38hV2/gjGBx38
77URdfifNVbr7ayx8j+JCPPx7ga4J8bYivi/Anonw4xp9c4esTfMMq37jGn0rxkXX+9AbflOGbN/mW
78Lf5Mjo9u82d3+NYC37bLt+/x50p8bJ8/f8h3lPnOI77rhL9Q4eOn/MVzvrvK91zwvVf8pRqfuOYv
793/J9db7/jh944H9o8IOP/I/P/BAACDubhD+3CKkk4S+twq52IY0s7O4Q/toppFOFv3UJe7qFDLqw
80t0f4olfIZApf9gn7/glktrB/QPhqUMjmCl/zhAMCIUcoHBQJ30iEXKnwrUzIUwj5oFCgFL5TC4WQ
818L1GKNIJxbBQohcOGYVSRDhsEsosQjkqVFiFI3YhiAlHHUKlS6jChWq3cMwrhAjhuE+oCQi1QaEu
82JJyICOGocDIm1K8IDQmhcVU4tSZEUsLpdaFpQ2jOCC2bwpktIZoTzm4LrTtCW0Fo3xXO7QmxknB+
83X+g4FDrLQteRcOFEiFeEi6dC97nQUxV6L4RLV0KiJly+Fvpuhf66MHAn/PAgDDaEHx+FoWdhGADE
84PzeJqS3iX0jirlYxrV3cTRb/2iGmd4p/o4p7usSMbnEvXfyiR8zsFb9kivv6xKx+cT9b/GpAzB4U
85v+aKB3hijkA8KBS/EYm5EvFbqZgnE/MVYgEofqcUC9Xi95BYpBGLdWIJLB7Si6VG8TAilpnEcotY
86gYpHrGLQLh7FxEqHWOUSq3HxmFsMecXjhFjjE2sDYl1QPBESwxHxZFSsj4kNK2JjQjy1KkbWxNMp
87sWldbN4QWzLimU0xuiWezYmt22LbjtheEM/tirE98XxJ7NgXOw/FrrJ44UiMn4gXK2L3qdhzLvZW
88xUsXYuJKvFwT+67F/ltxoC7+cCcOPog/NsShR3H4WRwBACm1SfpLi7SLJKW1Srvbpb+SpfQO6W+d
890h6qlNEl7e2WvqBLmT3Sl73SPqaU1Sft75e+Ykv/eVevB6UDXCmHJx0USN8IpVyR9K1EypNK+TKp
90QCF9B0qFSul7tVQEScUaqUQnHYKlUr102CiVIVK5SaqwSEdQKWiVjtqlSkyqckjVLukYLoXc0nGv
91VENItT6pLiCdCErhkHQyItVHpYaY1LginUpIkVXp9JrUlJKa16WWDelMRopuSme3pNac1LYtte9I
925wpSbFc6vyd1lKTOfanrULpQluJH0sUTqbsi9ZxKvefSpaqUuJAuX0l9Nan/Whq4lX6oS4N30o8P
930lBDGn6URp6lnwBA/kuTvKtFTiPJu1vlv7bL6WT5bx3ynk45gyrv7ZK/6JYz6fKXPfK+XjmLKe/v
94k7/ql7PZ8tcD8oFBOYcrH+TJ3wjkXKH8rUjOk8j5UrlAJn+nkAtB+XulXKSWiyG5RCMf0smlsHxY
95L5cZ5XJErjDJRyxyEJWPWuVKu1yFydUO+ZhLDuHycbdc45VrCbnOJ58IyOGgfDIk10fkhqjcGJNP
96rciRhHx6VW5ak5tTcsu6fGZDjmbks5ty65bclpPbt+VzO3KsIJ/flTv25M6S3LUvXziU42X54pHc
97fSL3VOTeU/nSuZyoypcv5L4rub8mD1zLP9zKg3X5xzt56EEebsgjj/JPz/IoAIBdTSCtBewmgb+2
98gvR28Dcy2NMBMjrBXir4ogtkdoMv6WBfD8jqBfuZ4Ks+kN0PvmaDAwMgZxAc5IJveCBXAL4VgjwR
99yJeAAin4TgYKFeB7EBQpQbEalEDgkAaU6sBhGJTpQbkRVCDgiAkELeAoCiqtoMoOqjFwzAFCLnAc
100BzVuUOsFdQQ44QPhADgZBPUh0BABjVFwKgYiK+B0AjStguY10JICZ9ZBdAOczYDWTdC2Bdpz4Nw2
101iO2A8wXQsQs690BXCVzYB/FDcLEMuo9AzwnorYBLpyBxDi5XQd8F6L8CAzXwwzUYvAU/1sHQHRh+
102ACMN8NMjGH0GPwOAitak6m5R/UpS0VtVv7WresgqRoeqt1P1gqpidqledqv66CpWj6q/V/WKqWL3
103qV73qwbYKs6AanBQ9Yar4vJUbwUqnlDFF6kEEtU7qUooU71XqESgSqxUSdSqIUgl1aiGdSoZrJLr
104VQqjagRRgSbVqEWlRFUqq0ptV41hKsihGnepNLhK61bpvKoJQgX7VJMBlT6oMoRUxohqKqpCYqrp
105FZUpoTKvqixrqpmUCl1XzW6orBmVbVNl31LN5VTYtmp+R+UoqJy7KteeaqGkwvdVi4cqd1nlOVJ5
106T1RLFRVxqlo+V/mqKv+FKnCl+lBTBa9VH29VoboqfKeKPKg+NVTRR9XnZ1UMAKDuJujXFohOgn5r
107hXraIQYZ6u2AXnRCTCr0sgvq64ZYdKi/B3rVC7GZ0Os+aKAf4rChwQHozSDE5UJveRBP8M8nhwQi
1086J0EEkqh9zJIpIDEICRRQkNqSApBwxpIpoPkMKTQQyNGCESgUROktEAqFFJboTE7BGHQuAPSuCAt
109Dunc0IQXgglo0gfpA5AhCBlD0FQEQqLQdAwyrUDmBGRZhWbWIDQFza5D1g3IloHsm9DcFoTloPlt
110yLEDOQuQaxda2IPwErS4D7kPIU8Z8h5BSycQUYGWTyHfOeSvQoEL6MMVFKxBH6+h0C0UrkORO+jT
111AxRtQJ8fodgzFAcA7a9NWnqL9jeStqdVy2jX9pK1Lzq0zE7tS6q2r0vL6tb207WverTsXu1rpnag
112T8vp1w6ytW8GtNxB7VuulsfT8gVagVD7TqQVSrTvpVqRTCtWaCWgdkiplaq1w5BWptHKdVoFrB3R
113a0GjdhTRKk1alUWrRrVjVi1k145jWo1Dq3Vpdbh2wq2FvdpJQqv3aQ0BrTGonQppkYh2Oqo1xbTm
114Fa0loZ1Z1aJr2tmU1rqutW1o7Rnt3KYW29LO57SOba1zR+sqaBd2tfiedrGkde9rPYdab1m7dKQl
115TrTLFa3vVOs/1waq2g8X2uCV9mNNG7rWhm+1kbr20502+qD93NDGHrXxZ+0KAMD0Jvi3FriHBDNa
1164d52+AUZZnbALzvhPirM6oL7u+FXdJjdA7/uhQeYMKcPHuyH37Bh7gD8dhDmcWE+DxYI4HdCWCiC
11730tgkRQWy2CJAh4CYakSHlbDMgiWa2CFDh6BYVAPjxphJQKrTLDaAo+hMGSFx+2wBoO1Dljngidw
118GHbDk15YT8AGH2wMwFNBGAnB0xHYFIXNMdiyAs8kYHQVnl2DrSnYtg7bN+C5DIxtwvNbsCMHO7dh
1191w68UIDxXXhxD3aXYM8+7D2El8owcQQvn8C+Cuw/hQPn8IcqHLyAP17BoRocvoYjt/CnOhy9gz8/
120wLEGHH+EV57hLwBg+K3J0NNiYJAMva2GF+0GJtnwssPQ12lgUQ39XYZX3QY23fC6xzDQa+AwDYN9
121hjf9Bi7b8HbAwBs08LkGAc/wTmAQCg3vRQaRxCCWGiQyw5DCIAUNw0qDTG2QQwaFxjCiM4CwYVRv
122UBoNKsSgNhnGLAYINYxbDRq7QYsZdA7DhMsA44ZJt0HvNRgIg9FnmAoYkKBhOmQwRQzmqMESM8ys
123GNCEYXbVYF0z2FIG+7phbsOAZQzzmwbHlsGZM7i2DQs7BrxgWNw1uPcMnpLBu29YOjQQZcPykcF3
124YvBXDIFTw4dzQ7Bq+HhhCF0ZwjVD5Nrw6dYQrRs+3xliD4Z4w7DyaPjybEgAANLThDBakF4S8qIV
125YbYjL8lIXwfC6kT6qcirLoTdjbymIwM9CKcXGWQib/oQbj/ylo3wBhD+ICLgIu94iFCAvBciIhEi
126liASKTL0T89RIMMgIlMicjWigJARDQLqkFEYUeoRlRFRI8iYCYEsyDiKaKyI1o7oMGTCgcAuZBJH
1279G7E4EWMBDLlQ5AAMh1ETCHEHEEsUWQmhqAryGwCsa4itjXEnkLm1hFsA5nPII5NxLmFuHLIwjaC
1287yCLBcS9i3j2EG8JWdpHiENkuYz4jhD/CRKoIB9OkeA58rGKhC6Q8BUSqSGfrpHoLfK5jsTukPgD
129stJAvjwiiWfkKwCYGU3m3hbzC5KZ2Wp+2W7uI5tZHeb+TvMrqpndZX7dbR6gmzk95sFe8xummdtn
130fttv5rHN/AGzYND8jmsW8szvBWaR0CwWmSUS85DULJWZhxVmGWiWK80KtXkEMoMa86jOrITNKr1Z
131bTSPIWbIZB63mDWoWWs16+zmCcwMO8yTLrMeNxvcZqPXPEWYEZ95OmA2Bc3mkNkSMc9EzWjMPLti
132tibMtlWzfc08lzJj6+b5DbMjY3Zuml1b5oWcGd82L+6Y3QWzZ9fs3TMvlczEvnn50Owrm/1H5sCJ
133+UPFHDw1fzw3h6rm8IU5cmX+VDNHr82fb82xujl+Z155MH9pmBOP5q/P5lUAQHub0BctKJOEvmxF
134+9pRFhnt70BfdaJsKvq6Cx3oRjl0dLAHfdOLcpno2z6U14/y2ahgAH03iAq56HseKhKgYiEqEaFD
135ElQqRYdlqEyB/tMCFUp0RI2CEDqqQZU6VAWjaj06ZkQhBB03oRoLqkVRnRWdsKMwhk46UL0LNeCo
1360Y1OeVGEQKd9qCmAmoOoJYTORFA0is7GUOsKakug9lV0bg3FUuj8OurYQJ0Z1LWJLmyheA5d3Ebd
137O6ingHp30aU9lCihy/uo7xD1l9HAEfrhBA1W0I+naOgcDVfRyAX66QqN1tDP12jsFo3X0ZU79MsD
138mmigXx/R1Wc0CQC2F002ZovtJcnW12pjtdv6ybZXHTZ2p+011TbQZeN02wbptjc9Nm6v7S3Txuuz
1398fttArbt3YBNOGh7z7WJeDaxwCYR2oZENqnENiy1yWQ2ucKmAG0jShuoto1CNqXGptLZ1LBtTG+D
140jLZxxKYx2bQWmw61TVhtsN02idn0DpvBZTPitim3DfHapgmbyWczB2yWoG0mZEMjttmozRqz2VZs
1419oRtbtWGrdnmUzbHus25YXNlbAubNnzLtpizubdtnh2bt2Bb2rURe7blks23b/Mf2gJl24cjW/DE
1429rFiC53awue2SNX26cIWvbJ9rtli17b4rW2lbvtyZ0s82L42bKuPtuSzbQ0AMGYT9rIF6yNhrFas
143vx17RcbYHdjrTmyAinG6sMFu7A0d4/Zgb3sxHhPj92GCfuwdGxMOYO8HMREXE/MwiQAbEmJSETYs
144wWRSTC7DFApsBMRAJTaqxpQQptJgah02BmOQHhs3YhoE05ownQWbQDHYik3aMT2GGRyY0YVN4Rji
145xqa9mInAzD7MEsBmghgawmYjmDWK2WKYfQWbS2DYKja/hjlSmHMdc21gCxkM38QWtzB3DvNsY94d
146bKmAEbvY8h7mK2H+fSxwiH0oY8Ej7OMJFqpg4VMsco59qmLRC+zzFRarYfFrbOUW+1LHEnfY1wds
147tYElH7G1Z+wbADhfNjn7WpwskrO/1fmq3ckmO193OAc6nRyqc7DL+abbyaU73/Y4eb1OPtMp6HO+
14863cK2c73A07RoFPMdUp4ziGBUyp0DoucMolTLnUqZM4RhRMEnaNKp1LtVEFOtcY5pnNCsHNc79QY
149nVrEqTM5JyxOGHVOWp16u9OAOY0O55TLieDOabfT5HWaCafF55wJONGgczbktEactqjTHnPOrTix
150hHN+1elYczpTTte6c2HDiWeci5tO95bTk3N6t51LO06i4Fzedfr2nP6SM7Dv/HDoDJadH4+coRNn
151uOKMnDo/nTujVefnC2fsyhmvOVeunV9unYm68+udc/XBmWw41x6d356dKQDA+5pwVgveT8JfteLs
152dvw1GR/owDmd+CAVf9OFc7vxt3Sc14Pze3EBE3/Xhwv78fdsXDSAiwdxCRcf4uFSAT4sxGUiXC7B
153FVJ8RIaDCnwUxJVKXKXG1RA+pvmnIOPjMK7R41ojrkPwCRMOW/BJFNdbcYMdN2L4lANHXPg0jpvc
154uNmLWwh8xoejAXw2iFtDuC2C26P4XAzHVvD5BO5YxZ1ruCuFL6zj+Aa+mMHdm7hnC/fm8KVtnNjB
155lwu4bxf37+GBEv5hHw8e4h/LeOgID5/gkQr+6RSPnuOfq3jsAo9f4Ss1/Ms1nrjFv9bx1Ts8+YCv
156NfBvj3jqGf8OAB5Wk6e/xfOK5GG3el63ewbIHk6HZ7DT84bq4XZ53nZ7eHQPv8cj6PW8Y3qEfZ73
157/R4R2yMe8EgGPUNcj5TnGRZ4ZEKPXORRSDwjUg8o84wqPErQo1J61GrPGOSBNJ5xnUcDe7R6j87o
158mUA8sMkzafHoUY/B6jHaPVOYB3F4pl0eE+4xuz0Wr2eG8KA+z2zAYw16bCGPPeKZi3qwmGd+xeNI
159eJyrHteaZyHlwdc9ixsed8bj2fR4tzxLOQ+x7Vne8fgKHv+uJ7Dn+VDyBPc9Hw89obInfOSJnHg+
160VTzRU8/nc0+s6olfeFauPF9qnsS15+utZ7XuSd551h483xqe1KPn+7NnHQCI/ibiVQvBJhGvW4mB
161doJDJgY7iDedBJdKvO0ieN0En04Ieoh3vYSQSbzvI0T9hJhNSAaIoUFCyiWGeYRMQMiFhEJEjEgI
162UEqMygilglCBhFpJjKkJCCLGNYRGR2hhQqcnJowEjBCTJkJvIQwoYbQSU3YCwYhpB2FyEWacsLiJ
163GS+BEsSsj7AGCFuQsIeIuQiBRYn5GOFYIZwJwrVKLKwReIpYXCfcG4QnQ3g3iaUtgsgRy9uEb4fw
164F4jALvFhjwiWiI/7ROiQCJeJyBHx6YSIVojPp0TsnIhXiZUL4ssVkagRX6+J1VsiWSfW7ohvD0Sq
165QXx/JNafiTQA+F81+dkt/tck/0Crn9PuHyT733T4uZ3+t1Q/r8vP7/YL6P53PX5hr/890y/q84v7
166/RK2f2jALx30D3P9Mp5fLvArhP4RkR+U+EelfqXMr1L41aB/TOmH1P5xyK/R+LU6vw72T+j9sNE/
167ifj1Jr/B4jei/imrH7H7pzG/yeE3u/wW3D/j9qNe/yzht/r8toDfHvTPhfxYxD8f9TtifueK35Xw
168L6z68TX/YsrvXvd7NvzejH9p009s+Zdzft+237/jDxT8H3b9wT3/x5I/tO8PH/ojZf+nI3/0xP+5
1694o+d+uPn/pWq/8uFP3Hl/1rzr177k7f+tbr/250/9eD/3vCvP/rTz/4NAAiym4KvW4IDpCCnNTjY
170HnxDDnI7gm87gzxqkN8VFHQH39GDwp7g+96giBkU9wUl/cEhdlA6EBweDMq4QTkvqBAER4RBUBQc
171lQSV0qBKFlQrgmNgEFIGx9VBDRTUaoI6XXACDsL64KQxqP8HH0xBoyU4hQYRa3DaHjRhQbMjaHEF
172Z/Ag6g7OeoNWImjzBe2B4FwwiIWC85GgIxp0xoKuleBCIoivBhfXgu5U0LMe9G4ElzJBYjO4vBX0
1735YL+7WBgJ/ihEAzuBj/uBUOlYHg/GDkMfioHo0fBzyfBWCUYPw2unAe/VIOJi+DXq+BqLZi8Dq7d
174Br/Vg6m74PeH4HojmH4MbjwHfwBA+HVTeKAlzCGFB1vDb9rDXHL4bUeY1xnmU8OCrvC77rCQHn7f
175Exb1hsXMsKQvPNQflrLDwwNh2WBYzg0reOERQRgUhkdFYaUkrJKG1bLwmCIMgeFxZVijDmuhsE4T
176ntCFYTg8qQ/rjWEDEjaawlOWMIKGp61hkz1sxsIWR3jGFUbx8Kw7bPWGbUTY7gvPBcJYMDwfCjsi
177YWc07IqFF1bCeCK8uBp2r4U9qbB3Pby0ESYy4eXNsG8r7M+FA9vhDzvhYCH8cTcc2guHS+HIfvjT
178YThaDn8+CsdOwvFKeOU0/OU8nKiGv16EV6/CyVp47Tr87Tacqoe/34XXH8LpRnjjMfzjOZwBgOhA
179U5TTEh0kRd+0Rrnt0bfkKK8jyu+MCqjRd11RYXf0PT0q6omKe6MSZnSoLyrtjw6zo7KBqHwwquBG
180R3hRUBAdFUaVoqhKElVLo2OyKKSIjoNRjTKqVUd1UHRCE4V10Uk4qtdHDcaoEYlOmaL/wNU0GjVZ
181o2Z71IJFZxxR1BWdxaNWd9TmjdqJ6JwvigWi88GoIxR1RqKuaHQhFsVXoouJqHs16lmLelPRpfUo
182sRFdzkR9m1H/VjSQi37YjgZ3oh8L0dBuNLwXjZSin/aj0cPo53I0dhSNn0RXKtEvp9HEefRrNbp6
183EU1eRddq0W/X0dRt9Hs9un4XTT9ENxrRH4/RzHP0dwCIc5rigy3xN6Q4tzX+tj3OI8f5HXFBZ/wd
184NS7sir/vjovocXFPXNIbH2LGpX3x4f64jB2XD8QVg/ERbhzkxUcFcaUwrhLF1ZL4mDQOyeLjirgG
185jGuVcZ06PgHFYU18UhfXw3GDPm40xqeQOGKKT1viJjRutsYt9vgMFkcd8VlX3IrHbe643RufI+KY
186Lz4fiDuCcWco7orEF6JxPBZfXIm7E3HPaty7Fl9KxYn1+PJG3JeJ+zfjga34h1w8uB3/uBMPFeLh
1873XhkL/6pFI/uxz8fxmPlePwovnIS/1KJJ07jX8/jq9V48iK+dhX/VounruPfb+Pr9Xj6Lr7xEP/R
188iGce478/xzcBIDHYlHjTkuCSEm9bE7z2BJ+cEHQk3nUmhNTE+66EqDshpickPYmh3oSUmRjuS8j6
189E3J2QjGQGBlMgNzEKC+hFCRUwoRalBiTJCBpYlyW0CgSWjChUyYm1AkYSkxqEnpdwgAnjPrElDGB
190IIlpU8JkSZjRhMWamLEnUCwx60hYXQkbnrC7E3PeBEYk5n0JRyDhDCZcocRCJIFHE4uxhHsl4Ukk
191vKuJpbUEkUosryd8Gwl/JhHYTHzYSgRziY/bidBOIlxIRHYTn/YS0VLi834idpiIlxMrR4kvJ4lE
192JfH1NLF6nkhWE2sXiW9XiVQt8f06sX6bSNcTG3eJHw+JTCPx+2Ni8zmRBYDkm6YktyX5lpTktSb5
1937UkBOfmuIynsTL6nJkVdSXF3UkJPDvUkpb3JYWZS1peU9ycV7OTIQBIcTI5yk0peUiVIqoXJMVES
194kiTHpUmNLKlVJHVgckKZhNXJSSip1yQNuqQRTk7pk4gxOY0kTaak2ZK0oMkZaxK1J2expNWRtLmS
195djw5505i3uQ8kXT4ks5A0hVMLoSSeCS5GE26Y0nPStKbSC6tJom15HIq6VtP+jeSgUzyw2YyuJX8
196mEuGtpPhnWSkkPy0m4zuJT+XkrH9ZPwwuVJOfjlKJk6SXyvJ1dNk8jy5Vk1+u0imrpLfa8n162T6
197NrlRT/64S2Yekr83kpuPyexzcgsAUtym1NuWFI+U4remBO2pd+SUsCP1vjMloqbEXSlJd2qInpL2
198pIZ7UzJmSt6XUvSnRtgpcCA1OphSclMqXkotSI0JU5AoNS5JaaQprSylU6QmwBSsTE2qU3ooZdCk
199jLrUFJxC9KlpY8qEpMymlMWSmkFTqDU1a09ZsX+4M2V3pebwFOZOzXtTDiLl9KVcgdRCMIWHUouR
200lDua8sRS3pXUUiJFrKaW11K+VMq/ngpspD5kUsHN1MetVCiXCm+nIjupT4VUdDf1eS8VK6Xi+6mV
201w9SXcipxlPp6klqtpJKnqbXz1LdqKnWR+n6VWq+l0tepjdvUj3oqc5f6/SG12UhlH1Nbz6k/ACD9
202tinNa0nzSWlBa/pde1pITr/vSIs602JqWtKVHupOS+np4Z60rDctZ6YVfemR/jTITo8OpJWDaRU3
203realxwRpSJgeF6U1krRWmtbJ0hOKNAymJ5VpvTptgNJGTXpKl0bg9LQ+bTKmzUjaYkrPWNIomp61
204pq32tA1L2x3pOVcaw9Pz7rTDm3YSaZcvvRBI48H0YijtjqQ90bQ3ll5aSROJ9PJq2reW9qfSgfX0
205h410MJP+uJkObaXDuXRkO/1pJx0tpD/vpmN76XgpvbKf/nKYTpTTX4/SqyfpZCW9dpr+dp5OVdPf
206L9LrV+l0Lb1xnf5xm87U07/fpTcf0tlGeusx/cdzOgcAGV5Tht+SEZAy71ozwvbMe3JG1JERd2Yk
2071MxQV0banRmmZ2Q9GXlvRsHMjPRlwP7MKDujHMioBjNqbmaMl4EEmXFhRiPKaCUZnTQzIcvAiswk
208mNErMwZ1xghlpjQZRJeZhjMmfcZszFiQzIwpg1oys2jGas3Y7Bk7lplzZDBXZh7PONwZpzfjIjIL
209vgweyCwGM+5QxhPJeKOZpViGWMksJzK+1Yx/LRNIZT6sZ4IbmY+ZTGgzE97KRHKZT9uZ6E7mcyET
210283E9zIrpcyX/UziMPO1nFk9yiRPMmuVzLfTTOo8872aWb/IpK8yG7XMj+tM5jbzez2zeZfJPmS2
211Gpk/HjO558yfAJDlN2UFLdl3pKywNfu+PSsiZ8UdWUlndoialXZlh7uzMnpW3pNV9GZHmFmwLzva
212n1Wys6qBrHowO8bNQrzsuCCrEWa1oqxOkp2QZmFZdlKR1YNZgzJrVGenoCyiyU7rsiY4a9ZnLcbs
213DJJFTdlZS9aKZm3WrN2encOymCM778o68KzTnXV5swtEFvdlFwNZdzDrCWW9kexSNEvEsssrWV8i
21461/NBtayH1LZ4Hr240Y2lMmGN7ORreynXDa6nf28k40VsvHd7Mpe9kspm9jPfj3MrpazyaPs2kn2
215WyWbOs1+P8+uV7Ppi+zGVfZHLZu5zv5+m92sZ7N32a2H7B+NbO4x++dzdhsAcoKm3LuWnJCUe9+a
216E7XnxOScpCM31JmTUnPDXTlZd05Ozyl6ciO9OZCZG+3LKftzKnZOPZAbG8xB3Nw4L6cR5LTCnE6U
217m5DkYGluUpbTK3IGMGdU5qbUOQTKTWtyJl3ODOcs+tyMMYciuVlTzmrJ2dCc3Zqbs+cwLDfvyDlc
218OSeec7lzC/9QOZFb9OXcgZwnmPOGckuRHBHNLcdyvpWcP5ELrOY+rOWCqdzH9VxoIxfO5CKbuU9b
219uWgu93k7F9vJxQu5ld3cl71copT7up9bPcwly7m1o9y3k1yqkvt+mls/z6WruY2L3I+rXKaW+/06
220t3mby9ZzW3e5Px5yuUbuz8fc9nMuDwD5d015YUv+PSkvas2L2/MScn6oIy/tzA9T87KuvLw7r6Dn
221R3ryYG9+lJlX9uVV/Xk1Oz82kIcG8+PcvIaX1wryOmF+QpSHJflJaV4vyxsUeSOYn1LmEXV+Gsqb
222NHmzLm+B8zP6PGrMzyJ5qylvs+TtaH7Omsfs+Xks73Dkna68C88vuPO4N79I5N2+vCeQ9wbzS6E8
223EckvR/O+WN6/kg8k8h9W88G1/MdUPrSeD2/kI5n8p818dCv/OZePbefjO/mVQv7Lbj6xl/9ayq/u
22455OH+bVy/ttRPnWS/17Jr5/m0+f5jWr+x0U+c5X/vZbfvM5nb/Nb9fwfd/ncQ/7PRn77MZ9/zu8A
225QEHYVHjfUhCRCuLWgqS9MEQuSDsKw50FGbUg7yoougsj9ALYUxjtLSiZBVVfQd1fGGMXoIHC+GBB
226wy1oeQWdoDAhLMCiwqSkoJcWDLKCUVGYAguIsjCtLpiggllTsOgKM3AB1RdmjQUrUrCZCnZLYQ4t
227YNbCvL3gwApOR8HlKizgBdxdWPQW3EThH2fhDRSWggUiVFiOFHzRgj9WCKwUPiQKwdXCx7VCKFUI
228rxciG4VPmUJ0s/B5qxDLFeLbhZWdwpdCIbFb+LpXWC0VkvuFtcPCt3IhdVT4flJYrxTSp4WN88KP
229aiFzUfj9qrBZK2SvC1u3hT/qhdxd4c+HwnajkH8s7DwX/gKA4vumoqilKCYVJa3FofailFwc7ijK
230OotyalHRVRzpLoL04mhPUdlbVDGL6r7iWH8RYhfHB4qawaKWW9TxihOCIiwsToqKeknRIC0aZcUp
231RREBi9PKokldNENFi6Y4oyuicHFWX7QaizakaDcV5yxFDC3OW4sOe9GJFV2O4oKriOPFRXfR7S16
232iKLXV1wKFIlgcTlU9EWK/mgxECt+WCkGE8WPq8XQWjGcKkbWi582itFM8fNmMbZVjOeKK9vFLzvF
233RKH4dbe4uldMlopr+8Vvh8VUufj9qLh+UkxXihunxR/nxUy1+PtFcfOqmK0Vt66Lf9wWc/Xin3fF
2347YdivlHceSz+9VwsAEBJ1FQSt5QkpNJQa0naXhoml2QdJXlnSUEtjXSVwO7SKL2k7CmpektqZmms
235rwT1l8bZJc1ASTtY0nFLE7wSLChNCkt6UckgKRmlpSlZCVGUpsGSSVkyq0sWqDSjKaG60ixcsupL
236NmPJjpTmTCXMUppHSw5ryWkvubDSgqOEu0qLeMntLnm8JS9RWvKViEBpOVjyhUr+SCkQLX2IlYIr
237pY+JUmi1FF4rRVKlT+ul6Ebpc6YU2yzFt0orudKX7VJip/S1UFrdLSX3Smul0rf9Uuqw9L1cWj8q
238pU9KG5XSj9NS5rz0e7W0eVHKXpW2aqU/rku529Kf9dL2XSn/UNpplP56LBWeS38DwIG46UDScjBE
239OpC2Hgy3H8jIB/KOA0XnwQj1AOw6GO0+UNIPVD0H6t6DMeYB1Hcw3n+gYR9oBw50gwcT3AOYdzAp
240ONALDwyiA6PkYEp6gMgOphUHJvDArDywqA9moANUczCrO7DCBzb9gd14MIccYKaDecuBAz1wWg9c
2419oMF7AB3HCy6Dtz4gcd94PUeLBEHhO9gOXDgCx74QweByMGH6EEwdvBx5SCUOAivHkTWDj6lDqLr
242B583DmKZg/jmwcrWwZfcQWL74OvOwWrhILl7sLZ38K10kNo/+H54sF4+SB8dbJwc/KgcZE4Pfj8/
2432KweZC8Otq4O/qgd5K4P/rw92K4f5O8Odh4O/mocFB4P/n4+2AWAsqSpPNRSlpLKw61lWXtZTi4r
244OsojnWWQWh7tKiu7yyp6Wd1THustQ8zyeF9Z01/Wssu6gfLEYBnmlid5Zb2gbBCWjaLylKSMSMvT
245srJJUTaDZYuyPKMuo1B5VlO26so2uGzXl+eMZQwpz5vKDkvZiZZd1vKCvYxj5UVH2e0qe/Cy111e
2468pYJorzsK/sCZX+wHAiVP0T+0Tnlj7FyaKUcTpQjq+VPa+Voqvx5vRzbKMcz5ZXN8petciJX/rpd
247Xt0pJwvltd3yt71yqlT+vl9ePyyny+WNo/KPk3KmUv79tLx5Xs5Wy1sX5T+uyrla+c/r8vZtOV8v
24879yV/3ooFxrlvx/Lu8/lIgAcDzUdS1uOh0nHstZjefuxgnw80nEMdh6PUo+VXceq7mM1/Xis5xjq
249PR5nHmv6jrX9xzr28cTAMTx4PMk91vOODYJjo/B4SnSMSI6npccm2bFZcWwBj2eUx6j6eBY6tmqO
250bbpjO3w8pz/GjMfzyLHDdOy0HLvQ4wXrMW4/XsSO3Y5jj+vYix8vuY8J7/EycezzHfsDx4Hg8YfQ
251cTBy/DF6HIodh1eOI4njT6vH0bXjz6nj2PpxfON4JXP8ZfM4sXX8NXe8un2c3DleKxx/2z1O7R1/
252Lx2v7x+nD483ysc/jo4zJ8e/V443T4+z58db1eM/Lo5zV8d/1o63r4/zt8c79eO/7o4LD8d/N453
253H4+Lz8d7AFCRNlWGWyoyUkXeWlG0V0bIFbCjMtpZUVIrqq6KursyRq9APZXx3oqGWdH2VXT9lQl2
254BR6oTA5W9NyKgVcxCipTwgoiqkxLKiZpxSyrWBSVGbCCKiuz6ooVqtg0FbuuMgdXMH1l3lhxIBWn
255qeKyVBbQCm6tLNorbqzicVS8rsoSXiHclWVvxUdU/L5KIFD5EKwEQ5WPkUooWgnHKpGVyqdEJbpa
256+bxWiaUq8fXKykblS6aS2Kx83aqs5irJ7craTuVboZLarXzfq6yXKun9ysZh5Ue5kjmq/H5S2axU
257sqeVrfPKH9VK7qLy51Vlu1bJX1d2bit/1SuFu8rfD5XdRqX4WNl7rvwXAM6Gm85kLWdy0pmi9Wyk
258/Qwkn412nCk7z1TUM3XX2Vj3GUQ/G+850/SeaZlnur6zif4zmH02OXCmHzwzcM+MvLMpwRkiPJsW
259nZkkZ2bpmUV2NqM4Q8GzWeWZVX1mg87smrM53RkGn83rzxzGMydy5jKdLVjOcPRs0Xrmtp95sDOv
26042zJdUbgZ8vuM5/3zE+cBXxnHwJnweDZx9BZKHIWjp5FYmefVs6iibPPq2extbN46mxl/ezLxlki
261c/Z182x16yyZO1vbPvu2c5YqnH3fPVvfO0uXzjb2z34cnmXKZ78fnW2enGUrZ1unZ3+cn+WqZ39e
262nG1fneVrZzvXZ3/dnhXqZ3/fne0+nBUbZ3uPZ/99PisBQFXWVJW3VBWk6khrFWyvjpKryo6qqrOq
263plbHuqpQd3WcXtX0VLW9VR2zOtFXhfurk+yqfqBqGKwaudUpXhURVKeFVZOoapZULdLqjKyKKqqz
264YNWqrNrUVTtUndNUMV11Hq469FWnsepCqgumKm6pLqJVt7XqsVe9WHXJUSVc1WW86nNX/d5qgKh+
2658FWDgerHYDUUqoYj1Ui0+ilWja5UPyeqsX9k11p1JVX9sl5NbFS/Zqqrm9XkVnUtV/22XU3tVL8X
266quu71fRedaNU/bFfzRxWfy9XN4+q2ZPqVqX6x2k1d179s1rdvqjmr6o7tepf19XCbfXvenX3rlp8
267qO41qv99rJaeq/8DgEt506Wi5XKEdAm2Xo62XyrJl6qOS3Xn5Rj1Euq6HO++1NAvtT2Xut7LCeYl
2683Hc52X+pZ18aBi6Ng5dT3EuEdzktuDQJL82iS4vkckZ6icouZxWXVvDSpry0qy/noEtMczmvu3TA
269l079pct4uYBc4qbLRculG730WC+99ssl7JJwXC67Ln34pd99GfBefiAug77Lj4HLUPAyHLqMRC4/
270RS+jscvPK5exxGV89XJl7fJL6jKxfvl143I1c5ncvFzbuvyWu0xtX37fuVwvXKZ3Lzf2Ln+ULjP7
271l78fXm6WL7NHl1snl39ULnOnl3+eX25XL/MXlztXl3/VLgvXl3/fXu7WL4t3l3sPl/9tXJYeL//3
272fLkPADVFU22kpQaSaqOtNWV7TUWuqTtqY501iFob76ppumtaek3XU5vorcHM2mRfTd9fM7BrxoHa
2731GAN4dameTWToGYW1iyi2oykhkprs7KaVVGzgTW7sjanrmFQbV5Tc+hqTrjm0tcWjDUcqS2aam5L
274zYPWvNbakr1GYLVlR83nqvnxWsBd++CtBYnaR18tFKiFg7VIqPYpUotGa59jtdhKLZ6orazWvqzV
275/lGBX9drqxu1ZKa2tln7tlVL5Wrft2vrO7V0obaxW/uxV8uUar/v1zYPa9lybeuo9sdJLVep/Xla
2762z6v5au1nYvaX1e1Qq3293Vt97ZWrNf27mr/faiVGrX/Pdb2n2sHAHAz0nQDttyMkm6UrTeq9hs1
277+Was4wbqvBmn3mi6brTdNzr6zUTPDdx7M8m80ffdGPpvjOybqYEbZPBmmntj4t2YBTcW4c2M6AaV
2783MxKb6yyG5vixg7ezClvMPXNPHTj0Nw4dTcu+GZBf4MbbxaRG7fpxmO58aI3S9Ybwn6zjN34HDd+
279100Av/ngvgl6bz4SNyHfTThwEwnefArdRCM3n6M3sdhNfOVmJXHzZfUmsXbzNXWzun6T3LhZy9x8
28027xJbd18z92sb9+kd242Cjc/dm8yeze/l24292+yhzdb5Zs/jm5yJzd/Vm62T2/y5zc71Zu/Lm4K
281Vzd/1252r2+Ktzd79Zv/3t2UHm7+17jZf7w5eL45BIA62FQfbakrSXVVa13dXh8j16GO+nhnXUOt
282a7vquu76BL0O99Qne+t6Zt3QVzf216fYdWSgPj1YN3HrZl7dIqjPCOuoqD4rqVuldZusblfU58A6
283pqzPq+sOqO7U1F26+gJcx/X1RWPdjdQ9prrXUl9C64S1vmyv+7C631EPuOof8HrQXf/orYeIethX
284jwTqn4L1aKj+OVKPRevxWH1lpf4lUU+s1r+u1VdT9eR6fW2j/i1TT23Wv2/V13P19HZ9Y6f+o1DP
2857NZ/36tvlurZ/frWYf2Pcj13VP/zpL5dqedP6zvn9b+q9cJF/e+r+m6tXryu793W/1uvl+7q/3uo
2867zfqB4/1w+f6/wHA/WjTvbLlXkW6V7fej7XfQ+T78Y57Tee9lnqv67qf6L6H6feTPff63nsD897Y
287dz/Vf4+w76cH7k2D92buvYV3PyO4R4X3s6J7q+TeJr23y+7nFPcYeD+vvHeo753QvUtzv6C7x+H7
288Rf2923jvQe69pvslyz2B3i9b7332ez92H3Dcf3DdB/H7j+77kPc+TNxHfPefAvfR4P3n0H0sch+P
2893q/E7r+s3CcS919X71fX7pOp+7X1+28b96nM/ffN+/Wt+3TufmP7/sfOfaZw//vu/ebefbZ0v7V/
290/8fhfa58/+fR/fbJfb5yv3N6/9f5faF6//fF/e7VfbF2v3d9/9/b+1L9/n939/sP9weN+8PH+/97
291vi8DQEPZ1FC1NNSkxlhrA2pvjJMbmo6GtrOhozYmuhpwd2OS3tD3NAy9DSOzMdXXQPob0+yGaaBh
292HmxYuI0ZXgMVNGaFDauoYZM07NLGnKyBKRrzYMOhbDjVDRfUWNA0cF1jEW649Q2PseFFGkumBmFp
293LKMNn7XhtzcCWOODoxF0NT7ijZC7EfY2IkTjk68RDTQ+BxuxUCMeaaxEG19ijcRK42uisbraSK41
2941lKNb+uN1Ebje6axvvmPJW1s5Bo/thuZncbvhcbmbiO719gqNf7Yb+QOG3+WG9tHjfxJY6fS+Ou0
295UThv/F1t7F40ileNvVrjv9eN0m3jf/XG/l3j4KFx2Gj832Oj/Nz4fwDwpGp6Urc8jZGeoNan8fYn
296DflJ2/Gk63yaoD7BXU+T3U96+pOh58nY+zTFfEL6nqb7n0zsJ/PAk2XwaYb7hPKeZgVPVuGTTfRk
297lzzNSZ8w2dO84skBPjmVTy710wL0hGueFnVPbvjJo3/yGp+WkCfC9LRsefKhT37rU8D+9AF7Cjqe
298PrqeQvhT2P0U8T59Ip6ivqfPgadY8CkeelqJPH2JPiViT19XnlYTT8nVp7W1p2+pp9T60/eNp/XM
299U3rzaWPr6UfuKbP99PvO02bhKbv7tLX39EfpKbf/9Ofh03b5KX/0tHPy9FflqXD69Pf50271qXjx
300tHf19N/aU+n66X+3T/v1p4O7p8OHp/9rPJUfn/7f89PR/w8QCy14LJdV2gAAAABJRU5ErkJggg==</one:Data></one:Image></one:Page>
corpus/m6/native-expanded-control-ui-01/before-read/page-007.pdf created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/before-read/page-007.pdf differ
corpus/m6/native-expanded-control-ui-01/before-read/page-007.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{45CD2B75-3511-0E18-1ED1-A4F292E98BC8}{1}{B0}" name="Image jpg" dateTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T06:00:21.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T02:25:42.000Z" objectID="{9BF08D5A-C2CC-06FD-20A2-36365AA7D039}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image jpg]]></one:T></one:OE></one:Title><one:Image format="jpg" hyperlink="https://example.invalid/image/jpg" alt="Pattern jpg" originalPageNumber="0" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{9BF08D5A-C2CC-06FD-20A2-36365AA7D039}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="144.0" height="48.00000381469727" isSetByUser="true"/><one:Data>/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a
3HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy
4MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABAAGADASIA
5AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
6AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3
7ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
8p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA
9AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
10BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
11U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
12uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDwhYfa
13plh9qsrD7VMsPtUqRFOqVVh9qmWH2qysPtUyw+1UpHbTqlZYfaplh9qsrD7VMsPtVqR206pVWGpl
14h9qsrDUyw+1UpHbTqlZYalWH2q0sNSrD7VSkdtOqVlh9qmWH2qysPtUyw+1UpHdTqnHrD7VMsPtV
15lYfaplh9q81SPyqnVKqw+1TLD7VZWH2qZYfaqUjtp1SssPtUyw+1WVh9qmWH2qlI7adUqrDUyw+1
16WVhqZYfarUjtp1SssNSrD7VaWGpVh9qpSO2nVKyw+1TLD7VZWH2qZYfaqUjup1Tj1h9qmWH2qysP
17tUyw+1eapH5VTqlVYfaplh9qsrD7VMsPtVKR206pWWH2qZYfarKw+1TLD7VSkdtOqVVhqZYfarKw
181MsPtVqR206pWWGpVh9qtLDUqw+1UpHbTqlZYfaplh9qsrD7VMsPtVKR206px6w+1TLD7VZWH2qZ
19YfavNUj8rp1SqsPtUyw+1WVh9qmWH2qlI7adUrLD7VMsPtVlYfaplh9qpSO2nVKqw1MsPtVlYamW
20H2q1I7adUrLDUqw+1WlhqVYfaqUjtp1SssPtUyw+1WVh9qmWH2qlI7adU//Z
21</one:Data></one:Image></one:Page>
corpus/m6/native-expanded-control-ui-01/before-read/page-008.pdf created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/before-read/page-008.pdf differ
corpus/m6/native-expanded-control-ui-01/before-read/page-008.xml created+6
...@@ -0,0 +1,6 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{59B2724D-8424-0624-39D2-34278D058FD8}{1}{B0}" name="Image role background=true, printout=false" dateTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{9F0FF7C1-D4DF-0B70-0B48-E6D60AAD9643}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image role background=true, printout=false]]></one:T></one:OE></one:Title><one:Image format="png" backgroundImage="true" alt="Role pattern" originalPageNumber="2" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{9F0FF7C1-D4DF-0B70-0B48-E6D60AAD9643}{39}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="288.0" height="192.0" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec
3CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI
4E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp
5oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT
6+wHXVRp4qDc0HQAAAABJRU5ErkJggg==</one:Data></one:Image><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{9F0FF7C1-D4DF-0B70-0B48-E6D60AAD9643}{41}{B0}"><one:Position x="72.0" y="108.0" z="1"/><one:Size width="146.7475433349609" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{9F0FF7C1-D4DF-0B70-0B48-E6D60AAD9643}{42}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Foreground role control]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-expanded-control-ui-01/before-read/page-009.pdf created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/before-read/page-009.pdf differ
corpus/m6/native-expanded-control-ui-01/before-read/page-009.xml created+46
...@@ -0,0 +1,46 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{8A48861A-496F-05FB-36BA-710F3EF7D51E}{1}{B0}" name="Image gif" dateTime="2026-09-06T02:25:44.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{F11D8E2B-2F45-0008-211C-E532CEC05C7D}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image gif]]></one:T></one:OE></one:Title><one:Image format="png" hyperlink="https://example.invalid/image/gif" alt="Pattern gif" originalPageNumber="0" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{F11D8E2B-2F45-0008-211C-E532CEC05C7D}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="144.0" height="48.00000381469727" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAMAAADS6oI8AAADAFBMVEW4t5mrt5O4qpWrqo6euo2S
3uoeZs4ieqoiSqoK4nJCrnIq4kIyrkIaen4SSn36ZmH+ekH+SkHmGuoGGs395t3pounJos3CGqnx5
4qnVtqm9iqmqGnHd5nHGGkHN5kG1on2lomGdokGS4hIirhIK4d4Srd32eh3ySh3aZgHeed3eSd3G4
5a4Cra3m4YHyrYHaea3OSa22eYG+SYGmGh3CGgG55hGloh2FogF+Gd2t5d2Rtd15id1mGa2d5a2CG
6YGN5YF1ta1pia1VoYFRWumlWs2dJt2I4ulo4s1hWqmRJql09qlcyqlImulEaukshs0wKukMKs0Em
7qkwaqkYPqkAEqjtWnF9JnFlWkFtJkFU4n1E4mE84kEwmn0gan0IhmEMmkEMakD0KnzoKmDgKkDVW
8h1hWgFZJhFE4h0k4gEdWd1NJd0w9d0Yyd0FWa09Ja0hWYEtJYEU9a0Iyaz04YDwmh0AahzohgDsK
9hzIKgDAmdzsadzUPdy8EdyomazcaazEmYDMaYC0PaysEayYKYCW4VHirVHK4R3SrR22eV2ySV2aZ
10UGeeR2eSR2G4O3CrO2m4MGyrMGaeO2OSO12eMF+SMFmGV2CGUF55VFloV1FoUE+GR1t5R1RtR05i
11R0mGO1d5O1CGMFN5ME1tO0piO0VoMES4JGirJGK4GGSrGF6eJ1ySJ1aZIFeeGFeSGFG4DmGrDlq4
12A12rA1eeDlSSDk6eA1CSA0qGJE95JEmGGEt5GEVoJ0FoID9oGDyGDkh5DkGGA0R5Az5tDjtiDjZo
13AzVWVEdJVEE4Vzk4UDdWR0NJRzw9RzYyRzFWOz9JOzhWMDtJMDU9OzIyOy04MCwmVzAaVyohUCsK
14VyIKUCAmRysaRyUPRx8ERxomOycaOyEmMCMaMB0POxsEOxYKMBVWJDdJJDFWGDNJGC04Jyk4ICc4
15GCRWDjBJDilWAyxJAyY9DiMyDh44Ax0mJyAaJxohIBsmGBsaGBUKJxIKIBAKGA0mDhgaDhImAxQa
16Aw4PDgwEDgcKAwZYdbPqAAAAAWJLR0QAiAUdSAAAAAxjbVBQSkNtcDA3MTIAAAADSABzvAAABjJJ
17REFUWEedkImbTgUcha9ChZl2RUKR0TKTtGiRsZUSEpI0tKm0GoW0WSOjMmNpL82oFG1apJJltNDC
18KKRNURRZytZqRr9zzl2+79779Ty+9w943+ccZ7fPLvGv+N1js9jk8r7HfDFPzCRvktfIDOGEA64/
19rYD8oUCFVyhPGuAHtqRYUJq0IHFAOFBh7C4Hu/4B//4NfgO/bwGbN4JNm34FC8D7pWD+XDBv3hww
208w3w5uvgtVfBjBmvAAf+CvrL6f+HfgXo30L/RurdAP2l9M+lfs4c+t+g/3X6X6U+JiB/egH54wJ/
21xQ74bUNkAR9a8F5kQeKAaOAvUr5T7CB20Aay5WexTkBPSt8Rb4uXyUvkBfK8cCqkNxL9O3ZIbyQH
221klvxATkDwVC/p3btcAPrE8RmJ0U0IAX4wJ/+mDBdoLAeg8E1q5da/f8BGZ7IDBr1iy75y0DeqIB
23U6dOtXueM5wgsM1QYKvhB0wOaE8MmBzAbkyfPl2BadOmmd2A3Qv8QRBAAXoGfiHRwLskEkDB9OGA
245H5gm/Rbt8oeDcgeDtgAg/qUAQ7YliJQVoZ7lhjJgZIS/FNcHAkUFeGfwsJC50efH8T34guPMgE5
25eNajRBSLSWQiKSImB5GA608rIH8osMZbsDppgB9YmmLBlKQFiQPCgTXGj6vBD6vA99+Bz8EXS0HZ
26YrBkyWfgGfDsFFDyNCgungwmTQATx4OicaCw8EHgwL+G/tX0r6JfAfqX0r+YejdA/xT6n6Z+8mT6
27J9A/nv5x1McE5E8vIH/KQGRAzAI+9Ex0QeKAUOBb8g34mnxFPiWfgI/FIvIUeRI8IR4nD5D7yX1i
28NHECfzRAvxuQXwH63YD8MQH5owEN0II9DWiAuyAxsHJl8NCKFb5/4cLIAg547LHIAj00dmx8YCXh
29QysEBywkuOhDY9GiDwD9ABc9YjwsqCcYMMoYPfpe4HwrvbHckH+ZIb0Bu0G9Ib0BexAoKCiQf8yY
30MdCPGkW9BaD+kiCAAvQMfESigUeJH3gIWAAF04cDkvuB5dIvWyZ7NCB7EKBegQLqUwY4YHmKQH4+
317ulnJAdycxP8iYGcHPyTnZ3tjPQZJoaK2zzyBeSgtUeuaCGakpNIDjE5iARcf1oB+UOBEd6C4UkD
32/ED/FAtaJi1IHBAOjDBGDgfDhoCh94BbwW39Qf4toF+/m0Er0LolyD0btGjRHDRtAk46EeScALKz
33jwcO/CPoH07/EPoVoL8//bdQ7wbob0n/2dQ3b05/E/pPpP8E6mMC8qcXkD9lIDIgZgEfahVdkDgg
34FLib3AXuJHeQm8iN4AZxPTmLnAnOEKeT48ix5BjRkDiBPxqg3w3IrwD9bkD+mID80YAGaMGeBjTA
35XZAYGDw4eGjQIN/ft29kAQc0axZZoIcaN44PDCZ8aJDggL4EF11rXCPoB7joVOMUQT3BgAZGw4ZH
36A+du6Y2BhvwDDOkN2IPANdIbsAeBrKws+Rs1agR9gwbUWwDq2wkCKEDPwHXED/Qhpj6N+IGTgQVQ
37MH04ILkfGCj9gAGyBwHp+/SRPQhQr0AW9SkDHDAwRaBHj/hA3boJ/sRAjRr4p3r16s7VPleIy8Vl
38Hj3EJS5HedQVR4oDyQGkBjE5iARcf1oB+VMF3AG9Qwt6plhQP2mBBuwfF7jKB4XeBI2eHgh0797d
39HroY1PdAoE6dOnbPEQb0RAOqVatm9+xnOEGgl6FAnuEHTA5oTwyYHMBuZGZmKpCRkWF2A3YvcCVB
40AAXoGbiURAP1SCSAgunDAcn9QC/p8/JkjwZkDwdsgEF9ONDN83flgkigffuki2p7/lq1Ei/6v0A3
4148quoFcXkHcRuABc2h6cL84jtUG9WuBwcRjJ3Bdk7AP2FnsRB/5u9Helvwv9CtDvBuRXgH43IP9h
429O9LvxuQPxqQP72A/DGBzp2DAZ06+f527SILOKBmzcgCDahaNT7QmfChToID2hFcdI7RVtAPcNEh
43xsGCeoIBlQx7h3ST3uhoyN/BkN6APQi0ld6APQhUqVJF/sqVK0NfqZL0jgP1hQQBFKBn4FziB9oQ
44Ux9K/MBBwAIomD4ckNwPdJS+QwfZg4D0bdrIHgSoV6AK9SkDHNAxzQD9sYH/AHAD8Cry1R2MAAAA
45AElFTkSuQmCC
46</one:Data></one:Image></one:Page>
corpus/m6/native-expanded-control-ui-01/before-read/page-010.pdf created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/before-read/page-010.pdf differ
corpus/m6/native-expanded-control-ui-01/before-read/page-010.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{8D84E5D0-1791-0BC9-15B4-071F22553597}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T06:00:21.000Z" pageLevel="1" style="font-family:Calibri;font-size:11.0pt" lang="en-US"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="Fixture Author" lastModifiedBy="Fixture Author" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{E20AF8E2-158C-0839-31E9-2755DCDB7C1E}{23}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="191.1661224365234" height="13.4277172088623"/><one:Indents><one:Indent level="0" indent="0.0"/></one:Indents><one:OEChildren><one:OE creationTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{E20AF8E2-158C-0839-31E9-2755DCDB7C1E}{24}{B0}" alignment="left"><one:T><![CDATA[A notebook created in Rust.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-expanded-control-ui-01/before-read/page-011.pdf created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/before-read/page-011.pdf differ
corpus/m6/native-expanded-control-ui-01/before-read/page-011.xml created+6
...@@ -0,0 +1,6 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{8E838762-DE34-0E40-1EE3-4325D5F46BAB}{1}{B0}" name="Image role background=false, printout=false" dateTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{BC54CAA5-05FE-0F9E-380E-208C766ABB19}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image role background=false, printout=false]]></one:T></one:OE></one:Title><one:Image format="png" alt="Role pattern" originalPageNumber="2" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{BC54CAA5-05FE-0F9E-380E-208C766ABB19}{39}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="288.0" height="192.0" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec
3CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI
4E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp
5oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT
6+wHXVRp4qDc0HQAAAABJRU5ErkJggg==</one:Data></one:Image><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{BC54CAA5-05FE-0F9E-380E-208C766ABB19}{41}{B0}"><one:Position x="72.0" y="108.0" z="1"/><one:Size width="146.7475433349609" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{BC54CAA5-05FE-0F9E-380E-208C766ABB19}{42}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Foreground role control]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-expanded-control-ui-01/before-read/page-012.pdf created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/before-read/page-012.pdf differ
corpus/m6/native-expanded-control-ui-01/before-read/page-012.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{94D4815F-8289-04F4-084F-3C20BF91CF04}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:23.000Z" pageLevel="2" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{878DE9FD-B150-0DA3-0B18-485739BF1CC2}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{878DE9FD-B150-0DA3-0B18-485739BF1CC2}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="266.8237915039062" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{878DE9FD-B150-0DA3-0B18-485739BF1CC2}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group B/Nested/Duplicate.one, level 2]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-expanded-control-ui-01/before-read/page-013.pdf created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/before-read/page-013.pdf differ
corpus/m6/native-expanded-control-ui-01/before-read/page-013.xml created+6
...@@ -0,0 +1,6 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{9C66A2F4-9062-052D-2916-5D209A0B1FD3}{1}{B0}" name="Image role background=true, printout=true" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{73A91EB1-A031-0F20-080E-445289AA7014}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image role background=true, printout=true]]></one:T></one:OE></one:Title><one:Image format="png" backgroundImage="true" isPrintOut="true" alt="Role pattern" originalPageNumber="2" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{73A91EB1-A031-0F20-080E-445289AA7014}{39}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="288.0" height="192.0" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec
3CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI
4E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp
5oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT
6+wHXVRp4qDc0HQAAAABJRU5ErkJggg==</one:Data></one:Image><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{73A91EB1-A031-0F20-080E-445289AA7014}{41}{B0}"><one:Position x="72.0" y="108.0" z="1"/><one:Size width="146.7475433349609" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{73A91EB1-A031-0F20-080E-445289AA7014}{42}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Foreground role control]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-expanded-control-ui-01/before-read/page-014.pdf created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/before-read/page-014.pdf differ
corpus/m6/native-expanded-control-ui-01/before-read/page-014.xml created+6
...@@ -0,0 +1,6 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{CE4DF6C2-E2BE-0A5F-3CE2-EF28102ADAEC}{1}{B0}" name="Image role background=false, printout=true" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{AB2D47E0-D7B0-02E3-1F54-B2B37D436396}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image role background=false, printout=true]]></one:T></one:OE></one:Title><one:Image format="png" isPrintOut="true" alt="Role pattern" originalPageNumber="2" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{AB2D47E0-D7B0-02E3-1F54-B2B37D436396}{39}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="288.0" height="192.0" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec
3CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI
4E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp
5oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT
6+wHXVRp4qDc0HQAAAABJRU5ErkJggg==</one:Data></one:Image><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{AB2D47E0-D7B0-02E3-1F54-B2B37D436396}{41}{B0}"><one:Position x="72.0" y="108.0" z="1"/><one:Size width="146.7475433349609" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{AB2D47E0-D7B0-02E3-1F54-B2B37D436396}{42}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Foreground role control]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-expanded-control-ui-01/before-read/page-015.pdf created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/before-read/page-015.pdf differ
corpus/m6/native-expanded-control-ui-01/before-read/page-015.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{D0D04EF0-C565-0ED4-2AB4-711BAE6015ED}{1}{B0}" name="Paragraph controls" dateTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:QuickStyleDef index="1" name="Fixture style" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="14.0" strikethrough="true" spaceBefore="0.25" spaceAfter="0.125"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{950660A5-8233-0DAA-0E09-AA4B672F6B66}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Paragraph controls]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{950660A5-8233-0DAA-0E09-AA4B672F6B66}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="480.0" height="87.66204071044922"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{950660A5-8233-0DAA-0E09-AA4B672F6B66}{40}{B0}" alignment="left" spaceBefore="9.0" spaceAfter="4.5" quickStyleIndex="1"><one:T><![CDATA[<span
3style='text-decoration:line-through'>Inherited strike and spacing</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{950660A5-8233-0DAA-0E09-AA4B672F6B66}{47}{B0}" alignment="center" spaceBefore="12.0" spaceAfter="6.0" quickStyleIndex="0"><one:T><![CDATA[Centered paragraph]]></one:T></one:OE><one:OE RTL="true" creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{950660A5-8233-0DAA-0E09-AA4B672F6B66}{52}{B0}" alignment="right" quickStyleIndex="0" style="font-family:Arial;font-size:11.0pt;text-align:right"><one:T><![CDATA[<span
4style='direction:rtl;unicode-bidi:embed' lang=ar-SA>مرحبا بالعالم</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" collapsed="1" objectID="{950660A5-8233-0DAA-0E09-AA4B672F6B66}{58}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Collapsed parent]]></one:T><one:OEChildren indent="2"><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{950660A5-8233-0DAA-0E09-AA4B672F6B66}{63}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Hidden child remains stored]]></one:T><one:OEChildren><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{950660A5-8233-0DAA-0E09-AA4B672F6B66}{68}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Grandchild]]></one:T></one:OE></one:OEChildren></one:OE></one:OEChildren></one:OE><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{950660A5-8233-0DAA-0E09-AA4B672F6B66}{73}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[AB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;C]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-expanded-control-ui-01/before-read/page-016.pdf created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/before-read/page-016.pdf differ
corpus/m6/native-expanded-control-ui-01/before-read/page-016.xml created+9
...@@ -0,0 +1,9 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{ECFFF87F-0CB5-003C-3076-4C1C6F935479}{1}{B0}" name="Image bmp" dateTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T06:00:21.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:43.000Z" lastModifiedTime="2026-09-06T02:25:43.000Z" objectID="{BDBBBCD1-A5B1-076B-2BD7-5F0A810BDB28}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image bmp]]></one:T></one:OE></one:Title><one:Image format="png" hyperlink="https://example.invalid/image/bmp" alt="Pattern bmp" originalPageNumber="0" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{BDBBBCD1-A5B1-076B-2BD7-5F0A810BDB28}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="144.0" height="48.00000381469727" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAAXNSR0IArs4c6QAAAAlwSFlzAAAO
3xAAADsQBlSsOGwAAARlJREFUeF7t2VFHQ2EcBvD3PWetVqvVam1ERESMiIiIiL7/J5p9gD1dvF51
48eNcn4uf53n2P1ZLKUOpnkMCtYx0kkAt00F8gkAtsxFQBJpPAEWgxRGgCLScAopAq2NAEWhzAigC
53c0ARaD7U0AR6OEMUAR6nAOKQE/ngCLQ8wWgCLRdAIpAL5eAItDrFaAI9LYEFIHerwFFoI8bQBHo
6cwUoAn3dAopA32tAEehnAygKjPu/xjyHBAY0WQDQL+0BBKhtYSVIgiSo6w+xiqmYiqnYX34J2SAb
7ZINskA1qa4EESZAEdW1B15e7g9xBbf2VIAmSICPtDmprgQRJkAR1bUHXl7uD3EFt/ZUgCZIgI+0O
8amuBBEnQP07QDo1OW207QPoWAAAAAElFTkSuQmCC
9</one:Data></one:Image></one:Page>
corpus/m6/native-expanded-control-ui-01/before-read/page-017.pdf created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/before-read/page-017.pdf differ
corpus/m6/native-expanded-control-ui-01/before-read/page-017.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EEC0EBD1-BCA4-04CF-1581-C1F540980D0E}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:23.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{1CA8FF10-413B-09A5-0EC6-907EDF12FDA5}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{1CA8FF10-413B-09A5-0EC6-907EDF12FDA5}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="266.8237915039062" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{1CA8FF10-413B-09A5-0EC6-907EDF12FDA5}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group B/Nested/Duplicate.one, level 1]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-expanded-control-ui-01/before-read/page-018.pdf created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/before-read/page-018.pdf differ
corpus/m6/native-expanded-control-ui-01/before-read/page-018.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{F40778E5-4A16-0CC5-06BF-5A46F1FF9CA8}{1}{B0}" name="Numbering controls" dateTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Numbering controls]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="125.0376281738281" height="137.070068359375"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{40}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="0" numberFormat="##" restartNumberingAt="3" font="Calibri" text="3"/></one:List><one:T><![CDATA[Sequence 0, item 0]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{46}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="0" numberFormat="##" font="Calibri" text="4"/></one:List><one:T><![CDATA[Sequence 0, item 1]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{52}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="1" numberFormat="##" restartNumberingAt="3" font="Calibri" text="III"/></one:List><one:T><![CDATA[Sequence 1, item 0]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{58}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="1" numberFormat="##" font="Calibri" text="IV"/></one:List><one:T><![CDATA[Sequence 1, item 1]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{64}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="2" numberFormat="##" restartNumberingAt="3" font="Calibri" text="iii"/></one:List><one:T><![CDATA[Sequence 2, item 0]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{70}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="2" numberFormat="##" font="Calibri" text="iv"/></one:List><one:T><![CDATA[Sequence 2, item 1]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{76}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="3" numberFormat="##" restartNumberingAt="3" font="Calibri" text="C"/></one:List><one:T><![CDATA[Sequence 3, item 0]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{82}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="3" numberFormat="##" font="Calibri" text="D"/></one:List><one:T><![CDATA[Sequence 3, item 1]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{88}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="4" numberFormat="##" restartNumberingAt="3" font="Calibri" text="c"/></one:List><one:T><![CDATA[Sequence 4, item 0]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{94}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="4" numberFormat="##" font="Calibri" text="d"/></one:List><one:T><![CDATA[Sequence 4, item 1]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-expanded-control-ui-01/before-read/page-019.pdf created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/before-read/page-019.pdf differ
corpus/m6/native-expanded-control-ui-01/before-read/page-019.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{FAF3951F-EA54-0DDA-2D09-FE9DEFE4F065}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:23.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{7E4D93AE-D4AA-0AC6-3104-9CCB6203D325}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{7E4D93AE-D4AA-0AC6-3104-9CCB6203D325}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="231.1436157226562" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{7E4D93AE-D4AA-0AC6-3104-9CCB6203D325}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group A/Duplicate.one, level 1]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-expanded-control-ui-01/before-read/payloads.json created+18
...@@ -0,0 +1,18 @@
1[
2 {
3 "sha256": "4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2",
4 "name": "Fictitious attachment.txt",
5 "object": "{2E7BA99D-CDED-080F-2255-D01592C0E5C8}{40}{B0}",
6 "kind": "InsertedFile",
7 "page": "{34619019-150E-06C2-3149-42A4E92723BF}{1}{B0}",
8 "bytes": 27
9 },
10 {
11 "sha256": "56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9",
12 "name": "silence.wav",
13 "object": "{2E7BA99D-CDED-080F-2255-D01592C0E5C8}{44}{B0}",
14 "kind": "MediaFile",
15 "page": "{34619019-150E-06C2-3149-42A4E92723BF}{1}{B0}",
16 "bytes": 16044
17 }
18]
\ No newline at end of file
corpus/m6/native-expanded-control-ui-01/commands.jsonl created+6
...@@ -0,0 +1,6 @@
1{"command": "powershell -NoProfile -Command \"Expand-Archive -LiteralPath C:\\one-tests\\transfer.zip -DestinationPath C:\\one-tests\\runs\\capture\\notebook\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
2{"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-DB65123D -ExpectedPages 20 -Pdf -KeepOpen", "exit": 0, "stdout": "Read 5 sections and 20 pages.\r\n", "stderr": "", "error": null}
3{"command": "powershell -NoProfile -Command \"Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\read -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
4{"command": "powershell -NoProfile -Command \"Rename-Item C:\\one-tests\\runs\\capture\\read before-read\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
5{"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-DB65123D -UseCurrentCache -ExpectedPages -1 -Pdf", "exit": 0, "stdout": "Read 5 sections and 20 pages.\r\n", "stderr": "", "error": null}
6{"command": "powershell -NoProfile -Command \"Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\* -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
corpus/m6/native-expanded-control-ui-01/expanded.png created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/expanded.png differ
corpus/m6/native-expanded-control-ui-01/finish created
corpus/m6/native-expanded-control-ui-01/health.json created+9
...@@ -0,0 +1,9 @@
1{
2 "ok": true,
3 "w": 800,
4 "h": 600,
5 "hostname": "ONE-M6-DB65123D",
6 "ahk": "C:\\win7-agent\\vendor\\ahk\\AutoHotkey64.exe",
7 "python": "C:\\win7-agent\\vendor\\python\\python.exe",
8 "agent_sha256": "ef7ca89be026695cf4412460a2eec308b0ed253fb9245597a7fe5d6938e49f89"
9}
corpus/m6/native-expanded-control-ui-01/machine.json created+1
...@@ -0,0 +1 @@
1{"name": "m6-db65123d", "hostname": "ONE-M6-DB65123D"}
corpus/m6/native-expanded-control-ui-01/model/assets.json created+1
...@@ -0,0 +1 @@
1[{"path":"assets/0.bin","reference":{"Internal":[24,174,123,176,253,140,107,73,154,219,36,174,218,63,108,220]}},{"path":"assets/1.bin","reference":{"Internal":[45,22,52,10,96,95,120,74,149,114,208,117,239,252,150,199]}},{"path":"assets/2.bin","reference":{"Internal":[7,152,73,239,100,120,37,76,191,193,55,183,50,251,60,41]}},{"path":"assets/3.bin","reference":{"Internal":[101,133,22,201,93,63,38,68,133,74,149,28,188,8,102,75]}},{"path":"assets/4.bin","reference":{"Internal":[21,180,26,125,154,100,189,67,168,99,187,239,132,20,103,222]}},{"path":"assets/5.bin","reference":{"Internal":[30,98,194,39,135,62,72,68,129,88,26,156,63,209,139,117]}},{"path":"assets/6.bin","reference":{"Internal":[188,232,223,92,160,21,248,78,151,16,208,92,140,190,81,24]}},{"path":"assets/7.bin","reference":{"Internal":[27,128,25,241,248,247,172,71,169,35,81,88,235,90,43,244]}},{"path":"assets/8.bin","reference":{"Internal":[88,222,6,147,153,3,109,79,166,118,29,18,90,218,142,14]}}]
\ No newline at end of file
corpus/m6/native-expanded-control-ui-01/model/assets/0.bin created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/model/assets/0.bin differ
corpus/m6/native-expanded-control-ui-01/model/assets/1.bin created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/model/assets/1.bin differ
corpus/m6/native-expanded-control-ui-01/model/assets/2.bin created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/model/assets/2.bin differ
corpus/m6/native-expanded-control-ui-01/model/assets/3.bin created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/model/assets/3.bin differ
corpus/m6/native-expanded-control-ui-01/model/assets/4.bin created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/model/assets/4.bin differ
corpus/m6/native-expanded-control-ui-01/model/assets/5.bin created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/model/assets/5.bin differ
corpus/m6/native-expanded-control-ui-01/model/assets/6.bin created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/model/assets/6.bin differ
corpus/m6/native-expanded-control-ui-01/model/assets/7.bin created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/model/assets/7.bin differ
corpus/m6/native-expanded-control-ui-01/model/assets/8.bin created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/model/assets/8.bin differ
corpus/m6/native-expanded-control-ui-01/model/document.json created+1
...@@ -0,0 +1 @@
1{"file_id":[167,129,155,6,9,123,217,79,169,213,239,224,5,110,69,141],"root":"{5FBAB4A8-F2EB-4D9C-892F-64D03C6D5C0C},1","spaces":{"{978C6F00-771C-48A4-B209-85FC9330D376},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{C074D235-5F66-44F7-95FA-B83852FB27FE},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{533C39B0-FBAD-4895-9E24-AD9B23BC5F4B},1"},"revisions":{"{C074D235-5F66-44F7-95FA-B83852FB27FE},1":{"roots":{"1":"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},10","2":"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},11","4":"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},26"},"nodes":{"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},10":{"jcid":393271,"children":[],"content":["{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},12"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[]]},"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Image bmp","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"5063cc1a333b1c48bc4b683d66175a9e"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"e0a22304a73ddd01"}}]]},"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},12":{"jcid":393227,"children":["{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},39"],"content":[],"structure":["{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},13"],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128743,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":null,"level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"7600690072007400750061006c000000"}},{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},13":{"jcid":393260,"children":["{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},14","{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},20"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128742,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Title"},"extra":[[{"id":335551550,"value":{"Bytes":"0c000900"}},{"id":335551620,"value":{"Bytes":"00000000"}},{"id":335551729,"value":{"Bytes":"00000000"}}]]},"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},14":{"jcid":393228,"children":["{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},33"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128743,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708793,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"},{"id":2281708689,"value":"NoData"},{"id":335551724,"value":{"Bytes":"00009040"}},{"id":2281708799,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},17":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"virtual"},"extra":[[{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},18":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},20":{"jcid":393228,"children":["{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},21","{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},24"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128742,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708725,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708766,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},21":{"jcid":393229,"children":[],"content":["{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},22"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128742,"modified":1473128742,"original_author":"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},17","latest_author":"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},22":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128742,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Saturday, September 05, 2026","runs":[{"start":0,"end":28,"format":"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},27","extra_set":null}],"paragraph_style":"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},23":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"PageDateTime"},"extra":[[]]},"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},24":{"jcid":393229,"children":[],"content":["{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},25"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128742,"modified":1473128742,"original_author":"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},17","latest_author":"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},25":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128742,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"7:25 PM","runs":[{"start":0,"end":7,"format":"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},27","extra_set":null}],"paragraph_style":"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},26":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":null},"extra":[[]]},"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},27":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},33":{"jcid":393229,"children":[],"content":["{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},37"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128743,"modified":1473128743,"original_author":"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},17","latest_author":"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"}]]},"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},37":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128743,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Image bmp","runs":[{"start":0,"end":9,"format":"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},38","extra_set":null}],"paragraph_style":"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":2281708724,"value":"NoData"}]]},"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},38":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":17.0,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},39":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":72.0,"y":108.0,"max_width":144.0,"max_height":48.000008},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},40","filename":null,"alt":"Pattern bmp","picture_width":72.0,"picture_height":48.0,"background":false,"printout":false,"link":"https://example.invalid/image/bmp"},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb010000003086c74d139ec244ae8bc4516d2b8c6500000000020000000000106600000001000020000000215810c54095838726eb0d20c966e325cb531c4607fe02e955d8e262c8826744000000000e80000000020000200000009aeb527b585045019a19202938afcde2b51cbd242427b13d7a056e450979211420000000f62cf8eb2d0dfc58dc216a51554db463b2f1a6e2a8b6f2379f0d0e55540e53414000000080ea8ab8e559431a2d2c9889f2cfbbc853fcfe706f67357c72b7adbc73bebd6c7b3a980b4817e93ca6d778b363d165b4d829e9a3908fd3268500274a84bc25b2"}},{"id":469769724,"value":{"Bytes":"736cd8fce2891a1c5d62ba23cfbd41f0adea5fb5"}},{"id":2281709006,"value":"NoData"},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":2281708733,"value":"NoData"},{"id":2281709036,"value":"NoData"}]]},"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},40":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[24,174,123,176,253,140,107,73,154,219,36,174,218,63,108,220]},"extension":".png"},"extra":[]}}},"{533C39B0-FBAD-4895-9E24-AD9B23BC5F4B},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}}}},"{3EBEBC0A-4EB8-4680-9CAE-6D126E4A0CC7},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{70F926CC-F9D0-40E9-BA9E-C61949F36760},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{4B7C7101-699A-4DBD-8B5D-703A463A0590},1"},"revisions":{"{4B7C7101-699A-4DBD-8B5D-703A463A0590},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}},"{70F926CC-F9D0-40E9-BA9E-C61949F36760},1":{"roots":{"1":"{E0831A25-B965-4E65-A2DD-FFD6A6045736},10","2":"{E0831A25-B965-4E65-A2DD-FFD6A6045736},11","4":"{E0831A25-B965-4E65-A2DD-FFD6A6045736},26"},"nodes":{"{E0831A25-B965-4E65-A2DD-FFD6A6045736},10":{"jcid":393271,"children":[],"content":["{E0831A25-B965-4E65-A2DD-FFD6A6045736},12"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[]]},"{E0831A25-B965-4E65-A2DD-FFD6A6045736},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Image jpg","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"d0ef0c224100fa43963c22b59e48a339"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"f021c203a73ddd01"}}]]},"{E0831A25-B965-4E65-A2DD-FFD6A6045736},12":{"jcid":393227,"children":["{E0831A25-B965-4E65-A2DD-FFD6A6045736},39"],"content":[],"structure":["{E0831A25-B965-4E65-A2DD-FFD6A6045736},13"],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128742,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":null,"level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"7600690072007400750061006c000000"}},{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{E0831A25-B965-4E65-A2DD-FFD6A6045736},13":{"jcid":393260,"children":["{E0831A25-B965-4E65-A2DD-FFD6A6045736},14","{E0831A25-B965-4E65-A2DD-FFD6A6045736},20"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128742,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Title"},"extra":[[{"id":335551550,"value":{"Bytes":"0c000900"}},{"id":335551620,"value":{"Bytes":"00000000"}},{"id":335551729,"value":{"Bytes":"00000000"}}]]},"{E0831A25-B965-4E65-A2DD-FFD6A6045736},14":{"jcid":393228,"children":["{E0831A25-B965-4E65-A2DD-FFD6A6045736},33"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128742,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708793,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"},{"id":2281708689,"value":"NoData"},{"id":335551724,"value":{"Bytes":"00009040"}},{"id":2281708799,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{E0831A25-B965-4E65-A2DD-FFD6A6045736},17":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"virtual"},"extra":[[{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{E0831A25-B965-4E65-A2DD-FFD6A6045736},18":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{E0831A25-B965-4E65-A2DD-FFD6A6045736},20":{"jcid":393228,"children":["{E0831A25-B965-4E65-A2DD-FFD6A6045736},21","{E0831A25-B965-4E65-A2DD-FFD6A6045736},24"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128742,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708725,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708766,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{E0831A25-B965-4E65-A2DD-FFD6A6045736},21":{"jcid":393229,"children":[],"content":["{E0831A25-B965-4E65-A2DD-FFD6A6045736},22"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128742,"modified":1473128742,"original_author":"{E0831A25-B965-4E65-A2DD-FFD6A6045736},17","latest_author":"{E0831A25-B965-4E65-A2DD-FFD6A6045736},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{E0831A25-B965-4E65-A2DD-FFD6A6045736},22":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128742,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Saturday, September 05, 2026","runs":[{"start":0,"end":28,"format":"{E0831A25-B965-4E65-A2DD-FFD6A6045736},27","extra_set":null}],"paragraph_style":"{E0831A25-B965-4E65-A2DD-FFD6A6045736},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{E0831A25-B965-4E65-A2DD-FFD6A6045736},23":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"PageDateTime"},"extra":[[]]},"{E0831A25-B965-4E65-A2DD-FFD6A6045736},24":{"jcid":393229,"children":[],"content":["{E0831A25-B965-4E65-A2DD-FFD6A6045736},25"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128742,"modified":1473128742,"original_author":"{E0831A25-B965-4E65-A2DD-FFD6A6045736},17","latest_author":"{E0831A25-B965-4E65-A2DD-FFD6A6045736},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{E0831A25-B965-4E65-A2DD-FFD6A6045736},25":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128742,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"7:25 PM","runs":[{"start":0,"end":7,"format":"{E0831A25-B965-4E65-A2DD-FFD6A6045736},27","extra_set":null}],"paragraph_style":"{E0831A25-B965-4E65-A2DD-FFD6A6045736},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{E0831A25-B965-4E65-A2DD-FFD6A6045736},26":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":null},"extra":[[]]},"{E0831A25-B965-4E65-A2DD-FFD6A6045736},27":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{E0831A25-B965-4E65-A2DD-FFD6A6045736},33":{"jcid":393229,"children":[],"content":["{E0831A25-B965-4E65-A2DD-FFD6A6045736},37"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128742,"modified":1473128742,"original_author":"{E0831A25-B965-4E65-A2DD-FFD6A6045736},17","latest_author":"{E0831A25-B965-4E65-A2DD-FFD6A6045736},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"}]]},"{E0831A25-B965-4E65-A2DD-FFD6A6045736},37":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128742,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Image jpg","runs":[{"start":0,"end":9,"format":"{E0831A25-B965-4E65-A2DD-FFD6A6045736},38","extra_set":null}],"paragraph_style":"{E0831A25-B965-4E65-A2DD-FFD6A6045736},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":2281708724,"value":"NoData"}]]},"{E0831A25-B965-4E65-A2DD-FFD6A6045736},38":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":17.0,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{E0831A25-B965-4E65-A2DD-FFD6A6045736},39":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":72.0,"y":108.0,"max_width":144.0,"max_height":48.000008},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128750,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{E0831A25-B965-4E65-A2DD-FFD6A6045736},40","filename":null,"alt":"Pattern jpg","picture_width":72.0,"picture_height":48.0,"background":false,"printout":false,"link":"https://example.invalid/image/jpg"},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb010000003086c74d139ec244ae8bc4516d2b8c65000000000200000000001066000000010000200000008cad040ac7081398a67852bc58b46ebb04e40b6e0a3a39af0d3b7c895e5ce8d4000000000e80000000020000200000006864ef8cced4f32a5725b600c914a13f1347dfed5f11ce03fb703d707c47c45e2000000051be517e7e082d4b0bbfd42804d24d302f30a89d941590fb6bc160d93406e734400000006eaf0f70e5bd6a372231cdada5453162f7ddc1e11fe46426c615ba59a83b75b1f5d6f55de6e7d63db6bba3c2edfdac59014eb0fb4903e88f7ba0fa5508b3857a"}},{"id":469769724,"value":{"Bytes":"7321a3199192deeef11db08454766ad7d65b5526"}},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":2281708733,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769250,"value":{"Bytes":"0000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{E0831A25-B965-4E65-A2DD-FFD6A6045736},40":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[45,22,52,10,96,95,120,74,149,114,208,117,239,252,150,199]},"extension":".jpg"},"extra":[]}}}}},"{774B3F15-481D-4DAC-94A5-561D665799B1},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{41CB75DE-5BFA-4D09-8B75-968E378FC588},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{4A009430-74D8-49A2-BDD0-0FFEDC139370},1"},"revisions":{"{4A009430-74D8-49A2-BDD0-0FFEDC139370},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}},"{41CB75DE-5BFA-4D09-8B75-968E378FC588},1":{"roots":{"1":"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},10","2":"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},11","4":"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},26"},"nodes":{"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},10":{"jcid":393271,"children":[],"content":["{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},12"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[]]},"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Task controls","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"2c397b9ccaf0174f8e0de3924a07a9cc"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"70e06508a73ddd01"}}]]},"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},12":{"jcid":393227,"children":["{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},39"],"content":[],"structure":["{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},13"],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128751,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":null,"level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"7600690072007400750061006c000000"}},{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},13":{"jcid":393260,"children":["{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},14","{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},20"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128750,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Title"},"extra":[[{"id":335551550,"value":{"Bytes":"0c000900"}},{"id":335551620,"value":{"Bytes":"00000000"}},{"id":335551729,"value":{"Bytes":"00000000"}}]]},"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},14":{"jcid":393228,"children":["{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},33"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128751,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708793,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"},{"id":2281708689,"value":"NoData"},{"id":335551724,"value":{"Bytes":"00009040"}},{"id":2281708799,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},17":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"virtual"},"extra":[[{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},18":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},20":{"jcid":393228,"children":["{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},21","{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},24"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128750,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708725,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708766,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},21":{"jcid":393229,"children":[],"content":["{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},22"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128750,"modified":1473128750,"original_author":"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},17","latest_author":"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},22":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128750,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Saturday, September 05, 2026","runs":[{"start":0,"end":28,"format":"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},27","extra_set":null}],"paragraph_style":"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},23":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"PageDateTime"},"extra":[[]]},"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},24":{"jcid":393229,"children":[],"content":["{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},25"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128750,"modified":1473128750,"original_author":"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},17","latest_author":"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},25":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128750,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"7:25 PM","runs":[{"start":0,"end":7,"format":"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},27","extra_set":null}],"paragraph_style":"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},26":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":null},"extra":[[]]},"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},27":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},33":{"jcid":393229,"children":[],"content":["{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},37"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128750,"modified":1473128750,"original_author":"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},17","latest_author":"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"}]]},"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},37":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128750,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Task controls","runs":[{"start":0,"end":13,"format":"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},38","extra_set":null}],"paragraph_style":"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":2281708724,"value":"NoData"}]]},"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},38":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":17.0,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},39":{"jcid":393228,"children":["{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},40"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":72.0,"y":108.0,"max_width":480.0,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128751,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},40":{"jcid":393229,"children":[],"content":["{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},44"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128750,"modified":1473128750,"original_author":"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},17","latest_author":"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},44":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128750,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[{"definition":null,"action_type":100,"status":6,"created":1262401445,"completed":0,"start":1262390400,"due":1262476800,"task_id":[227,64,175,69,84,29,60,70,144,211,196,84,242,247,26,46],"extra_set":1}],"kind":{"type":"RichText","text":"Disabled standalone task","runs":[{"start":0,"end":24,"format":"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},27","extra_set":null}],"paragraph_style":"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}],[{"id":201340019,"value":{"Bytes":"00"}},{"id":268448868,"value":{"Bytes":"5900"}},{"id":335557735,"value":{"Bytes":"00000000"}}]]}}}}},"{F5F0101D-A59D-46D8-9C9C-8AC52957ECA4},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{BD4C28C2-15B2-46BC-B7D5-828916DFC55A},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{F3271F93-A232-41C7-93C8-2161BEC42628},1"},"revisions":{"{F3271F93-A232-41C7-93C8-2161BEC42628},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}},"{BD4C28C2-15B2-46BC-B7D5-828916DFC55A},1":{"roots":{"1":"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},10","2":"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},11","4":"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},26"},"nodes":{"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},10":{"jcid":393271,"children":[],"content":["{C7275DDA-7E57-4706-BA71-E96C8AC93C16},12"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[]]},"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Image role background=false, printout=false","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"4aaca0cb7a7d20408ef1364bff9db55e"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"e0efa205a73ddd01"}}]]},"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},12":{"jcid":393227,"children":["{C7275DDA-7E57-4706-BA71-E96C8AC93C16},39","{C7275DDA-7E57-4706-BA71-E96C8AC93C16},41"],"content":[],"structure":["{C7275DDA-7E57-4706-BA71-E96C8AC93C16},13"],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128745,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":null,"level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"7600690072007400750061006c000000"}},{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},13":{"jcid":393260,"children":["{C7275DDA-7E57-4706-BA71-E96C8AC93C16},14","{C7275DDA-7E57-4706-BA71-E96C8AC93C16},20"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128745,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Title"},"extra":[[{"id":335551550,"value":{"Bytes":"0c000900"}},{"id":335551620,"value":{"Bytes":"00000000"}},{"id":335551729,"value":{"Bytes":"00000000"}}]]},"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},14":{"jcid":393228,"children":["{C7275DDA-7E57-4706-BA71-E96C8AC93C16},33"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128745,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708793,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"},{"id":2281708689,"value":"NoData"},{"id":335551724,"value":{"Bytes":"00009040"}},{"id":2281708799,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},17":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"virtual"},"extra":[[{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},18":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},20":{"jcid":393228,"children":["{C7275DDA-7E57-4706-BA71-E96C8AC93C16},21","{C7275DDA-7E57-4706-BA71-E96C8AC93C16},24"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128745,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708725,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708766,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},21":{"jcid":393229,"children":[],"content":["{C7275DDA-7E57-4706-BA71-E96C8AC93C16},22"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128745,"modified":1473128745,"original_author":"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},17","latest_author":"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},22":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128745,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Saturday, September 05, 2026","runs":[{"start":0,"end":28,"format":"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},27","extra_set":null}],"paragraph_style":"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},23":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"PageDateTime"},"extra":[[]]},"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},24":{"jcid":393229,"children":[],"content":["{C7275DDA-7E57-4706-BA71-E96C8AC93C16},25"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128745,"modified":1473128745,"original_author":"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},17","latest_author":"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},25":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128745,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"7:25 PM","runs":[{"start":0,"end":7,"format":"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},27","extra_set":null}],"paragraph_style":"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},26":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":null},"extra":[[]]},"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},27":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},33":{"jcid":393229,"children":[],"content":["{C7275DDA-7E57-4706-BA71-E96C8AC93C16},37"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128745,"modified":1473128745,"original_author":"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},17","latest_author":"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"}]]},"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},37":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128745,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Image role background=false, printout=false","runs":[{"start":0,"end":43,"format":"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},38","extra_set":null}],"paragraph_style":"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":2281708724,"value":"NoData"}]]},"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},38":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":17.0,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},39":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":36.0,"y":36.0,"max_width":288.0,"max_height":192.0},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},40","filename":null,"alt":"Role pattern","picture_width":72.0,"picture_height":48.0,"background":false,"printout":false,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb010000003086c74d139ec244ae8bc4516d2b8c6500000000020000000000106600000001000020000000baf8284fd835aaa7a44600da70a7e55f4dfb2c7fdc00288a29da42b18e147c5b000000000e8000000002000020000000bb222a40cc0cf0800ddb0dc11a25641f7c0d495ac559a4108ca9d65d862d7f6320000000d42bae115c0bf1a62a2cd6969b5f0994d4f408c6e4da435947a8d2d319fc081940000000b7f71982404e202bbe0429d31edb96f6071810ccd264c8e8cf1974713aaf5f567215260cd91afee74d6a6e9bbb39b532cf701955b6bda0eff768f0149304a4b3"}},{"id":469769724,"value":{"Bytes":"4b2cb5e4e68a713f4c4074f83bc4a99f105611b9"}},{"id":335551993,"value":{"Bytes":"02000000"}},{"id":2281708733,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769250,"value":{"Bytes":"0000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},40":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[7,152,73,239,100,120,37,76,191,193,55,183,50,251,60,41]},"extension":".png"},"extra":[]},"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},41":{"jcid":393228,"children":["{C7275DDA-7E57-4706-BA71-E96C8AC93C16},42"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":72.0,"y":108.0,"max_width":480.0,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128745,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},42":{"jcid":393229,"children":[],"content":["{C7275DDA-7E57-4706-BA71-E96C8AC93C16},46"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128745,"modified":1473128745,"original_author":"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},17","latest_author":"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},46":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128745,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Foreground role control","runs":[{"start":0,"end":23,"format":"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},27","extra_set":null}],"paragraph_style":"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]}}}}},"{22C1E532-FF8D-4EBC-BBAD-FDC771A608D7},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{0C387409-9538-42F1-BF47-A0499D7D5FA8},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{F7C7A401-F29E-4394-A2CE-3C3A4F48209B},1"},"revisions":{"{F7C7A401-F29E-4394-A2CE-3C3A4F48209B},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}},"{0C387409-9538-42F1-BF47-A0499D7D5FA8},1":{"roots":{"1":"{E47C60BE-AF76-43E8-8937-2F36F60E114C},10","2":"{E47C60BE-AF76-43E8-8937-2F36F60E114C},11","4":"{E47C60BE-AF76-43E8-8937-2F36F60E114C},26"},"nodes":{"{E47C60BE-AF76-43E8-8937-2F36F60E114C},10":{"jcid":393271,"children":[],"content":["{E47C60BE-AF76-43E8-8937-2F36F60E114C},12"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[]]},"{E47C60BE-AF76-43E8-8937-2F36F60E114C},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Image role background=true, printout=false","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"bfe60ae49fb6f04883d33ecd8efdef25"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"309ee505a73ddd01"}}]]},"{E47C60BE-AF76-43E8-8937-2F36F60E114C},12":{"jcid":393227,"children":["{E47C60BE-AF76-43E8-8937-2F36F60E114C},39","{E47C60BE-AF76-43E8-8937-2F36F60E114C},41"],"content":[],"structure":["{E47C60BE-AF76-43E8-8937-2F36F60E114C},13"],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":null,"level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"7600690072007400750061006c000000"}},{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{E47C60BE-AF76-43E8-8937-2F36F60E114C},13":{"jcid":393260,"children":["{E47C60BE-AF76-43E8-8937-2F36F60E114C},14","{E47C60BE-AF76-43E8-8937-2F36F60E114C},20"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128745,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Title"},"extra":[[{"id":335551550,"value":{"Bytes":"0c000900"}},{"id":335551620,"value":{"Bytes":"00000000"}},{"id":335551729,"value":{"Bytes":"00000000"}}]]},"{E47C60BE-AF76-43E8-8937-2F36F60E114C},14":{"jcid":393228,"children":["{E47C60BE-AF76-43E8-8937-2F36F60E114C},33"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708793,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"},{"id":2281708689,"value":"NoData"},{"id":335551724,"value":{"Bytes":"00009040"}},{"id":2281708799,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{E47C60BE-AF76-43E8-8937-2F36F60E114C},17":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"virtual"},"extra":[[{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{E47C60BE-AF76-43E8-8937-2F36F60E114C},18":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{E47C60BE-AF76-43E8-8937-2F36F60E114C},20":{"jcid":393228,"children":["{E47C60BE-AF76-43E8-8937-2F36F60E114C},21","{E47C60BE-AF76-43E8-8937-2F36F60E114C},24"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128745,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708725,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708766,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{E47C60BE-AF76-43E8-8937-2F36F60E114C},21":{"jcid":393229,"children":[],"content":["{E47C60BE-AF76-43E8-8937-2F36F60E114C},22"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128745,"modified":1473128745,"original_author":"{E47C60BE-AF76-43E8-8937-2F36F60E114C},17","latest_author":"{E47C60BE-AF76-43E8-8937-2F36F60E114C},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{E47C60BE-AF76-43E8-8937-2F36F60E114C},22":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128745,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Saturday, September 05, 2026","runs":[{"start":0,"end":28,"format":"{E47C60BE-AF76-43E8-8937-2F36F60E114C},27","extra_set":null}],"paragraph_style":"{E47C60BE-AF76-43E8-8937-2F36F60E114C},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{E47C60BE-AF76-43E8-8937-2F36F60E114C},23":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"PageDateTime"},"extra":[[]]},"{E47C60BE-AF76-43E8-8937-2F36F60E114C},24":{"jcid":393229,"children":[],"content":["{E47C60BE-AF76-43E8-8937-2F36F60E114C},25"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128745,"modified":1473128745,"original_author":"{E47C60BE-AF76-43E8-8937-2F36F60E114C},17","latest_author":"{E47C60BE-AF76-43E8-8937-2F36F60E114C},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{E47C60BE-AF76-43E8-8937-2F36F60E114C},25":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128745,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"7:25 PM","runs":[{"start":0,"end":7,"format":"{E47C60BE-AF76-43E8-8937-2F36F60E114C},27","extra_set":null}],"paragraph_style":"{E47C60BE-AF76-43E8-8937-2F36F60E114C},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{E47C60BE-AF76-43E8-8937-2F36F60E114C},26":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":null},"extra":[[]]},"{E47C60BE-AF76-43E8-8937-2F36F60E114C},27":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{E47C60BE-AF76-43E8-8937-2F36F60E114C},33":{"jcid":393229,"children":[],"content":["{E47C60BE-AF76-43E8-8937-2F36F60E114C},37"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128746,"modified":1473128746,"original_author":"{E47C60BE-AF76-43E8-8937-2F36F60E114C},17","latest_author":"{E47C60BE-AF76-43E8-8937-2F36F60E114C},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"}]]},"{E47C60BE-AF76-43E8-8937-2F36F60E114C},37":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Image role background=true, printout=false","runs":[{"start":0,"end":42,"format":"{E47C60BE-AF76-43E8-8937-2F36F60E114C},38","extra_set":null}],"paragraph_style":"{E47C60BE-AF76-43E8-8937-2F36F60E114C},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":2281708724,"value":"NoData"}]]},"{E47C60BE-AF76-43E8-8937-2F36F60E114C},38":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":17.0,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{E47C60BE-AF76-43E8-8937-2F36F60E114C},39":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":36.0,"y":36.0,"max_width":288.0,"max_height":192.0},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{E47C60BE-AF76-43E8-8937-2F36F60E114C},40","filename":null,"alt":"Role pattern","picture_width":72.0,"picture_height":48.0,"background":true,"printout":false,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb010000003086c74d139ec244ae8bc4516d2b8c6500000000020000000000106600000001000020000000c6802eaed92442ce1c0d448823d950936073023e637b773db263acdc120afd5d000000000e8000000002000020000000cbb02e1756b482468d07e78fe4a2ad4e7fe727c70e95f5b735427170dce92242200000000cdf3203a81d523fa27ea42f1e3cd7b616dbdae35258a8d16712ff373ec8430c40000000e518d8413b987f05d5c55e0e6425687f65b950dc76d419d6f9800646e7980cad5d2b5151d3ef3026fda8d8812dcf87e04d9823215a13f70b9465bd28d3fc1b55"}},{"id":469769724,"value":{"Bytes":"4b2cb5e4e68a713f4c4074f83bc4a99f105611b9"}},{"id":335551993,"value":{"Bytes":"02000000"}},{"id":2281708733,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769250,"value":{"Bytes":"0000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{E47C60BE-AF76-43E8-8937-2F36F60E114C},40":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[7,152,73,239,100,120,37,76,191,193,55,183,50,251,60,41]},"extension":".png"},"extra":[]},"{E47C60BE-AF76-43E8-8937-2F36F60E114C},41":{"jcid":393228,"children":["{E47C60BE-AF76-43E8-8937-2F36F60E114C},42"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":72.0,"y":108.0,"max_width":480.0,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{E47C60BE-AF76-43E8-8937-2F36F60E114C},42":{"jcid":393229,"children":[],"content":["{E47C60BE-AF76-43E8-8937-2F36F60E114C},46"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128746,"modified":1473128746,"original_author":"{E47C60BE-AF76-43E8-8937-2F36F60E114C},17","latest_author":"{E47C60BE-AF76-43E8-8937-2F36F60E114C},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{E47C60BE-AF76-43E8-8937-2F36F60E114C},46":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Foreground role control","runs":[{"start":0,"end":23,"format":"{E47C60BE-AF76-43E8-8937-2F36F60E114C},27","extra_set":null}],"paragraph_style":"{E47C60BE-AF76-43E8-8937-2F36F60E114C},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]}}}}},"{F13B1165-32C6-4D63-B4C5-B8EFC2545211},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{BA226054-F35E-4372-B591-5B02B2E6CC11},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{CD35F978-C249-4837-9D54-000183B276F6},1"},"revisions":{"{BA226054-F35E-4372-B591-5B02B2E6CC11},1":{"roots":{"1":"{8A6E1954-54EC-4890-A363-2CD23263DB72},10","2":"{8A6E1954-54EC-4890-A363-2CD23263DB72},11","4":"{8A6E1954-54EC-4890-A363-2CD23263DB72},26"},"nodes":{"{8A6E1954-54EC-4890-A363-2CD23263DB72},10":{"jcid":393271,"children":[],"content":["{8A6E1954-54EC-4890-A363-2CD23263DB72},12"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[]]},"{8A6E1954-54EC-4890-A363-2CD23263DB72},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Image gif","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"df318a66c286084b9e283696297e82be"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"601d1405a73ddd01"}}]]},"{8A6E1954-54EC-4890-A363-2CD23263DB72},12":{"jcid":393227,"children":["{8A6E1954-54EC-4890-A363-2CD23263DB72},39"],"content":[],"structure":["{8A6E1954-54EC-4890-A363-2CD23263DB72},13"],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128745,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":null,"level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"7600690072007400750061006c000000"}},{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{8A6E1954-54EC-4890-A363-2CD23263DB72},13":{"jcid":393260,"children":["{8A6E1954-54EC-4890-A363-2CD23263DB72},14","{8A6E1954-54EC-4890-A363-2CD23263DB72},20"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128744,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Title"},"extra":[[{"id":335551550,"value":{"Bytes":"0c000900"}},{"id":335551620,"value":{"Bytes":"00000000"}},{"id":335551729,"value":{"Bytes":"00000000"}}]]},"{8A6E1954-54EC-4890-A363-2CD23263DB72},14":{"jcid":393228,"children":["{8A6E1954-54EC-4890-A363-2CD23263DB72},33"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128745,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708793,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"},{"id":2281708689,"value":"NoData"},{"id":335551724,"value":{"Bytes":"00009040"}},{"id":2281708799,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{8A6E1954-54EC-4890-A363-2CD23263DB72},17":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"virtual"},"extra":[[{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{8A6E1954-54EC-4890-A363-2CD23263DB72},18":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{8A6E1954-54EC-4890-A363-2CD23263DB72},20":{"jcid":393228,"children":["{8A6E1954-54EC-4890-A363-2CD23263DB72},21","{8A6E1954-54EC-4890-A363-2CD23263DB72},24"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128744,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708725,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708766,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{8A6E1954-54EC-4890-A363-2CD23263DB72},21":{"jcid":393229,"children":[],"content":["{8A6E1954-54EC-4890-A363-2CD23263DB72},22"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128744,"modified":1473128744,"original_author":"{8A6E1954-54EC-4890-A363-2CD23263DB72},17","latest_author":"{8A6E1954-54EC-4890-A363-2CD23263DB72},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{8A6E1954-54EC-4890-A363-2CD23263DB72},22":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128744,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Saturday, September 05, 2026","runs":[{"start":0,"end":28,"format":"{8A6E1954-54EC-4890-A363-2CD23263DB72},27","extra_set":null}],"paragraph_style":"{8A6E1954-54EC-4890-A363-2CD23263DB72},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{8A6E1954-54EC-4890-A363-2CD23263DB72},23":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"PageDateTime"},"extra":[[]]},"{8A6E1954-54EC-4890-A363-2CD23263DB72},24":{"jcid":393229,"children":[],"content":["{8A6E1954-54EC-4890-A363-2CD23263DB72},25"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128744,"modified":1473128744,"original_author":"{8A6E1954-54EC-4890-A363-2CD23263DB72},17","latest_author":"{8A6E1954-54EC-4890-A363-2CD23263DB72},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{8A6E1954-54EC-4890-A363-2CD23263DB72},25":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128744,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"7:25 PM","runs":[{"start":0,"end":7,"format":"{8A6E1954-54EC-4890-A363-2CD23263DB72},27","extra_set":null}],"paragraph_style":"{8A6E1954-54EC-4890-A363-2CD23263DB72},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{8A6E1954-54EC-4890-A363-2CD23263DB72},26":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":null},"extra":[[]]},"{8A6E1954-54EC-4890-A363-2CD23263DB72},27":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{8A6E1954-54EC-4890-A363-2CD23263DB72},33":{"jcid":393229,"children":[],"content":["{8A6E1954-54EC-4890-A363-2CD23263DB72},37"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128745,"modified":1473128745,"original_author":"{8A6E1954-54EC-4890-A363-2CD23263DB72},17","latest_author":"{8A6E1954-54EC-4890-A363-2CD23263DB72},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"}]]},"{8A6E1954-54EC-4890-A363-2CD23263DB72},37":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128745,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Image gif","runs":[{"start":0,"end":9,"format":"{8A6E1954-54EC-4890-A363-2CD23263DB72},38","extra_set":null}],"paragraph_style":"{8A6E1954-54EC-4890-A363-2CD23263DB72},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":2281708724,"value":"NoData"}]]},"{8A6E1954-54EC-4890-A363-2CD23263DB72},38":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":17.0,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{8A6E1954-54EC-4890-A363-2CD23263DB72},39":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":72.0,"y":108.0,"max_width":144.0,"max_height":48.000008},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128745,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{8A6E1954-54EC-4890-A363-2CD23263DB72},40","filename":null,"alt":"Pattern gif","picture_width":72.0,"picture_height":48.0,"background":false,"printout":false,"link":"https://example.invalid/image/gif"},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb010000003086c74d139ec244ae8bc4516d2b8c6500000000020000000000106600000001000020000000d78fe554bff78311f3c3b0b7e8c7191c4950e5b7153d0566379ff161b10c9236000000000e8000000002000020000000a4fd4030aebdd9d27459583f6488fde7a36254814381665255a7a1aae8e79a23200000004665fd77dc14750758fbce4163a8cf8408d34a6fb4d4333b6c14101eebea87544000000052cabb5d83bbea8d1919e19109fe3ca63b0f9b371db0bd7b11a0af6b62d1535def93d99f6db47cc6f98bb2cad013db23f92e9b772eac9f56fb072304b1e2df86"}},{"id":469769724,"value":{"Bytes":"0b2bde82a2a075665a7679884e67b09d11874441"}},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":2281708733,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769250,"value":{"Bytes":"0000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{8A6E1954-54EC-4890-A363-2CD23263DB72},40":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[101,133,22,201,93,63,38,68,133,74,149,28,188,8,102,75]},"extension":".png"},"extra":[]}}},"{CD35F978-C249-4837-9D54-000183B276F6},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}}}},"{4F120766-6EA7-4E5A-B336-8B441584A4B0},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{A26A8B36-5C5A-4EF0-8A4A-F5875125FBC8},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{54CC6F65-B9D8-4A2D-BF14-F50D0AC5B37B},1"},"revisions":{"{A26A8B36-5C5A-4EF0-8A4A-F5875125FBC8},1":{"roots":{"1":"{55083EE2-B644-4097-A02A-19F56E6362C7},10","2":"{55083EE2-B644-4097-A02A-19F56E6362C7},11","4":"{55083EE2-B644-4097-A02A-19F56E6362C7},26"},"nodes":{"{55083EE2-B644-4097-A02A-19F56E6362C7},10":{"jcid":393271,"children":[],"content":["{55083EE2-B644-4097-A02A-19F56E6362C7},12"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Files and recording","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"5bf9f2a7bf7777439427d892fc03e7b1"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"60888e06a73ddd01"}}]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},12":{"jcid":393227,"children":["{55083EE2-B644-4097-A02A-19F56E6362C7},39"],"content":[],"structure":["{55083EE2-B644-4097-A02A-19F56E6362C7},13"],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128747,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":null,"level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"7600690072007400750061006c000000"}},{"id":469769720,"value":{"Bytes":"56000000"}},{"id":469769379,"value":{"Bytes":"578e419a647fc54087d08a8f7c1e5422"}}]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},13":{"jcid":393260,"children":["{55083EE2-B644-4097-A02A-19F56E6362C7},14","{55083EE2-B644-4097-A02A-19F56E6362C7},20"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Title"},"extra":[[{"id":335551550,"value":{"Bytes":"0c000900"}},{"id":335551620,"value":{"Bytes":"00000000"}},{"id":335551729,"value":{"Bytes":"00000000"}}]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},14":{"jcid":393228,"children":["{55083EE2-B644-4097-A02A-19F56E6362C7},33"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128747,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708793,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"},{"id":2281708689,"value":"NoData"},{"id":335551724,"value":{"Bytes":"00009040"}},{"id":2281708799,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},17":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"virtual"},"extra":[[{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},18":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},20":{"jcid":393228,"children":["{55083EE2-B644-4097-A02A-19F56E6362C7},21","{55083EE2-B644-4097-A02A-19F56E6362C7},24"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708725,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708766,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},21":{"jcid":393229,"children":[],"content":["{55083EE2-B644-4097-A02A-19F56E6362C7},22"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128746,"modified":1473128746,"original_author":"{55083EE2-B644-4097-A02A-19F56E6362C7},17","latest_author":"{55083EE2-B644-4097-A02A-19F56E6362C7},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},22":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Saturday, September 05, 2026","runs":[{"start":0,"end":28,"format":"{55083EE2-B644-4097-A02A-19F56E6362C7},27","extra_set":null}],"paragraph_style":"{55083EE2-B644-4097-A02A-19F56E6362C7},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},23":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"PageDateTime"},"extra":[[]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},24":{"jcid":393229,"children":[],"content":["{55083EE2-B644-4097-A02A-19F56E6362C7},25"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128746,"modified":1473128746,"original_author":"{55083EE2-B644-4097-A02A-19F56E6362C7},17","latest_author":"{55083EE2-B644-4097-A02A-19F56E6362C7},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},25":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"7:25 PM","runs":[{"start":0,"end":7,"format":"{55083EE2-B644-4097-A02A-19F56E6362C7},27","extra_set":null}],"paragraph_style":"{55083EE2-B644-4097-A02A-19F56E6362C7},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},26":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":null},"extra":[[]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},27":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},33":{"jcid":393229,"children":[],"content":["{55083EE2-B644-4097-A02A-19F56E6362C7},37"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128747,"modified":1473128747,"original_author":"{55083EE2-B644-4097-A02A-19F56E6362C7},17","latest_author":"{55083EE2-B644-4097-A02A-19F56E6362C7},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"}]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},37":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128747,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Files and recording","runs":[{"start":0,"end":19,"format":"{55083EE2-B644-4097-A02A-19F56E6362C7},38","extra_set":null}],"paragraph_style":"{55083EE2-B644-4097-A02A-19F56E6362C7},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":2281708724,"value":"NoData"}]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},38":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":17.0,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},39":{"jcid":393228,"children":["{55083EE2-B644-4097-A02A-19F56E6362C7},40","{55083EE2-B644-4097-A02A-19F56E6362C7},44","{55083EE2-B644-4097-A02A-19F56E6362C7},48"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":72.0,"y":108.0,"max_width":480.0,"max_height":139.42772},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128747,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},40":{"jcid":393229,"children":[],"content":["{55083EE2-B644-4097-A02A-19F56E6362C7},41"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128747,"modified":1473128747,"original_author":"{55083EE2-B644-4097-A02A-19F56E6362C7},17","latest_author":"{55083EE2-B644-4097-A02A-19F56E6362C7},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},41":{"jcid":393269,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128747,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Attachment","container":"{55083EE2-B644-4097-A02A-19F56E6362C7},42","preview":"{55083EE2-B644-4097-A02A-19F56E6362C7},43","filename":"Fictitious attachment.txt","source_path":"C:\\one-tests\\runs\\capture\\notebook\\fixture-data\\attachment.txt","recording_id":null,"recording_type":null},"extra":[[{"id":335557837,"value":{"Bytes":"abaa2a3f"}},{"id":335557838,"value":{"Bytes":"abaa2a3f"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"46006900630074006900740069006f007500730020006100740074006100630068006d0065006e0074002e007400780074000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},42":{"jcid":524342,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[21,180,26,125,154,100,189,67,168,99,187,239,132,20,103,222]},"extension":".txt"},"extra":[]},"{55083EE2-B644-4097-A02A-19F56E6362C7},43":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[30,98,194,39,135,62,72,68,129,88,26,156,63,209,139,117]},"extension":".png"},"extra":[]},"{55083EE2-B644-4097-A02A-19F56E6362C7},44":{"jcid":393229,"children":[],"content":["{55083EE2-B644-4097-A02A-19F56E6362C7},45"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128747,"modified":1473128747,"original_author":"{55083EE2-B644-4097-A02A-19F56E6362C7},17","latest_author":"{55083EE2-B644-4097-A02A-19F56E6362C7},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},45":{"jcid":393269,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128747,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Attachment","container":"{55083EE2-B644-4097-A02A-19F56E6362C7},46","preview":"{55083EE2-B644-4097-A02A-19F56E6362C7},47","filename":"silence.wav","source_path":"C:\\one-tests\\runs\\capture\\notebook\\fixture-data\\silence.wav","recording_id":[87,142,65,154,100,127,197,64,135,208,138,143,124,30,84,34],"recording_type":null},"extra":[[{"id":335557837,"value":{"Bytes":"abaa2a3f"}},{"id":335557838,"value":{"Bytes":"abaa2a3f"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"730069006c0065006e00630065002e007700610076000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},46":{"jcid":524342,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[188,232,223,92,160,21,248,78,151,16,208,92,140,190,81,24]},"extension":".wav"},"extra":[]},"{55083EE2-B644-4097-A02A-19F56E6362C7},47":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[27,128,25,241,248,247,172,71,169,35,81,88,235,90,43,244]},"extension":".png"},"extra":[]},"{55083EE2-B644-4097-A02A-19F56E6362C7},48":{"jcid":393229,"children":[],"content":["{55083EE2-B644-4097-A02A-19F56E6362C7},52"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128747,"modified":1473128747,"original_author":"{55083EE2-B644-4097-A02A-19F56E6362C7},17","latest_author":"{55083EE2-B644-4097-A02A-19F56E6362C7},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},52":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128747,"original_author":null,"latest_author":null,"media_ids":[[87,142,65,154,100,127,197,64,135,208,138,143,124,30,84,34]],"media_time_ms":500,"tags":[],"kind":{"type":"RichText","text":"Recording annotation","runs":[{"start":0,"end":20,"format":"{55083EE2-B644-4097-A02A-19F56E6362C7},27","extra_set":null}],"paragraph_style":"{55083EE2-B644-4097-A02A-19F56E6362C7},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]}}},"{54CC6F65-B9D8-4A2D-BF14-F50D0AC5B37B},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}}}},"{E715358B-EBCB-4DB5-AB69-94C066A898DC},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{CE82D8C2-54BF-48FB-9931-3CF1C4C49D6A},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{065F701A-0718-4CD5-9984-DF8F477C196C},1"},"revisions":{"{065F701A-0718-4CD5-9984-DF8F477C196C},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}},"{CE82D8C2-54BF-48FB-9931-3CF1C4C49D6A},1":{"roots":{"1":"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},10","2":"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},11","4":"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},26"},"nodes":{"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},10":{"jcid":393271,"children":[],"content":["{08DA89CE-DB98-47B8-8A71-8DB27509F71B},12"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[]]},"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Image role background=true, printout=true","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"aaec0a4cf8ee1647b71d99037847bc12"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"e0ec5e06a73ddd01"}}]]},"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},12":{"jcid":393227,"children":["{08DA89CE-DB98-47B8-8A71-8DB27509F71B},39","{08DA89CE-DB98-47B8-8A71-8DB27509F71B},41"],"content":[],"structure":["{08DA89CE-DB98-47B8-8A71-8DB27509F71B},13"],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128747,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":null,"level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"7600690072007400750061006c000000"}},{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},13":{"jcid":393260,"children":["{08DA89CE-DB98-47B8-8A71-8DB27509F71B},14","{08DA89CE-DB98-47B8-8A71-8DB27509F71B},20"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Title"},"extra":[[{"id":335551550,"value":{"Bytes":"0c000900"}},{"id":335551620,"value":{"Bytes":"00000000"}},{"id":335551729,"value":{"Bytes":"00000000"}}]]},"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},14":{"jcid":393228,"children":["{08DA89CE-DB98-47B8-8A71-8DB27509F71B},33"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128747,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708793,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"},{"id":2281708689,"value":"NoData"},{"id":335551724,"value":{"Bytes":"00009040"}},{"id":2281708799,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},17":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"virtual"},"extra":[[{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},18":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},20":{"jcid":393228,"children":["{08DA89CE-DB98-47B8-8A71-8DB27509F71B},21","{08DA89CE-DB98-47B8-8A71-8DB27509F71B},24"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708725,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708766,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},21":{"jcid":393229,"children":[],"content":["{08DA89CE-DB98-47B8-8A71-8DB27509F71B},22"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128746,"modified":1473128746,"original_author":"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},17","latest_author":"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},22":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Saturday, September 05, 2026","runs":[{"start":0,"end":28,"format":"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},27","extra_set":null}],"paragraph_style":"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},23":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"PageDateTime"},"extra":[[]]},"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},24":{"jcid":393229,"children":[],"content":["{08DA89CE-DB98-47B8-8A71-8DB27509F71B},25"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128746,"modified":1473128746,"original_author":"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},17","latest_author":"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},25":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"7:25 PM","runs":[{"start":0,"end":7,"format":"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},27","extra_set":null}],"paragraph_style":"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},26":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":null},"extra":[[]]},"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},27":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},33":{"jcid":393229,"children":[],"content":["{08DA89CE-DB98-47B8-8A71-8DB27509F71B},37"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128746,"modified":1473128746,"original_author":"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},17","latest_author":"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"}]]},"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},37":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Image role background=true, printout=true","runs":[{"start":0,"end":41,"format":"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},38","extra_set":null}],"paragraph_style":"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":2281708724,"value":"NoData"}]]},"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},38":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":17.0,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},39":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":36.0,"y":36.0,"max_width":286.56,"max_height":190.56001},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128748,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},40","filename":null,"alt":"Role pattern","picture_width":72.0,"picture_height":48.0,"background":true,"printout":true,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb010000003086c74d139ec244ae8bc4516d2b8c6500000000020000000000106600000001000020000000c517d993784d0b8510bcd845c1d484105d433ce557ff80b324a65a1094d2171c000000000e80000000020000200000003f76861b32eaaf2abd9d3904f0ecedde447d949ff366ea4b1f445a2970fee50820000000c7a01b667117fece3542cad1b2cc14bc413470995d80a5bedfa73a7e0b9758ef40000000287045e86af32e6e4df18335769dc1730e6be457dad18a9e1701b7461d6e2b2809f40d07cab39863f04b3f9cd5817c7957b613e15b8e7b0bab43820f481a474f"}},{"id":469769724,"value":{"Bytes":"4b2cb5e4e68a713f4c4074f83bc4a99f105611b9"}},{"id":335551993,"value":{"Bytes":"02000000"}},{"id":2281708733,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769250,"value":{"Bytes":"0000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},40":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[7,152,73,239,100,120,37,76,191,193,55,183,50,251,60,41]},"extension":".png"},"extra":[]},"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},41":{"jcid":393228,"children":["{08DA89CE-DB98-47B8-8A71-8DB27509F71B},42"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":72.0,"y":108.0,"max_width":480.0,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128747,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},42":{"jcid":393229,"children":[],"content":["{08DA89CE-DB98-47B8-8A71-8DB27509F71B},46"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128746,"modified":1473128746,"original_author":"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},17","latest_author":"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},46":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Foreground role control","runs":[{"start":0,"end":23,"format":"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},27","extra_set":null}],"paragraph_style":"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]}}}}},"{ABA3D98F-BECC-464C-A8CB-B8FB52C392E2},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{8EC9CE4B-8F17-43E2-A1DE-7A1BB39701BC},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{765EC190-2698-4D0D-9BE4-176915F0525E},1"},"revisions":{"{8EC9CE4B-8F17-43E2-A1DE-7A1BB39701BC},1":{"roots":{"1":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},10","2":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},11","4":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},26"},"nodes":{"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},10":{"jcid":393271,"children":[],"content":["{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},12"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Paragraph controls","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"d8f7afe4d929a342ab66d603d5015ebb"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"a0283507a73ddd01"}}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},12":{"jcid":393227,"children":["{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},39"],"content":[],"structure":["{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},13"],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":null,"level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"7600690072007400750061006c000000"}},{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},13":{"jcid":393260,"children":["{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},14","{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},20"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128748,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Title"},"extra":[[{"id":335551550,"value":{"Bytes":"0c000900"}},{"id":335551620,"value":{"Bytes":"00000000"}},{"id":335551729,"value":{"Bytes":"00000000"}}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},14":{"jcid":393228,"children":["{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},33"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708793,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"},{"id":2281708689,"value":"NoData"},{"id":335551724,"value":{"Bytes":"00009040"}},{"id":2281708799,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},17":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"virtual"},"extra":[[{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},18":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},20":{"jcid":393228,"children":["{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},21","{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},24"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128748,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708725,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708766,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},21":{"jcid":393229,"children":[],"content":["{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},22"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128748,"modified":1473128748,"original_author":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},17","latest_author":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},22":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128748,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Saturday, September 05, 2026","runs":[{"start":0,"end":28,"format":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},27","extra_set":null}],"paragraph_style":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},23":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"PageDateTime"},"extra":[[]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},24":{"jcid":393229,"children":[],"content":["{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},25"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128748,"modified":1473128748,"original_author":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},17","latest_author":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},25":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128748,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"7:25 PM","runs":[{"start":0,"end":7,"format":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},27","extra_set":null}],"paragraph_style":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},26":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":null},"extra":[[]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},27":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},33":{"jcid":393229,"children":[],"content":["{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},37"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128748,"modified":1473128748,"original_author":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},17","latest_author":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},37":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128748,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Paragraph controls","runs":[{"start":0,"end":18,"format":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},38","extra_set":null}],"paragraph_style":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":2281708724,"value":"NoData"}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},38":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":17.0,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},39":{"jcid":393228,"children":["{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},40","{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},47","{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},52","{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},58","{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},73"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":72.0,"y":108.0,"max_width":480.0,"max_height":87.66204},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},40":{"jcid":393229,"children":[],"content":["{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},44"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128748,"modified":1473128748,"original_author":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},17","latest_author":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},44":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128748,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Inherited strike and spacing","runs":[{"start":0,"end":28,"format":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},27","extra_set":null}],"paragraph_style":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},46","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},46":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":true,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":14.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":9.0,"space_after":4.5,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"Fixture style"},"extra":[[]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},47":{"jcid":393229,"children":[],"content":["{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},51"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128748,"modified":1473128748,"original_author":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},17","latest_author":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},51":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":1,"rtl":null,"space_before":12.0,"space_after":6.0,"line_spacing":null},"created":null,"modified":1473128748,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Centered paragraph","runs":[{"start":0,"end":18,"format":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},27","extra_set":null}],"paragraph_style":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"02000000"}},{"id":335551620,"value":{"Bytes":"02000000"}}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},52":{"jcid":393229,"children":[],"content":["{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},56"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128748,"modified":1473128748,"original_author":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},17","latest_author":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708596,"value":"NoData"}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},56":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":2,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128748,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"مرحبا بالعالم","runs":[{"start":0,"end":13,"format":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},57","extra_set":null}],"paragraph_style":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0104"}},{"id":335551550,"value":{"Bytes":"03000000"}},{"id":335551620,"value":{"Bytes":"03000000"}}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},57":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Arial","font_size":null,"color":null,"highlight":null,"language":1025,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":2281714858,"value":"NoData"},{"id":201334017,"value":{"Bytes":"b2"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},58":{"jcid":393229,"children":["{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},63"],"content":["{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},62"],"structure":[],"spaces":[],"child_level":2,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128748,"modified":1473128748,"original_author":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},17","latest_author":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":201333777,"value":{"Bytes":"01"}}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},62":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128748,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Collapsed parent","runs":[{"start":0,"end":16,"format":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},27","extra_set":null}],"paragraph_style":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},63":{"jcid":393229,"children":["{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},68"],"content":["{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},67"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128748,"modified":1473128748,"original_author":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},17","latest_author":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},67":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128748,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Hidden child remains stored","runs":[{"start":0,"end":27,"format":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},27","extra_set":null}],"paragraph_style":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},68":{"jcid":393229,"children":[],"content":["{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},72"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128748,"modified":1473128748,"original_author":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},17","latest_author":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},72":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128748,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Grandchild","runs":[{"start":0,"end":10,"format":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},27","extra_set":null}],"paragraph_style":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},73":{"jcid":393229,"children":[],"content":["{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},77"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128748,"modified":1473128748,"original_author":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},17","latest_author":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},77":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128748,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"AB        C","runs":[{"start":0,"end":11,"format":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},27","extra_set":null}],"paragraph_style":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]}}},"{765EC190-2698-4D0D-9BE4-176915F0525E},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}}}},"{8F74EF9A-31BF-445D-84C0-93A60D5C1BA7},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{CD7B9DD7-3E2B-4718-A3C0-F5B0F3438380},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{937D4936-B04B-4DEC-BA33-575B74F07469},1"},"revisions":{"{937D4936-B04B-4DEC-BA33-575B74F07469},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}},"{CD7B9DD7-3E2B-4718-A3C0-F5B0F3438380},1":{"roots":{"1":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},10","2":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},11","4":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},26"},"nodes":{"{CA4801D9-2718-46A8-B58F-BD356DEA0174},10":{"jcid":393271,"children":[],"content":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},12"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Numbering controls","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"efd0711e63e0854880e7d07b3635ceae"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"00c4d407a73ddd01"}}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},12":{"jcid":393227,"children":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},39"],"content":[],"structure":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},13"],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128750,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":null,"level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"7600690072007400750061006c000000"}},{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},13":{"jcid":393260,"children":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},14","{CA4801D9-2718-46A8-B58F-BD356DEA0174},20"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Title"},"extra":[[{"id":335551550,"value":{"Bytes":"0c000900"}},{"id":335551620,"value":{"Bytes":"00000000"}},{"id":335551729,"value":{"Bytes":"00000000"}}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},14":{"jcid":393228,"children":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},33"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128750,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708793,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"},{"id":2281708689,"value":"NoData"},{"id":335551724,"value":{"Bytes":"00009040"}},{"id":2281708799,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"virtual"},"extra":[[{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},18":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},20":{"jcid":393228,"children":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},21","{CA4801D9-2718-46A8-B58F-BD356DEA0174},24"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708725,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708766,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},21":{"jcid":393229,"children":[],"content":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},22"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128749,"modified":1473128749,"original_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","latest_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},22":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Saturday, September 05, 2026","runs":[{"start":0,"end":28,"format":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},27","extra_set":null}],"paragraph_style":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},23":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"PageDateTime"},"extra":[[]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},24":{"jcid":393229,"children":[],"content":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},25"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128749,"modified":1473128749,"original_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","latest_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},25":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"7:25 PM","runs":[{"start":0,"end":7,"format":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},27","extra_set":null}],"paragraph_style":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},26":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":null},"extra":[[]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},27":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},33":{"jcid":393229,"children":[],"content":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},37"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128749,"modified":1473128749,"original_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","latest_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},37":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Numbering controls","runs":[{"start":0,"end":18,"format":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},38","extra_set":null}],"paragraph_style":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":2281708724,"value":"NoData"}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},38":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":17.0,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},39":{"jcid":393228,"children":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},40","{CA4801D9-2718-46A8-B58F-BD356DEA0174},46","{CA4801D9-2718-46A8-B58F-BD356DEA0174},52","{CA4801D9-2718-46A8-B58F-BD356DEA0174},58","{CA4801D9-2718-46A8-B58F-BD356DEA0174},64","{CA4801D9-2718-46A8-B58F-BD356DEA0174},70","{CA4801D9-2718-46A8-B58F-BD356DEA0174},76","{CA4801D9-2718-46A8-B58F-BD356DEA0174},82","{CA4801D9-2718-46A8-B58F-BD356DEA0174},88","{CA4801D9-2718-46A8-B58F-BD356DEA0174},94"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":72.0,"y":108.0,"max_width":480.0,"max_height":137.07007},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128750,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},40":{"jcid":393229,"children":[],"content":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},44"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128749,"modified":1473128749,"original_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","latest_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},45"],"paragraph_style":null},"extra":[[]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},44":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Sequence 0, item 0","runs":[{"start":0,"end":18,"format":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},27","extra_set":null}],"paragraph_style":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},45":{"jcid":393234,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":4278190080,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"List","font":null,"format":"�\u0000","restart":3,"bullet":null},"extra":[[]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},46":{"jcid":393229,"children":[],"content":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},50"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128749,"modified":1473128749,"original_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","latest_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},51"],"paragraph_style":null},"extra":[[]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},50":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Sequence 0, item 1","runs":[{"start":0,"end":18,"format":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},27","extra_set":null}],"paragraph_style":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},51":{"jcid":393234,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":4278190080,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"List","font":null,"format":"�\u0000","restart":null,"bullet":null},"extra":[[]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},52":{"jcid":393229,"children":[],"content":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},56"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128749,"modified":1473128749,"original_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","latest_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},57"],"paragraph_style":null},"extra":[[]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},56":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Sequence 1, item 0","runs":[{"start":0,"end":18,"format":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},27","extra_set":null}],"paragraph_style":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},57":{"jcid":393234,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":4278190080,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"List","font":null,"format":"�\u0001","restart":3,"bullet":null},"extra":[[]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},58":{"jcid":393229,"children":[],"content":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},62"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128749,"modified":1473128749,"original_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","latest_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},63"],"paragraph_style":null},"extra":[[]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},62":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Sequence 1, item 1","runs":[{"start":0,"end":18,"format":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},27","extra_set":null}],"paragraph_style":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},63":{"jcid":393234,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":4278190080,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"List","font":null,"format":"�\u0001","restart":null,"bullet":null},"extra":[[]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},64":{"jcid":393229,"children":[],"content":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},68"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128749,"modified":1473128749,"original_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","latest_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},69"],"paragraph_style":null},"extra":[[]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},68":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Sequence 2, item 0","runs":[{"start":0,"end":18,"format":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},27","extra_set":null}],"paragraph_style":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},69":{"jcid":393234,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":4278190080,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"List","font":null,"format":"�\u0002","restart":3,"bullet":null},"extra":[[]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},70":{"jcid":393229,"children":[],"content":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},74"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128749,"modified":1473128749,"original_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","latest_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},75"],"paragraph_style":null},"extra":[[]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},74":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Sequence 2, item 1","runs":[{"start":0,"end":18,"format":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},27","extra_set":null}],"paragraph_style":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},75":{"jcid":393234,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":4278190080,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"List","font":null,"format":"�\u0002","restart":null,"bullet":null},"extra":[[]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},76":{"jcid":393229,"children":[],"content":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},80"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128749,"modified":1473128749,"original_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","latest_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},81"],"paragraph_style":null},"extra":[[]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},80":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Sequence 3, item 0","runs":[{"start":0,"end":18,"format":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},27","extra_set":null}],"paragraph_style":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},81":{"jcid":393234,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":4278190080,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"List","font":null,"format":"�\u0003","restart":3,"bullet":null},"extra":[[]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},82":{"jcid":393229,"children":[],"content":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},86"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128749,"modified":1473128749,"original_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","latest_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},87"],"paragraph_style":null},"extra":[[]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},86":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Sequence 3, item 1","runs":[{"start":0,"end":18,"format":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},27","extra_set":null}],"paragraph_style":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},87":{"jcid":393234,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":4278190080,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"List","font":null,"format":"�\u0003","restart":null,"bullet":null},"extra":[[]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},88":{"jcid":393229,"children":[],"content":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},92"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128749,"modified":1473128749,"original_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","latest_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},93"],"paragraph_style":null},"extra":[[]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},92":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Sequence 4, item 0","runs":[{"start":0,"end":18,"format":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},27","extra_set":null}],"paragraph_style":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},93":{"jcid":393234,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":4278190080,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"List","font":null,"format":"�\u0004","restart":3,"bullet":null},"extra":[[]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},94":{"jcid":393229,"children":[],"content":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},98"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128749,"modified":1473128749,"original_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","latest_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},99"],"paragraph_style":null},"extra":[[]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},98":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Sequence 4, item 1","runs":[{"start":0,"end":18,"format":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},27","extra_set":null}],"paragraph_style":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},99":{"jcid":393234,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":4278190080,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"List","font":null,"format":"�\u0004","restart":null,"bullet":null},"extra":[[]]}}}}},"{38F51AA4-F561-4263-8DFE-69F99A053AC5},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{06BD3755-EF72-4542-890A-E865C245F2C3},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{1E3F8BE5-DA93-4736-B999-5A89E1A42BEE},1"},"revisions":{"{06BD3755-EF72-4542-890A-E865C245F2C3},1":{"roots":{"1":"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},10","2":"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},11","4":"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},26"},"nodes":{"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},10":{"jcid":393271,"children":[],"content":["{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},12"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[]]},"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Image tiff","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"1f393c98c8fc1c479e07a2c84eab6bd8"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"10a97404a73ddd01"}}]]},"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},12":{"jcid":393227,"children":["{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},39"],"content":[],"structure":["{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},13"],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128744,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":null,"level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"7600690072007400750061006c000000"}},{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},13":{"jcid":393260,"children":["{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},14","{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},20"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128743,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Title"},"extra":[[{"id":335551550,"value":{"Bytes":"0c000900"}},{"id":335551620,"value":{"Bytes":"00000000"}},{"id":335551729,"value":{"Bytes":"00000000"}}]]},"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},14":{"jcid":393228,"children":["{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},33"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128744,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708793,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"},{"id":2281708689,"value":"NoData"},{"id":335551724,"value":{"Bytes":"00009040"}},{"id":2281708799,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},17":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"virtual"},"extra":[[{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},18":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},20":{"jcid":393228,"children":["{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},21","{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},24"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128743,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708725,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708766,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},21":{"jcid":393229,"children":[],"content":["{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},22"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128743,"modified":1473128743,"original_author":"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},17","latest_author":"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},22":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128743,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Saturday, September 05, 2026","runs":[{"start":0,"end":28,"format":"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},27","extra_set":null}],"paragraph_style":"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},23":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"PageDateTime"},"extra":[[]]},"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},24":{"jcid":393229,"children":[],"content":["{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},25"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128743,"modified":1473128743,"original_author":"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},17","latest_author":"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},25":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128743,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"7:25 PM","runs":[{"start":0,"end":7,"format":"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},27","extra_set":null}],"paragraph_style":"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},26":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":null},"extra":[[]]},"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},27":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},33":{"jcid":393229,"children":[],"content":["{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},37"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128744,"modified":1473128744,"original_author":"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},17","latest_author":"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"}]]},"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},37":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128744,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Image tiff","runs":[{"start":0,"end":10,"format":"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},38","extra_set":null}],"paragraph_style":"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":2281708724,"value":"NoData"}]]},"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},38":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":17.0,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},39":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":72.0,"y":108.0,"max_width":144.0,"max_height":48.000008},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128745,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},40","filename":null,"alt":"Pattern tiff","picture_width":72.0,"picture_height":48.0,"background":false,"printout":false,"link":"https://example.invalid/image/tiff"},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb010000003086c74d139ec244ae8bc4516d2b8c6500000000020000000000106600000001000020000000dada78c373873a02763f088cc1e155172beeab45e72d3fccca4427de4b3580bc000000000e8000000002000020000000d58a66b17d60764d623f9d3e7121b81342e8fb8eb9b5acc8ad55183cef04196520000000e16dad985f36be2c7c75ab0fda98f0169ac94895dc07342f170424e17789bf2e400000009b7390f6b3861a4523a0b677bf5750963facd0e36811e6a62737d4e93c4aceb1e1e563a52d0132c7100017f47405763ec901516f34855422c3dd679952402fea"}},{"id":469769724,"value":{"Bytes":"884f1206378302aee2be9dccf4343669c5fa5c34"}},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":2281708733,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769250,"value":{"Bytes":"0000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},40":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[88,222,6,147,153,3,109,79,166,118,29,18,90,218,142,14]},"extension":".tif"},"extra":[]}}},"{1E3F8BE5-DA93-4736-B999-5A89E1A42BEE},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}}}},"{5FBAB4A8-F2EB-4D9C-892F-64D03C6D5C0C},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{D2AE8403-7FD3-4698-9F79-2CF7CE62DA07},1"},"revisions":{"{D2AE8403-7FD3-4698-9F79-2CF7CE62DA07},1":{"roots":{"1":"{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},10","2":"{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},11"},"nodes":{"{00692503-C98D-0C52-0CB9-2A6BAB823D3F},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Image role background=true, printout=false","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"bfe60ae49fb6f04883d33ecd8efdef25"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"309ee505a73ddd01"}}]]},"{55E3FF24-7E1D-0F42-23B1-81B1BC73AC59},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Task controls","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"2c397b9ccaf0174f8e0de3924a07a9cc"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"70e06508a73ddd01"}}]]},"{D758D02C-939D-0436-2B88-5D69F373D94C},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Image role background=false, printout=false","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"4aaca0cb7a7d20408ef1364bff9db55e"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"e0efa205a73ddd01"}}]]},"{B524AF31-411C-0A4A-051D-52504914E69E},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Image bmp","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"5063cc1a333b1c48bc4b683d66175a9e"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"e0a22304a73ddd01"}}]]},"{1C167C3B-78B8-046E-2BBA-BABEB46E392F},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Image jpg","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"d0ef0c224100fa43963c22b59e48a339"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"f021c203a73ddd01"}}]]},"{D393D154-04C6-0F8D-03D1-6F43187067F9},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Image gif","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"df318a66c286084b9e283696297e82be"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"601d1405a73ddd01"}}]]},"{6DBAC757-58A7-0CB4-0422-5CE8CFA09158},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Files and recording","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"5bf9f2a7bf7777439427d892fc03e7b1"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"60888e06a73ddd01"}}]]},"{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},10":{"jcid":393223,"children":["{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},12","{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},13","{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},14","{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},15","{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},16","{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},17","{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},18","{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},19","{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},20","{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},21","{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},22","{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},23","{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},24"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Section","default_template":null},"extra":[[{"id":469769264,"value":{"Bytes":"d2e32f46a8d9444ebf84d4dbe59aa72e"}},{"id":402660453,"value":{"Bytes":"50201f02a73ddd01"}}]]},"{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},11":{"jcid":131121,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"SectionMetadata","name":null,"color":11451025},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]},"{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},12":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{5C7182D4-71B3-4966-9633-B35041C4081C},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"0eb588c4eff5094892fba535cd437edb"}},{"id":402660453,"value":{"Bytes":"e0a8ab02a73ddd01"}},{"id":603993154,"value":{"Objects":["{7ED942E5-47B3-0B88-2127-64FC9BE03DF4},1"]}}]]},"{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},13":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{3EBEBC0A-4EB8-4680-9CAE-6D126E4A0CC7},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"b31d0155dd8b8e4e88b28f62c287257e"}},{"id":402660453,"value":{"Bytes":"f021c203a73ddd01"}},{"id":603993154,"value":{"Objects":["{1C167C3B-78B8-046E-2BBA-BABEB46E392F},1"]}}]]},"{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},14":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{978C6F00-771C-48A4-B209-85FC9330D376},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"725aff9281ad4d45883241d8b169f212"}},{"id":402660453,"value":{"Bytes":"8002ed03a73ddd01"}},{"id":603993154,"value":{"Objects":["{B524AF31-411C-0A4A-051D-52504914E69E},1"]}}]]},"{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},15":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{38F51AA4-F561-4263-8DFE-69F99A053AC5},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"31ff287e2fb8634fbb516cf646ebd220"}},{"id":402660453,"value":{"Bytes":"10a97404a73ddd01"}},{"id":603993154,"value":{"Objects":["{1A5DDA95-C361-008D-3AEA-BE5540210F2D},1"]}}]]},"{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},16":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{F13B1165-32C6-4D63-B4C5-B8EFC2545211},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"55df8c37699cdd4cbe4f0e9ad1cb5686"}},{"id":402660453,"value":{"Bytes":"601d1405a73ddd01"}},{"id":603993154,"value":{"Objects":["{D393D154-04C6-0F8D-03D1-6F43187067F9},1"]}}]]},"{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},17":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{F5F0101D-A59D-46D8-9C9C-8AC52957ECA4},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"dd1e38d9be7f7b4a833d6e399f49c259"}},{"id":402660453,"value":{"Bytes":"e07ea005a73ddd01"}},{"id":603993154,"value":{"Objects":["{D758D02C-939D-0436-2B88-5D69F373D94C},1"]}}]]},"{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},18":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{22C1E532-FF8D-4EBC-BBAD-FDC771A608D7},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"7bbaee63c803364eb7a6ed17b2658fb9"}},{"id":402660453,"value":{"Bytes":"309ee505a73ddd01"}},{"id":603993154,"value":{"Objects":["{00692503-C98D-0C52-0CB9-2A6BAB823D3F},1"]}}]]},"{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},19":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{B53E61BD-9917-42C7-BE9D-26C8EC895DE3},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"19112299eacc6f4ca244c389a8cfb228"}},{"id":402660453,"value":{"Bytes":"a0f41906a73ddd01"}},{"id":603993154,"value":{"Objects":["{9796A18C-AF17-0029-0989-F16436AD680B},1"]}}]]},"{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},20":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{E715358B-EBCB-4DB5-AB69-94C066A898DC},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"9448a2d1e4eade4d85d4686d878c0214"}},{"id":402660453,"value":{"Bytes":"e0ec5e06a73ddd01"}},{"id":603993154,"value":{"Objects":["{C5BDF5BA-DDCB-0F5B-1C7D-436CBC8CAD34},1"]}}]]},"{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},21":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{4F120766-6EA7-4E5A-B336-8B441584A4B0},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"ff168942cb3eee4dbade34d8a8849ae6"}},{"id":402660453,"value":{"Bytes":"60888e06a73ddd01"}},{"id":603993154,"value":{"Objects":["{6DBAC757-58A7-0CB4-0422-5CE8CFA09158},1"]}}]]},"{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},22":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{ABA3D98F-BECC-464C-A8CB-B8FB52C392E2},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"b368d1ab3caf1c4fb97638c4bbb13174"}},{"id":402660453,"value":{"Bytes":"20fe0707a73ddd01"}},{"id":603993154,"value":{"Objects":["{890B19BE-88CC-04A2-1FDF-6F5788E7A70A},1"]}}]]},"{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},23":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{8F74EF9A-31BF-445D-84C0-93A60D5C1BA7},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"1ccd0215a164394da144df1fca750f21"}},{"id":402660453,"value":{"Bytes":"00c4d407a73ddd01"}},{"id":603993154,"value":{"Objects":["{ADDC2FAB-07BF-06B3-33D4-440AD7782E4F},1"]}}]]},"{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},24":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{774B3F15-481D-4DAC-94A5-561D665799B1},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"c21045c7b83acc49b90979a29e3ebf62"}},{"id":402660453,"value":{"Bytes":"70e06508a73ddd01"}},{"id":603993154,"value":{"Objects":["{55E3FF24-7E1D-0F42-23B1-81B1BC73AC59},1"]}}]]},"{9796A18C-AF17-0029-0989-F16436AD680B},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Image role background=false, printout=true","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"4fd875b7fbc3cd4b8adb9b948bd810c4"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"a0f41906a73ddd01"}}]]},"{1A5DDA95-C361-008D-3AEA-BE5540210F2D},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Image tiff","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"1f393c98c8fc1c479e07a2c84eab6bd8"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"10a97404a73ddd01"}}]]},"{ADDC2FAB-07BF-06B3-33D4-440AD7782E4F},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Numbering controls","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"efd0711e63e0854880e7d07b3635ceae"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"00c4d407a73ddd01"}}]]},"{C5BDF5BA-DDCB-0F5B-1C7D-436CBC8CAD34},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Image role background=true, printout=true","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"aaec0a4cf8ee1647b71d99037847bc12"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"e0ec5e06a73ddd01"}}]]},"{890B19BE-88CC-04A2-1FDF-6F5788E7A70A},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Paragraph controls","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"d8f7afe4d929a342ab66d603d5015ebb"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"a0283507a73ddd01"}}]]},"{7ED942E5-47B3-0B88-2127-64FC9BE03DF4},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Image png","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"f1ad1c438f60494daab03a4959f7cac4"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"e0a8ab02a73ddd01"}}]]}}}}},"{B53E61BD-9917-42C7-BE9D-26C8EC895DE3},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{5703C904-730F-455C-BAA8-B6F1D2FB0660},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{12A46566-5353-4007-A00C-2281EEF3BADA},1"},"revisions":{"{5703C904-730F-455C-BAA8-B6F1D2FB0660},1":{"roots":{"1":"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},10","2":"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},11","4":"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},26"},"nodes":{"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},10":{"jcid":393271,"children":[],"content":["{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},12"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[]]},"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Image role background=false, printout=true","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"4fd875b7fbc3cd4b8adb9b948bd810c4"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"a0f41906a73ddd01"}}]]},"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},12":{"jcid":393227,"children":["{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},39","{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},41"],"content":[],"structure":["{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},13"],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":null,"level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"7600690072007400750061006c000000"}},{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},13":{"jcid":393260,"children":["{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},14","{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},20"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Title"},"extra":[[{"id":335551550,"value":{"Bytes":"0c000900"}},{"id":335551620,"value":{"Bytes":"00000000"}},{"id":335551729,"value":{"Bytes":"00000000"}}]]},"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},14":{"jcid":393228,"children":["{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},33"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708793,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"},{"id":2281708689,"value":"NoData"},{"id":335551724,"value":{"Bytes":"00009040"}},{"id":2281708799,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},17":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"virtual"},"extra":[[{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},18":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},20":{"jcid":393228,"children":["{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},21","{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},24"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708725,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708766,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},21":{"jcid":393229,"children":[],"content":["{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},22"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128746,"modified":1473128746,"original_author":"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},17","latest_author":"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},22":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Saturday, September 05, 2026","runs":[{"start":0,"end":28,"format":"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},27","extra_set":null}],"paragraph_style":"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},23":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"PageDateTime"},"extra":[[]]},"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},24":{"jcid":393229,"children":[],"content":["{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},25"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128746,"modified":1473128746,"original_author":"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},17","latest_author":"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},25":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"7:25 PM","runs":[{"start":0,"end":7,"format":"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},27","extra_set":null}],"paragraph_style":"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},26":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":null},"extra":[[]]},"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},27":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},33":{"jcid":393229,"children":[],"content":["{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},37"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128746,"modified":1473128746,"original_author":"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},17","latest_author":"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"}]]},"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},37":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Image role background=false, printout=true","runs":[{"start":0,"end":42,"format":"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},38","extra_set":null}],"paragraph_style":"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":2281708724,"value":"NoData"}]]},"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},38":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":17.0,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},39":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":36.0,"y":36.0,"max_width":286.56,"max_height":190.56001},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128747,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},40","filename":null,"alt":"Role pattern","picture_width":72.0,"picture_height":48.0,"background":false,"printout":true,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb010000003086c74d139ec244ae8bc4516d2b8c65000000000200000000001066000000010000200000003af5e6042584bbb6d7b2432401acaa4bbf31e2da3e97299ab196e317ea5126f4000000000e800000000200002000000033b6d73fc7620128e759782df06f5393cc0307f33f4a9d0c28245c0ff954b2d720000000a64151834adfdd0963fbc6eb3084c73ecd6f136487f906a265babf9e5919dcf040000000248fd8159557870b2284870d18e8634e352c8d87992506cca9b194e63a436ce5b00127192c93b8d2739f18885c6458ae6a861d343132e11573e3eb55bcb056b9"}},{"id":469769724,"value":{"Bytes":"4b2cb5e4e68a713f4c4074f83bc4a99f105611b9"}},{"id":335551993,"value":{"Bytes":"02000000"}},{"id":2281708733,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769250,"value":{"Bytes":"0000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},40":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[7,152,73,239,100,120,37,76,191,193,55,183,50,251,60,41]},"extension":".png"},"extra":[]},"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},41":{"jcid":393228,"children":["{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},42"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":72.0,"y":108.0,"max_width":480.0,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},42":{"jcid":393229,"children":[],"content":["{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},46"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128746,"modified":1473128746,"original_author":"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},17","latest_author":"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},46":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Foreground role control","runs":[{"start":0,"end":23,"format":"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},27","extra_set":null}],"paragraph_style":"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]}}},"{12A46566-5353-4007-A00C-2281EEF3BADA},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}}}},"{5C7182D4-71B3-4966-9633-B35041C4081C},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{10D93D65-4605-482C-BA47-26C6F7EDB73D},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{37F604FE-8D16-4032-A5AC-F70AEE7BD3AA},1"},"revisions":{"{10D93D65-4605-482C-BA47-26C6F7EDB73D},1":{"roots":{"1":"{232F27D5-8903-4D80-B56E-6F9929BAA111},10","2":"{232F27D5-8903-4D80-B56E-6F9929BAA111},11","4":"{232F27D5-8903-4D80-B56E-6F9929BAA111},26"},"nodes":{"{232F27D5-8903-4D80-B56E-6F9929BAA111},10":{"jcid":393271,"children":[],"content":["{232F27D5-8903-4D80-B56E-6F9929BAA111},12"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[]]},"{232F27D5-8903-4D80-B56E-6F9929BAA111},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Image png","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"f1ad1c438f60494daab03a4959f7cac4"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"e0a8ab02a73ddd01"}}]]},"{232F27D5-8903-4D80-B56E-6F9929BAA111},12":{"jcid":393227,"children":["{232F27D5-8903-4D80-B56E-6F9929BAA111},39"],"content":[],"structure":["{232F27D5-8903-4D80-B56E-6F9929BAA111},13"],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128742,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":null,"level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"7600690072007400750061006c000000"}},{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{232F27D5-8903-4D80-B56E-6F9929BAA111},13":{"jcid":393260,"children":["{232F27D5-8903-4D80-B56E-6F9929BAA111},14","{232F27D5-8903-4D80-B56E-6F9929BAA111},20"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128740,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Title"},"extra":[[{"id":335551550,"value":{"Bytes":"0c000900"}},{"id":335551620,"value":{"Bytes":"00000000"}},{"id":335551729,"value":{"Bytes":"00000000"}}]]},"{232F27D5-8903-4D80-B56E-6F9929BAA111},14":{"jcid":393228,"children":["{232F27D5-8903-4D80-B56E-6F9929BAA111},33"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128742,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708793,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"},{"id":2281708689,"value":"NoData"},{"id":335551724,"value":{"Bytes":"00009040"}},{"id":2281708799,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{232F27D5-8903-4D80-B56E-6F9929BAA111},17":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"virtual"},"extra":[[{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{232F27D5-8903-4D80-B56E-6F9929BAA111},18":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{232F27D5-8903-4D80-B56E-6F9929BAA111},20":{"jcid":393228,"children":["{232F27D5-8903-4D80-B56E-6F9929BAA111},21","{232F27D5-8903-4D80-B56E-6F9929BAA111},24"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128740,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708725,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708766,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{232F27D5-8903-4D80-B56E-6F9929BAA111},21":{"jcid":393229,"children":[],"content":["{232F27D5-8903-4D80-B56E-6F9929BAA111},22"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128740,"modified":1473128740,"original_author":"{232F27D5-8903-4D80-B56E-6F9929BAA111},17","latest_author":"{232F27D5-8903-4D80-B56E-6F9929BAA111},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{232F27D5-8903-4D80-B56E-6F9929BAA111},22":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128740,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Saturday, September 05, 2026","runs":[{"start":0,"end":28,"format":"{232F27D5-8903-4D80-B56E-6F9929BAA111},27","extra_set":null}],"paragraph_style":"{232F27D5-8903-4D80-B56E-6F9929BAA111},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{232F27D5-8903-4D80-B56E-6F9929BAA111},23":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"PageDateTime"},"extra":[[]]},"{232F27D5-8903-4D80-B56E-6F9929BAA111},24":{"jcid":393229,"children":[],"content":["{232F27D5-8903-4D80-B56E-6F9929BAA111},25"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128740,"modified":1473128740,"original_author":"{232F27D5-8903-4D80-B56E-6F9929BAA111},17","latest_author":"{232F27D5-8903-4D80-B56E-6F9929BAA111},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{232F27D5-8903-4D80-B56E-6F9929BAA111},25":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128740,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"7:25 PM","runs":[{"start":0,"end":7,"format":"{232F27D5-8903-4D80-B56E-6F9929BAA111},27","extra_set":null}],"paragraph_style":"{232F27D5-8903-4D80-B56E-6F9929BAA111},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{232F27D5-8903-4D80-B56E-6F9929BAA111},26":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":null},"extra":[[]]},"{232F27D5-8903-4D80-B56E-6F9929BAA111},27":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{232F27D5-8903-4D80-B56E-6F9929BAA111},33":{"jcid":393229,"children":[],"content":["{232F27D5-8903-4D80-B56E-6F9929BAA111},37"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128742,"modified":1473128742,"original_author":"{232F27D5-8903-4D80-B56E-6F9929BAA111},17","latest_author":"{232F27D5-8903-4D80-B56E-6F9929BAA111},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"}]]},"{232F27D5-8903-4D80-B56E-6F9929BAA111},37":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128742,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Image png","runs":[{"start":0,"end":9,"format":"{232F27D5-8903-4D80-B56E-6F9929BAA111},38","extra_set":null}],"paragraph_style":"{232F27D5-8903-4D80-B56E-6F9929BAA111},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":2281708724,"value":"NoData"}]]},"{232F27D5-8903-4D80-B56E-6F9929BAA111},38":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":17.0,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{232F27D5-8903-4D80-B56E-6F9929BAA111},39":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":72.0,"y":108.0,"max_width":144.0,"max_height":48.000008},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128742,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{232F27D5-8903-4D80-B56E-6F9929BAA111},40","filename":null,"alt":"Pattern png","picture_width":72.0,"picture_height":48.0,"background":false,"printout":false,"link":"https://example.invalid/image/png"},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb010000003086c74d139ec244ae8bc4516d2b8c6500000000020000000000106600000001000020000000f5fbf8658a45bede4756b4f1f553f51ba1bedb3a7faaab7a13958ff597b5b06c000000000e8000000002000020000000a2aaef0f5bc57890f7a598f2bae4d2335f1207531bf8bd2cc32d0d488e1975bb2000000056a1a3b1ee3b272497ef3cb53b8fc61808e557a21a1fea7cf478cedcb7a084b74000000039740dbcaafd9b50569d90388f7878700e0419a5fb0e969c73fe23f83a7daba5c4760fbfc34edc91f1100a29f56c5bdc80043fc28005dc8a9a6913cabda4bc1b"}},{"id":469769724,"value":{"Bytes":"4b2cb5e4e68a713f4c4074f83bc4a99f105611b9"}},{"id":2281709006,"value":"NoData"},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":2281708733,"value":"NoData"},{"id":2281709036,"value":"NoData"}]]},"{232F27D5-8903-4D80-B56E-6F9929BAA111},40":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[7,152,73,239,100,120,37,76,191,193,55,183,50,251,60,41]},"extension":".png"},"extra":[]}}},"{37F604FE-8D16-4032-A5AC-F70AEE7BD3AA},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}}}}}}
\ No newline at end of file
corpus/m6/native-expanded-control-ui-01/model/text.json created+1
...@@ -0,0 +1 @@
1{"{978C6F00-771C-48A4-B209-85FC9330D376},1":{"{C074D235-5F66-44F7-95FA-B83852FB27FE},1":{"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},22":[{"text":"Saturday, September 05, 2026","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},25":[{"text":"7:25 PM","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},37":[{"text":"Image bmp","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":17.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]},"{533C39B0-FBAD-4895-9E24-AD9B23BC5F4B},1":{}},"{3EBEBC0A-4EB8-4680-9CAE-6D126E4A0CC7},1":{"{4B7C7101-699A-4DBD-8B5D-703A463A0590},1":{},"{70F926CC-F9D0-40E9-BA9E-C61949F36760},1":{"{E0831A25-B965-4E65-A2DD-FFD6A6045736},22":[{"text":"Saturday, September 05, 2026","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{E0831A25-B965-4E65-A2DD-FFD6A6045736},25":[{"text":"7:25 PM","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{E0831A25-B965-4E65-A2DD-FFD6A6045736},37":[{"text":"Image jpg","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":17.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]}},"{774B3F15-481D-4DAC-94A5-561D665799B1},1":{"{4A009430-74D8-49A2-BDD0-0FFEDC139370},1":{},"{41CB75DE-5BFA-4D09-8B75-968E378FC588},1":{"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},22":[{"text":"Saturday, September 05, 2026","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},25":[{"text":"7:25 PM","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},37":[{"text":"Task controls","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":17.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},44":[{"text":"Disabled standalone task","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]}},"{F5F0101D-A59D-46D8-9C9C-8AC52957ECA4},1":{"{F3271F93-A232-41C7-93C8-2161BEC42628},1":{},"{BD4C28C2-15B2-46BC-B7D5-828916DFC55A},1":{"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},22":[{"text":"Saturday, September 05, 2026","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},25":[{"text":"7:25 PM","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},37":[{"text":"Image role background=false, printout=false","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":17.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},46":[{"text":"Foreground role control","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]}},"{22C1E532-FF8D-4EBC-BBAD-FDC771A608D7},1":{"{F7C7A401-F29E-4394-A2CE-3C3A4F48209B},1":{},"{0C387409-9538-42F1-BF47-A0499D7D5FA8},1":{"{E47C60BE-AF76-43E8-8937-2F36F60E114C},22":[{"text":"Saturday, September 05, 2026","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{E47C60BE-AF76-43E8-8937-2F36F60E114C},25":[{"text":"7:25 PM","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{E47C60BE-AF76-43E8-8937-2F36F60E114C},37":[{"text":"Image role background=true, printout=false","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":17.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{E47C60BE-AF76-43E8-8937-2F36F60E114C},46":[{"text":"Foreground role control","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]}},"{F13B1165-32C6-4D63-B4C5-B8EFC2545211},1":{"{BA226054-F35E-4372-B591-5B02B2E6CC11},1":{"{8A6E1954-54EC-4890-A363-2CD23263DB72},22":[{"text":"Saturday, September 05, 2026","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{8A6E1954-54EC-4890-A363-2CD23263DB72},25":[{"text":"7:25 PM","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{8A6E1954-54EC-4890-A363-2CD23263DB72},37":[{"text":"Image gif","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":17.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]},"{CD35F978-C249-4837-9D54-000183B276F6},1":{}},"{4F120766-6EA7-4E5A-B336-8B441584A4B0},1":{"{A26A8B36-5C5A-4EF0-8A4A-F5875125FBC8},1":{"{55083EE2-B644-4097-A02A-19F56E6362C7},22":[{"text":"Saturday, September 05, 2026","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{55083EE2-B644-4097-A02A-19F56E6362C7},25":[{"text":"7:25 PM","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{55083EE2-B644-4097-A02A-19F56E6362C7},37":[{"text":"Files and recording","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":17.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{55083EE2-B644-4097-A02A-19F56E6362C7},52":[{"text":"Recording annotation","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]},"{54CC6F65-B9D8-4A2D-BF14-F50D0AC5B37B},1":{}},"{E715358B-EBCB-4DB5-AB69-94C066A898DC},1":{"{065F701A-0718-4CD5-9984-DF8F477C196C},1":{},"{CE82D8C2-54BF-48FB-9931-3CF1C4C49D6A},1":{"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},22":[{"text":"Saturday, September 05, 2026","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},25":[{"text":"7:25 PM","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},37":[{"text":"Image role background=true, printout=true","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":17.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},46":[{"text":"Foreground role control","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]}},"{ABA3D98F-BECC-464C-A8CB-B8FB52C392E2},1":{"{8EC9CE4B-8F17-43E2-A1DE-7A1BB39701BC},1":{"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},22":[{"text":"Saturday, September 05, 2026","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},25":[{"text":"7:25 PM","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},37":[{"text":"Paragraph controls","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":17.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},44":[{"text":"Inherited strike and spacing","format":{"bold":false,"italic":false,"underline":false,"strike":true,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":14.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":9.0,"space_after":4.5,"line_spacing":null},"link":null}],"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},51":[{"text":"Centered paragraph","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":1,"rtl":null,"space_before":12.0,"space_after":6.0,"line_spacing":0.0},"link":null}],"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},56":[{"text":"مرحبا بالعالم","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Arial","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1025,"alignment":2,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},62":[{"text":"Collapsed parent","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},67":[{"text":"Hidden child remains stored","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},72":[{"text":"Grandchild","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},77":[{"text":"AB        C","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]},"{765EC190-2698-4D0D-9BE4-176915F0525E},1":{}},"{8F74EF9A-31BF-445D-84C0-93A60D5C1BA7},1":{"{937D4936-B04B-4DEC-BA33-575B74F07469},1":{},"{CD7B9DD7-3E2B-4718-A3C0-F5B0F3438380},1":{"{CA4801D9-2718-46A8-B58F-BD356DEA0174},22":[{"text":"Saturday, September 05, 2026","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{CA4801D9-2718-46A8-B58F-BD356DEA0174},25":[{"text":"7:25 PM","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{CA4801D9-2718-46A8-B58F-BD356DEA0174},37":[{"text":"Numbering controls","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":17.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{CA4801D9-2718-46A8-B58F-BD356DEA0174},44":[{"text":"Sequence 0, item 0","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{CA4801D9-2718-46A8-B58F-BD356DEA0174},50":[{"text":"Sequence 0, item 1","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{CA4801D9-2718-46A8-B58F-BD356DEA0174},56":[{"text":"Sequence 1, item 0","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{CA4801D9-2718-46A8-B58F-BD356DEA0174},62":[{"text":"Sequence 1, item 1","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{CA4801D9-2718-46A8-B58F-BD356DEA0174},68":[{"text":"Sequence 2, item 0","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{CA4801D9-2718-46A8-B58F-BD356DEA0174},74":[{"text":"Sequence 2, item 1","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{CA4801D9-2718-46A8-B58F-BD356DEA0174},80":[{"text":"Sequence 3, item 0","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{CA4801D9-2718-46A8-B58F-BD356DEA0174},86":[{"text":"Sequence 3, item 1","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{CA4801D9-2718-46A8-B58F-BD356DEA0174},92":[{"text":"Sequence 4, item 0","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{CA4801D9-2718-46A8-B58F-BD356DEA0174},98":[{"text":"Sequence 4, item 1","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]}},"{38F51AA4-F561-4263-8DFE-69F99A053AC5},1":{"{06BD3755-EF72-4542-890A-E865C245F2C3},1":{"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},22":[{"text":"Saturday, September 05, 2026","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},25":[{"text":"7:25 PM","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},37":[{"text":"Image tiff","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":17.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]},"{1E3F8BE5-DA93-4736-B999-5A89E1A42BEE},1":{}},"{5FBAB4A8-F2EB-4D9C-892F-64D03C6D5C0C},1":{"{D2AE8403-7FD3-4698-9F79-2CF7CE62DA07},1":{}},"{B53E61BD-9917-42C7-BE9D-26C8EC895DE3},1":{"{5703C904-730F-455C-BAA8-B6F1D2FB0660},1":{"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},22":[{"text":"Saturday, September 05, 2026","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},25":[{"text":"7:25 PM","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},37":[{"text":"Image role background=false, printout=true","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":17.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},46":[{"text":"Foreground role control","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]},"{12A46566-5353-4007-A00C-2281EEF3BADA},1":{}},"{5C7182D4-71B3-4966-9633-B35041C4081C},1":{"{10D93D65-4605-482C-BA47-26C6F7EDB73D},1":{"{232F27D5-8903-4D80-B56E-6F9929BAA111},22":[{"text":"Saturday, September 05, 2026","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{232F27D5-8903-4D80-B56E-6F9929BAA111},25":[{"text":"7:25 PM","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{232F27D5-8903-4D80-B56E-6F9929BAA111},37":[{"text":"Image png","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":17.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]},"{37F604FE-8D16-4032-A5AC-F70AEE7BD3AA},1":{}}}
\ No newline at end of file
corpus/m6/native-expanded-control-ui-01/notebook/Empty.one created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/notebook/Empty.one differ
corpus/m6/native-expanded-control-ui-01/notebook/Features.one created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/notebook/Features.one differ
corpus/m6/native-expanded-control-ui-01/notebook/Group A/Duplicate.one created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/notebook/Group A/Duplicate.one differ
corpus/m6/native-expanded-control-ui-01/notebook/Group A/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/notebook/Group A/Open Notebook.onetoc2 differ
corpus/m6/native-expanded-control-ui-01/notebook/Group B/Nested/Duplicate.one created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/notebook/Group B/Nested/Duplicate.one differ
corpus/m6/native-expanded-control-ui-01/notebook/Group B/Nested/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/notebook/Group B/Nested/Open Notebook.onetoc2 differ
corpus/m6/native-expanded-control-ui-01/notebook/Group B/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/notebook/Group B/Open Notebook.onetoc2 differ
corpus/m6/native-expanded-control-ui-01/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/notebook/Open Notebook.onetoc2 differ
corpus/m6/native-expanded-control-ui-01/notebook/fixture-data/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/notebook/fixture-data/Open Notebook.onetoc2 differ
corpus/m6/native-expanded-control-ui-01/notebook/fixture-data/attachment.txt created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/notebook/fixture-data/attachment.txt differ
corpus/m6/native-expanded-control-ui-01/notebook/fixture-data/pattern.bmp created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/notebook/fixture-data/pattern.bmp differ
corpus/m6/native-expanded-control-ui-01/notebook/fixture-data/pattern.gif created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/notebook/fixture-data/pattern.gif differ
corpus/m6/native-expanded-control-ui-01/notebook/fixture-data/pattern.jpg created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/notebook/fixture-data/pattern.jpg differ
corpus/m6/native-expanded-control-ui-01/notebook/fixture-data/pattern.png created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/notebook/fixture-data/pattern.png differ
corpus/m6/native-expanded-control-ui-01/notebook/fixture-data/pattern.tiff created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/notebook/fixture-data/pattern.tiff differ
corpus/m6/native-expanded-control-ui-01/notebook/fixture-data/silence.wav created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/notebook/fixture-data/silence.wav differ
corpus/m6/native-expanded-control-ui-01/notebook/fixture.json created+86
...@@ -0,0 +1,86 @@
1{
2 "sections": [
3 "Features.one",
4 "Group A/Duplicate.one",
5 "Group B/Nested/Duplicate.one",
6 "Empty.one"
7 ],
8 "pages": [
9 {
10 "section": "Features.one",
11 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image png</one:T></one:OE></one:Title><one:Image format=\"auto\" alt=\"Pattern png\" hyperlink=\"https://example.invalid/image/png\"><one:Position x=\"72\" y=\"108\"/><one:Size width=\"144\" height=\"48\"/><one:File path=\"__ASSETS__\\pattern.png\"/></one:Image></one:Page>"
12 },
13 {
14 "section": "Features.one",
15 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image jpg</one:T></one:OE></one:Title><one:Image format=\"auto\" alt=\"Pattern jpg\" hyperlink=\"https://example.invalid/image/jpg\"><one:Position x=\"72\" y=\"108\"/><one:Size width=\"144\" height=\"48\"/><one:File path=\"__ASSETS__\\pattern.jpg\"/></one:Image></one:Page>"
16 },
17 {
18 "section": "Features.one",
19 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image bmp</one:T></one:OE></one:Title><one:Image format=\"auto\" alt=\"Pattern bmp\" hyperlink=\"https://example.invalid/image/bmp\"><one:Position x=\"72\" y=\"108\"/><one:Size width=\"144\" height=\"48\"/><one:File path=\"__ASSETS__\\pattern.bmp\"/></one:Image></one:Page>"
20 },
21 {
22 "section": "Features.one",
23 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image tiff</one:T></one:OE></one:Title><one:Image format=\"auto\" alt=\"Pattern tiff\" hyperlink=\"https://example.invalid/image/tiff\"><one:Position x=\"72\" y=\"108\"/><one:Size width=\"144\" height=\"48\"/><one:File path=\"__ASSETS__\\pattern.tiff\"/></one:Image></one:Page>"
24 },
25 {
26 "section": "Features.one",
27 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image gif</one:T></one:OE></one:Title><one:Image format=\"auto\" alt=\"Pattern gif\" hyperlink=\"https://example.invalid/image/gif\"><one:Position x=\"72\" y=\"108\"/><one:Size width=\"144\" height=\"48\"/><one:File path=\"__ASSETS__\\pattern.gif\"/></one:Image></one:Page>"
28 },
29 {
30 "section": "Features.one",
31 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image role background=false, printout=false</one:T></one:OE></one:Title><one:Image format=\"auto\" backgroundImage=\"false\" isPrintOut=\"false\" originalPageNumber=\"2\" alt=\"Role pattern\"><one:Position x=\"36\" y=\"36\"/><one:Size width=\"288\" height=\"192\"/><one:File path=\"__ASSETS__\\pattern.png\"/></one:Image><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Foreground role control</one:T></one:OE></one:OEChildren></one:Outline></one:Page>"
32 },
33 {
34 "section": "Features.one",
35 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image role background=true, printout=false</one:T></one:OE></one:Title><one:Image format=\"auto\" backgroundImage=\"true\" isPrintOut=\"false\" originalPageNumber=\"2\" alt=\"Role pattern\"><one:Position x=\"36\" y=\"36\"/><one:Size width=\"288\" height=\"192\"/><one:File path=\"__ASSETS__\\pattern.png\"/></one:Image><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Foreground role control</one:T></one:OE></one:OEChildren></one:Outline></one:Page>"
36 },
37 {
38 "section": "Features.one",
39 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image role background=false, printout=true</one:T></one:OE></one:Title><one:Image format=\"auto\" backgroundImage=\"false\" isPrintOut=\"true\" originalPageNumber=\"2\" alt=\"Role pattern\"><one:Position x=\"36\" y=\"36\"/><one:Size width=\"288\" height=\"192\"/><one:File path=\"__ASSETS__\\pattern.png\"/></one:Image><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Foreground role control</one:T></one:OE></one:OEChildren></one:Outline></one:Page>"
40 },
41 {
42 "section": "Features.one",
43 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image role background=true, printout=true</one:T></one:OE></one:Title><one:Image format=\"auto\" backgroundImage=\"true\" isPrintOut=\"true\" originalPageNumber=\"2\" alt=\"Role pattern\"><one:Position x=\"36\" y=\"36\"/><one:Size width=\"288\" height=\"192\"/><one:File path=\"__ASSETS__\\pattern.png\"/></one:Image><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Foreground role control</one:T></one:OE></one:OEChildren></one:Outline></one:Page>"
44 },
45 {
46 "section": "Features.one",
47 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Files and recording</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:InsertedFile pathSource=\"__ASSETS__\\attachment.txt\" preferredName=\"Fictitious attachment.txt\"/></one:OE><one:OE><one:MediaFile pathSource=\"__ASSETS__\\silence.wav\" preferredName=\"silence.wav\"><one:MediaReference mediaID=\"{9A418E57-7F64-40C5-87D0-8A8F7C1E5422}\"/></one:MediaFile></one:OE><one:OE><one:MediaIndex timeIndex=\"500\"><one:MediaReference mediaID=\"{9A418E57-7F64-40C5-87D0-8A8F7C1E5422}\"/></one:MediaIndex><one:T>Recording annotation</one:T></one:OE></one:OEChildren></one:Outline></one:Page>"
48 },
49 {
50 "section": "Features.one",
51 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:QuickStyleDef index=\"0\" name=\"Fixture style\" font=\"Calibri\" fontSize=\"14\" strikethrough=\"true\" spaceBefore=\"0.25\" spaceAfter=\"0.125\"/><one:Title><one:OE><one:T>Paragraph controls</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE quickStyleIndex=\"0\"><one:T>Inherited strike and spacing</one:T></one:OE><one:OE alignment=\"center\" spaceBefore=\"12\" spaceAfter=\"6\"><one:T>Centered paragraph</one:T></one:OE><one:OE RTL=\"true\" alignment=\"right\"><one:T>مرحبا بالعالم</one:T></one:OE><one:OE collapsed=\"true\"><one:T>Collapsed parent</one:T><one:OEChildren indent=\"2\"><one:OE><one:T>Hidden child remains stored</one:T><one:OEChildren><one:OE><one:T>Grandchild</one:T></one:OE></one:OEChildren></one:OE></one:OEChildren></one:OE><one:OE><one:T><![CDATA[A<br><br>B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;C]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>"
52 },
53 {
54 "section": "Features.one",
55 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Numbering controls</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:List><one:Number numberSequence=\"0\" numberFormat=\"##\" restartNumberingAt=\"3\" font=\"Calibri\"/></one:List><one:T>Sequence 0, item 0</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"0\" numberFormat=\"##\" font=\"Calibri\"/></one:List><one:T>Sequence 0, item 1</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"1\" numberFormat=\"##\" restartNumberingAt=\"3\" font=\"Calibri\"/></one:List><one:T>Sequence 1, item 0</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"1\" numberFormat=\"##\" font=\"Calibri\"/></one:List><one:T>Sequence 1, item 1</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"2\" numberFormat=\"##\" restartNumberingAt=\"3\" font=\"Calibri\"/></one:List><one:T>Sequence 2, item 0</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"2\" numberFormat=\"##\" font=\"Calibri\"/></one:List><one:T>Sequence 2, item 1</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"3\" numberFormat=\"##\" restartNumberingAt=\"3\" font=\"Calibri\"/></one:List><one:T>Sequence 3, item 0</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"3\" numberFormat=\"##\" font=\"Calibri\"/></one:List><one:T>Sequence 3, item 1</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"4\" numberFormat=\"##\" restartNumberingAt=\"3\" font=\"Calibri\"/></one:List><one:T>Sequence 4, item 0</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"4\" numberFormat=\"##\" font=\"Calibri\"/></one:List><one:T>Sequence 4, item 1</one:T></one:OE></one:OEChildren></one:Outline></one:Page>"
56 },
57 {
58 "section": "Features.one",
59 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Task controls</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:OutlookTask guidTask=\"{45AF40E3-1D54-463C-90D3-C454F2F71A2E}\" completed=\"false\" disabled=\"true\" creationDate=\"2020-01-02T03:04:05Z\" startDate=\"2020-01-02T00:00:00Z\" dueDate=\"2020-01-03T00:00:00Z\"/><one:T>Disabled standalone task</one:T></one:OE></one:OEChildren></one:Outline></one:Page>"
60 },
61 {
62 "section": "Group A/Duplicate.one",
63 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" pageLevel=\"1\"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Group path Group A/Duplicate.one, level 1</one:T></one:OE></one:OEChildren></one:Outline></one:Page>"
64 },
65 {
66 "section": "Group A/Duplicate.one",
67 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" pageLevel=\"2\"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Group path Group A/Duplicate.one, level 2</one:T></one:OE></one:OEChildren></one:Outline></one:Page>"
68 },
69 {
70 "section": "Group A/Duplicate.one",
71 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" pageLevel=\"3\"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Group path Group A/Duplicate.one, level 3</one:T></one:OE></one:OEChildren></one:Outline></one:Page>"
72 },
73 {
74 "section": "Group B/Nested/Duplicate.one",
75 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" pageLevel=\"1\"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Group path Group B/Nested/Duplicate.one, level 1</one:T></one:OE></one:OEChildren></one:Outline></one:Page>"
76 },
77 {
78 "section": "Group B/Nested/Duplicate.one",
79 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" pageLevel=\"2\"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Group path Group B/Nested/Duplicate.one, level 2</one:T></one:OE></one:OEChildren></one:Outline></one:Page>"
80 },
81 {
82 "section": "Group B/Nested/Duplicate.one",
83 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" pageLevel=\"3\"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Group path Group B/Nested/Duplicate.one, level 3</one:T></one:OE></one:OEChildren></one:Outline></one:Page>"
84 }
85 ]
86}
\ No newline at end of file
corpus/m6/native-expanded-control-ui-01/notebook/synthetic.one created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/notebook/synthetic.one differ
corpus/m6/native-expanded-control-ui-01/read/4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2.attachment created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/read/4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2.attachment differ
corpus/m6/native-expanded-control-ui-01/read/56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9.attachment created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/read/56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9.attachment differ
corpus/m6/native-expanded-control-ui-01/read/environment.json created+7
...@@ -0,0 +1,7 @@
1{
2 "powershell": "5.1.14409.1005",
3 "schema": "xs2010",
4 "hostname": "ONE-M6-DB65123D",
5 "cold": false,
6 "onenote": "14.0.4763.1000"
7}
corpus/m6/native-expanded-control-ui-01/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{4BF16F46-C46E-4B44-8A4C-F7501E2BD91C}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-06T06:00:50.000Z" color="#B49EDE" isCurrentlyViewed="true"><one:Section name="synthetic" ID="{E20AF8E2-158C-0839-31E9-2755DCDB7C1E}{1}{B0}" path="C:\one-tests\runs\capture\notebook\synthetic.one" lastModifiedTime="2026-09-06T06:00:21.000Z" color="#8AA8E4"><one:Page ID="{8D84E5D0-1791-0BC9-15B4-071F22553597}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T06:00:21.000Z" pageLevel="1"/></one:Section><one:Section name="Features" ID="{24C923D7-8942-0504-0B50-AD30C0CEDB03}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Features.one" lastModifiedTime="2026-09-06T06:00:22.000Z" color="#91BAAE"><one:Page ID="{270215AB-0A1A-01FE-144C-7AB0BD678F13}{1}{B0}" name="Image png" dateTime="2026-09-06T02:25:40.000Z" lastModifiedTime="2026-09-06T06:00:21.000Z" pageLevel="1"/><one:Page ID="{45CD2B75-3511-0E18-1ED1-A4F292E98BC8}{1}{B0}" name="Image jpg" dateTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T06:00:21.000Z" pageLevel="1"/><one:Page ID="{ECFFF87F-0CB5-003C-3076-4C1C6F935479}{1}{B0}" name="Image bmp" dateTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T06:00:21.000Z" pageLevel="1"/><one:Page ID="{43868DDB-8EC8-0AFB-0F81-A01966A6BDCA}{1}{B0}" name="Image tiff" dateTime="2026-09-06T02:25:43.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1"/><one:Page ID="{8A48861A-496F-05FB-36BA-710F3EF7D51E}{1}{B0}" name="Image gif" dateTime="2026-09-06T02:25:44.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1"/><one:Page ID="{8E838762-DE34-0E40-1EE3-4325D5F46BAB}{1}{B0}" name="Image role background=false, printout=false" dateTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1"/><one:Page ID="{59B2724D-8424-0624-39D2-34278D058FD8}{1}{B0}" name="Image role background=true, printout=false" dateTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1"/><one:Page ID="{CE4DF6C2-E2BE-0A5F-3CE2-EF28102ADAEC}{1}{B0}" name="Image role background=false, printout=true" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1"/><one:Page ID="{9C66A2F4-9062-052D-2916-5D209A0B1FD3}{1}{B0}" name="Image role background=true, printout=true" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1"/><one:Page ID="{34619019-150E-06C2-3149-42A4E92723BF}{1}{B0}" name="Files and recording" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1"/><one:Page ID="{D0D04EF0-C565-0ED4-2AB4-711BAE6015ED}{1}{B0}" name="Paragraph controls" dateTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1"/><one:Page ID="{F40778E5-4A16-0CC5-06BF-5A46F1FF9CA8}{1}{B0}" name="Numbering controls" dateTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1"/><one:Page ID="{0C38A86A-33B4-0534-16DA-9FFD9AF41EBE}{1}{B0}" name="Task controls" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1"/></one:Section><one:Section name="Empty" ID="{F53553BB-CE15-0E8C-0162-AE67A5DC3DD8}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Empty.one" lastModifiedTime="2026-09-06T06:00:23.000Z" color="#9BBBD2"/><one:SectionGroup name="fixture-data" ID="{1219496D-4161-403C-BDA7-CA7387C61F4B}{1}{B0}" path="C:\one-tests\runs\capture\notebook\fixture-data" lastModifiedTime="2026-09-06T06:00:50.000Z"/><one:SectionGroup name="Group A" ID="{E031C0DA-4BB2-4566-85BD-693EC68DCDD1}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Group A" lastModifiedTime="2026-09-06T06:00:23.000Z" isCurrentlyViewed="true"><one:Section name="Duplicate" ID="{3596E26B-D5D1-064E-258F-FFFB08050A84}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Group A\Duplicate.one" lastModifiedTime="2026-09-06T06:00:23.000Z" color="#F6B078" isCurrentlyViewed="true"><one:Page ID="{FAF3951F-EA54-0DDA-2D09-FE9DEFE4F065}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:23.000Z" pageLevel="1" isCurrentlyViewed="true"/><one:Page ID="{0DB8AF78-686C-0C01-3D52-A89559FC5885}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:23.000Z" pageLevel="2"/><one:Page ID="{35E4289B-AD1E-043C-0470-E53BC236A7A8}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:23.000Z" pageLevel="3"/></one:Section></one:SectionGroup><one:SectionGroup name="Group B" ID="{08640112-567F-4B02-89D6-B5A950FBD58C}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Group B" lastModifiedTime="2026-09-06T06:00:23.000Z"><one:SectionGroup name="Nested" ID="{768598DE-CCF9-4ABC-AD34-CF30125DDE09}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Group B\Nested" lastModifiedTime="2026-09-06T06:00:23.000Z"><one:Section name="Duplicate" ID="{072C7CCD-900E-082F-1F1A-1EDE846B79A8}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Group B\Nested\Duplicate.one" lastModifiedTime="2026-09-06T06:00:23.000Z" color="#D5A4BB"><one:Page ID="{EEC0EBD1-BCA4-04CF-1581-C1F540980D0E}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:23.000Z" pageLevel="1"/><one:Page ID="{94D4815F-8289-04F4-084F-3C20BF91CF04}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:23.000Z" pageLevel="2"/><one:Page ID="{03B62394-C1B5-04AE-16E3-995530425C92}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T06:00:23.000Z" pageLevel="3"/></one:Section></one:SectionGroup></one:SectionGroup></one:Notebook>
corpus/m6/native-expanded-control-ui-01/read/page-000.pdf created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/read/page-000.pdf differ
corpus/m6/native-expanded-control-ui-01/read/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{03B62394-C1B5-04AE-16E3-995530425C92}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T06:00:42.000Z" pageLevel="3" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{F035D946-2927-0940-13DF-12AD3F9C2F17}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{F035D946-2927-0940-13DF-12AD3F9C2F17}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="266.8237915039062" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{F035D946-2927-0940-13DF-12AD3F9C2F17}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group B/Nested/Duplicate.one, level 3]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-expanded-control-ui-01/read/page-001.pdf created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/read/page-001.pdf differ
corpus/m6/native-expanded-control-ui-01/read/page-001.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{0C38A86A-33B4-0534-16DA-9FFD9AF41EBE}{1}{B0}" name="Task controls" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:43.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{5ECE6FF4-5D6D-0D00-32A4-C04E2864B9AA}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Task controls]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{5ECE6FF4-5D6D-0D00-32A4-C04E2864B9AA}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="151.0606994628906" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{5ECE6FF4-5D6D-0D00-32A4-C04E2864B9AA}{40}{B0}" alignment="left" quickStyleIndex="0"><one:OutlookTask startDate="2020-01-02T00:00:00.000Z" dueDate="2020-01-03T00:00:00.000Z" guidTask="{45AF40E3-1D54-463C-90D3-C454F2F71A2E}" completed="false" disabled="true" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[Disabled standalone task]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-expanded-control-ui-01/read/page-002.pdf created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/read/page-002.pdf differ
corpus/m6/native-expanded-control-ui-01/read/page-002.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{0DB8AF78-686C-0C01-3D52-A89559FC5885}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:44.000Z" pageLevel="2" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{399A6DFB-EBF9-0B33-2801-CAFA573584B7}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{399A6DFB-EBF9-0B33-2801-CAFA573584B7}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="231.1436157226562" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{399A6DFB-EBF9-0B33-2801-CAFA573584B7}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group A/Duplicate.one, level 2]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-expanded-control-ui-01/read/page-003.pdf created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/read/page-003.pdf differ
corpus/m6/native-expanded-control-ui-01/read/page-003.xml created+6
...@@ -0,0 +1,6 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{270215AB-0A1A-01FE-144C-7AB0BD678F13}{1}{B0}" name="Image png" dateTime="2026-09-06T02:25:40.000Z" lastModifiedTime="2026-09-06T06:00:44.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T02:25:42.000Z" objectID="{585CB0AA-F2AA-0518-3711-A679D519261E}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image png]]></one:T></one:OE></one:Title><one:Image format="png" hyperlink="https://example.invalid/image/png" alt="Pattern png" originalPageNumber="0" lastModifiedTime="2026-09-06T02:25:42.000Z" objectID="{585CB0AA-F2AA-0518-3711-A679D519261E}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="144.0" height="48.00000381469727" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec
3CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI
4E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp
5oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT
6+wHXVRp4qDc0HQAAAABJRU5ErkJggg==</one:Data></one:Image></one:Page>
corpus/m6/native-expanded-control-ui-01/read/page-004.pdf created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/read/page-004.pdf differ
corpus/m6/native-expanded-control-ui-01/read/page-004.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{34619019-150E-06C2-3149-42A4E92723BF}{1}{B0}" name="Files and recording" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T06:00:46.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:MediaPlaylist><one:MediaReference mediaID="{9A418E57-7F64-40C5-87D0-8A8F7C1E5422}"/></one:MediaPlaylist><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:47.000Z" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{2E7BA99D-CDED-080F-2255-D01592C0E5C8}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Files and recording]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{2E7BA99D-CDED-080F-2255-D01592C0E5C8}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="136.6015625" height="139.427719116211"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:47.000Z" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{2E7BA99D-CDED-080F-2255-D01592C0E5C8}{40}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\7d1ab415-649a-43bd-a863-bbef841467de.txt" pathSource="C:\one-tests\runs\capture\notebook\fixture-data\attachment.txt" preferredName="Fictitious attachment.txt"/></one:OE><one:OE creationTime="2026-09-06T02:25:47.000Z" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{2E7BA99D-CDED-080F-2255-D01592C0E5C8}{44}{B0}" alignment="left"><one:MediaFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\5cdfe8bc-15a0-4ef8-9710-d05c8cbe5118.wav" pathSource="C:\one-tests\runs\capture\notebook\fixture-data\silence.wav" preferredName="silence.wav"><one:MediaReference mediaID="{9A418E57-7F64-40C5-87D0-8A8F7C1E5422}"/></one:MediaFile></one:OE><one:OE creationTime="2026-09-06T02:25:47.000Z" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{2E7BA99D-CDED-080F-2255-D01592C0E5C8}{48}{B0}" alignment="left" quickStyleIndex="0"><one:MediaIndex timeIndex="500"><one:MediaReference mediaID="{9A418E57-7F64-40C5-87D0-8A8F7C1E5422}"/></one:MediaIndex><one:T><![CDATA[Recording annotation]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-expanded-control-ui-01/read/page-005.pdf created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/read/page-005.pdf differ
corpus/m6/native-expanded-control-ui-01/read/page-005.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{35E4289B-AD1E-043C-0470-E53BC236A7A8}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:47.000Z" pageLevel="3" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{93E7DAF8-EE72-0A96-3B56-AA3A1B8D270B}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{93E7DAF8-EE72-0A96-3B56-AA3A1B8D270B}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="231.1436157226562" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{93E7DAF8-EE72-0A96-3B56-AA3A1B8D270B}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group A/Duplicate.one, level 3]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-expanded-control-ui-01/read/page-006.pdf created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/read/page-006.pdf differ
corpus/m6/native-expanded-control-ui-01/read/page-006.xml created+300
...@@ -0,0 +1,300 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{43868DDB-8EC8-0AFB-0F81-A01966A6BDCA}{1}{B0}" name="Image tiff" dateTime="2026-09-06T02:25:43.000Z" lastModifiedTime="2026-09-06T06:00:48.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:44.000Z" lastModifiedTime="2026-09-06T02:25:44.000Z" objectID="{00067BA4-A18C-06E4-35DF-AC2ABF791B0F}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image tiff]]></one:T></one:OE></one:Title><one:Image format="png" hyperlink="https://example.invalid/image/tiff" alt="Pattern tiff" originalPageNumber="0" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{00067BA4-A18C-06E4-35DF-AC2ABF791B0F}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="144.0" height="48.00000381469727" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAAXNSR0IArs4c6QAAAARnQU1BAACx
3jwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAEImSURBVHheDbiBV2GL+v+/f9V1q+uk46TjpDFp
4TBqDMUhoh3Zoh3Zoh3Zoh3YYgzE0Jo1J46TjpOOk61Yf32pZ1bKqZVXLqpZV/W2/8y8863nez/v1
5AgAAaAL+vxagiQQ0twIt7cC/yACpA/h3J9BKBdq6gPZu4D90gNwD/NQLdDABSh/Q2Q/8zAaoA8Av
6g0AXF6DxgG4B8KsQoIuA3yRAjxRgyIBeBfACBJhK4KUa6IMAlgbo1wGvYICtB14bgQEE4JiAQQvw
7BgW4VuCtHeBhAN8BCFzAOxwQuoH3XkBEAGIfIAkAQ0FAGgKGI4AsCshjgGIFGEkA4CowugYoU4Bq
8HVBvAGMZANoExrcATQ7QbgO6HWCiAMC7wOQeoC8Bhn3AeAhMlQHkCJg+AUwVwHwKWM6BmSqAXgCz
9V4C1BtiuAfstMFcHsDtg/gFwNADnI+B6BhYAoPn/a2puamluJjW3tDb/q72ZRG7+d0dza2dzG7W5
10vav5P93NZHrzTz3NHb3NFGZzZ1/zz/3NVHbzLwPNXYPNNG5zN6/5V0EzXdj8m6i5R9LMkDb3yppf
11KJqZYPNLZXOfupkFNfdrml/pmtlw82t984CxmYM0D5qa31iauWjzW2szz97Mx5oFjuZ3rmYh3vze
123SzyNouJZomveSjQLA02D4eaZZFmebRZEWseWWkGE82jq83KtWZVqlm93jy20Qxlmsc3mzVbzdpc
13s267eWKnGS40T+426/eaDaVm437z1GEzUm6ePmo2nTSbK82W0+aZ82a02jx70Wy9arbVmu3XzXO3
14zVi9ef6u2fHQ7Gw0ux6bF56bcQAgNTX9MxtSC4n0r1YSqZ30bzKptYPU1klqp5L+00Uid5N+opM6
15ekiUXlInk/RzH4naT/qFTeoaINEGSd1c0q88El1A+k1I6hGRGBJSr5T0QkZiKkgvQVKfksRSk/oh
160isNia0jvYZJA3oSx0gaREhvTCSuhfQWJfGsJL6dJMBI7xwkoYv0HieJ3CSxlyQhSEM+kjRAGg6S
17ZCGSPEJSREkjMRK4QhpNkJSrJNUaSZ0ija2ToA3SeIak2SRpt0i6HGlimwTvkCYLJP0uybBHMpZI
18U/sk5JA0XSaZjkjmE5KlQpo5JaHnpNkqyXpBsl2R7DXS3DUJuyXN10mOO5LzgeRqkBYeSfgzaREA
192pqb2lpa2v5FaiO1tv27va2V3NbW0dbe2fYfahu5q+2n7rYOehulp62zt+1nZhu1r+2X/rYudhtt
20oK17sO1Xbhud1/aboK1H2MYQtfVK2l5I25iytpeKtj6wjaVs61e3vYLa2Jq217q2AbiNo28bNLa9
21Qdq4pra3ljYe2sa3tgnsbe+wNqGj7b2rTYS3id1tEm/bENEm9bUNB9pkwTZ5qE0RaRuJtoGxttGV
22NmWiTbXapl5rG0u1Qett4xttmkybdrNNt9U2kWuDt9smd9r0hTbDbptxr22q1Ibst00ftpnKbeaj
23NstJ20ylDT1tmz1vs1bbbBdt9qu2uVobdt02f9vmqLc579pcD20LjTb8sW3xuc0NAOSWJvK/Wsgk
24EvnfreTWdnIbmdzeQf5PJ5lMJf/URe7oJlPo5M4e8s+9ZCqT/EsfuaufTGOTuwfIvw6S6Vzybzxy
25j4DMEJJ7ReQXEjJTSn4pI/cpyCyQ3K8kv1KT2RD5tYY8oCNzYPKgnvzGSOYi5LcmMs9C5qNkgZX8
26zk4WYuT3DrLIRRbjZImbPOQlSwnysI8sC5DlQbIiRB6JkMEoeTRGVq6QVQmyepU8tkaGUuTxdbJm
27g6zNkHWb5IktMpwjT26T9TtkQ4Fs3CVP7ZGREnl6n2w6JJvLZMsReeaEjFbIs6dk6znZViXbL8hz
28V2SsRp6/Jjtuyc462XVHXngg4w3y4iPZ/Uz2AADlX00UUgvl3yRKayulrZ3STqb8p4NC7qT8RKV0
29dFEo3ZROOuXnHgq1l/ILk9LVR6H1U7rZlF8HKPRBym9cSg+PwhBQeoWUFyIKU0J5KaX0ySgsBaUf
30pLxSUthqymuIMqChcHSUQZjyRk/hGilvEQrPROFbKAKU8s5KEdop7zGKyEERuygSnDLkpki9lGGC
31IvNR5AGKIkgZCVHACGU0SlHGKKoVijpBGVulQGuU8RRFs07RblB0GcrEJgXeokzmKPptimGHYixQ
32pnYpyB5lukQx7VPMhxRLmTJzREFPKLMVivWUYjun2KuUuQsKdkWZr1Ec1xTnLcVVpyzcUfAHymKD
334n6keJ4pXgCgkpqo/26htpKoba3U9nbqf/7ZnA7qT53UDiqV0kXt7Kb+TKdSe6i/9FK7mFRaH7W7
34n/orm0ofoP42SO3hUhk8aq+A+kJIZYqoLyXUPimVJaP2K6ivQCpbSX2tpg5AVI6GOqijvoGpXD31
35rZHKQ6h8E1Vgob5DqUIr9b2dKsKoYgdV4qIO4VSpmzrspcoIqtxHVQSoI0EqGKKORqjKKFUVo6pX
36qGMJKrRKHV+jalJU7TpVt0GdyFDhTerkFlWfoxq2qcYd6lSBiuxSp/eophLVvE+1HFJnylT0iDp7
37QrVWqLZTqv2cOlelYhfU+Suqo0Z1XlNdt9SFOhW/oy4+UN0NqueR6n2mLgEA7d9NtNYWWhuJ1t5K
38+087jUym/dRB6+ikUai0zi7az900Kp32Sw+tq5dGY9K6+2i/9tPobNpvA7SeQRqDS+vl0V4IaEwh
397aWI1iehsaS0fhntlYLGBmmvlbQBNY0D0QY1tDc6GhemvdXTeEYaH6EJTLR3FpoQpb230kR2mhij
40SRy0IRdNitOG3TSZlyYnaAofbSRAA4O00RBNGaGpojR1jDa2QoMStPFVmmaNpk3RdOu0iQ0anKFN
41btL0WzRDjmbcpk3t0JACbXqXZtqjmUs0yz5t5pCGlmmzRzTrCc1WodlPaXPnNKxKm7+gOa5ozhrN
42dU1buKXhddriHc39QPM0aN5H2tIzjQAAemsTva2F3k6i/6eVTm6n/0Smd3TQ/7mrTir95y46tZv+
43C53e1UOn9dK7mfRf++j0fvpvbHrPAJ0xSO/l0l/w6EwB/aWQ3ieisyT0fin9lYzOVtBfg/QBJZ2j
44pg9C9DcaOldHfwvTeXo630gXIPR3JrrQQn+P0kVWuthOl2D0IQdd6qIP43SZmy730hUEfcRHBwP0
450SBdGaKrInR1lD4Wo0Mr9PEEXbNK167RdSn6xDod3qBPZuj6Tbphi27M0ae26cgOfbpAN+3SzXt0
46S4k+s09HD+mzZbr1iG47odsr9LlTOnZOn6/SHRd05xXdVaMvXNPxW/pine6+o3se6N4GfemRTjzT
47lwGA0dbEaG9h/IfEILcyfmpndJAZlA5GZyfjZyqD2sX4pZvRRWfQehjdvYxfmQx6H+O3fkYPm8EY
48YPQOMl5wGUwe46WA0SdksESMfgnjlZTBljFeKxgDIIOjZAyqGW8gBlfDeKtj8GAGX88QGBnvEIbQ
49xHhvYYhQhtjKkNgZQxhD6mAMuxgynCF3MxRexgjBAH2M0QBDGWSoQgx1hDEWZUAxxvgKQ5NgaFcZ
50ujXGRIoBrzMmNxj6DMOwyTBuMaZyDGSbMb3DMBUY5l2GZY8xU2Kg+4zZQ4a1zLAdMewnjLkKAztl
51zJ8zHFWG84LhumIs1Bj4NWPxluGuMzx3DO8DY6nBIB4Zy88MHwAw25uY/2lhkknMn1qZHe1MCpnZ
522cH8uZNJpTJ/6WJ2dTNpdGZ3D/PXXiadyfytj9nTz2Swmb0DzBeDTCaX+ZLH7BMwWUJmv4j5SsJk
53S5mvZcwBBZMDMgeVzDdqJhdivtUweTomH2YK9Mx3RqYQYb43MUUWphhlSqzMITtTijGHHUyZiynH
54mQo3c8TLBAnmqI+pDDBVQaY6xByLMKEoczzG1KwwtQmmbpU5scaEU8zJdaZ+g2nIMI2bzKktJpJj
55Tm8zTTtMc4Fp2WXO7DHREnN2n2k9ZNrKTPsRc+6EiVWY86dMxznTWWW6LpgLV0y8xly8ZrpvmZ46
5603vHXHpgEg3m8iPT98z0AwDrP00scgvrJxKro5VFaWd1klk/d7ConaxfqKyuLhatm9VNZ/3aw6L3
57sn5jsnr6WIx+Vi+b9WKAxRxkveSy+ngsloDVL2S9ErHYEtZrKWtAxuIoWIMg642SxVWz3kIsnobF
5817EEMOudniU0st4jLJGJJbawJChryMqS2lnDGEvmYMldLAXOGnGzQC9rlGApfSxVgKUOssZCLCjC
59Go+yNDGWdoWlS7AmVlnwGmsyxdKvswwbLGOGNbXJQrZY0zmWaZtl3mFZCqyZXRa6x5otsaz7LNsh
60y15mzR2xsBPWfIXlOGU5z1muKmvhgoVfsRZrLPc1y3PL8tZZS3cs4oG13GD5Hln+Z1YAANjkJvZP
61LewOEpvSyu5sZ/9MZlM72L90sruobFoXu7ub/Sv9n8hh/9bL7mGyGX3s3n72CzabOcB+Ocju47JZ
62PHa/gP1KyGaL2K8l7AEpmyNjDyrYb0A2V8l+q2bzIDZfwxbo2O9gtlDPfm9kixC22MSWWNhDKFtq
63ZQ/b2TKMLXewFS72CM4G3exRL1tJsFU+tjrAHguyoRB7PMLWRNnaGFu3wp5IsOFV9uQaW59iG9bZ
64xg32VIaNbLKnt9imHNu8zbbssGcKbHSXPbvHtpbYtn22/ZA9V2ZjR+z5E7ajwnaesl3n7IUqG79g
65L16x3TW255rtvWUv1dnEHXv5ge1rsP2P7MAz+wMAcH5q4nS0cCgkTmcr5+d2DpXM+aWD09XJoVE5
663V2cX7s5dDrntx5OTy+HweT09nFe9HOYbM7LAU7fIIfF5fTzOK8EHLaQ81rEGZBwOFLOoIzzRsHh
67gpy3Sg5PzeFDHIGG807HEcKc93qOyMgRIxyJiTNk4UhRzrCVI7Nz5BhH4eCMuDggzhl1c5Rejorg
68qH2csQAHCnLGQxxNhKONcnQxzsQKB05wJlc5+jWOIcUxrnOmNjhIhjO9yTFtccw5jmWbM7PDQQuc
692V2OdY9jK3Hs+5y5Qw5W5swfcRwnHGeF4zrlLJxz8Cpn8YLjvuJ4ahzvNWfplkPUOct3HN8Dx9/g
70BB45H545QQDgdjRxKS3cThL351YutZ37C5nb1cGldXK7qdxfu7j0bu5vdG5PD5fRy+1lcl/0cZn9
713Jdsbt8AlzXI7edyX/G4bAH3tZA7IOJyJNxBKfeNjMtVcN+CXJ6Sy1dzBRD3nYYr1HHfw1yRnis2
72ciUId8jElVq4wyhXZuXK7VwFxh1xcEEXdxTnKt1clZerJrhjPi4U4I4HuZoQVxvh6qLciRgXXuFO
73Jrj6Va5hjWtMcafWucgGdzrDNW1yzVtcS447s81Fd7izBa51l2vb49pL3Ll9LnbInS9zHUdc5wnX
74VeEunHLxc+5ileu+4HquuN4ad+maS9xyl+tc3x3X/8ANNLgfHrnBZ+5HAOBTmvidLfyfSXxqK/+X
75dn4XmU/r4Hd38n+l8uld/N+6+T10PqOH39vLf8HkM/v4L/v5fWw+a4DfP8h/xeWzefzXAv6AkM8R
768Qcl/DdSPlfGf6vg80A+X8kXqPnvIL5Qw3+v44tgvljPlxj5QwhfauIPW/gylC+38hV2/gjGBx38
77URdfifNVbr7ayx8j+JCPPx7ga4J8bYivi/Anonw4xp9c4esTfMMq37jGn0rxkXX+9AbflOGbN/mW
78Lf5Mjo9u82d3+NYC37bLt+/x50p8bJ8/f8h3lPnOI77rhL9Q4eOn/MVzvrvK91zwvVf8pRqfuOYv
793/J9db7/jh944H9o8IOP/I/P/BAACDubhD+3CKkk4S+twq52IY0s7O4Q/toppFOFv3UJe7qFDLqw
80t0f4olfIZApf9gn7/glktrB/QPhqUMjmCl/zhAMCIUcoHBQJ30iEXKnwrUzIUwj5oFCgFL5TC4WQ
818L1GKNIJxbBQohcOGYVSRDhsEsosQjkqVFiFI3YhiAlHHUKlS6jChWq3cMwrhAjhuE+oCQi1QaEu
82JJyICOGocDIm1K8IDQmhcVU4tSZEUsLpdaFpQ2jOCC2bwpktIZoTzm4LrTtCW0Fo3xXO7QmxknB+
83X+g4FDrLQteRcOFEiFeEi6dC97nQUxV6L4RLV0KiJly+Fvpuhf66MHAn/PAgDDaEHx+FoWdhGADE
84PzeJqS3iX0jirlYxrV3cTRb/2iGmd4p/o4p7usSMbnEvXfyiR8zsFb9kivv6xKx+cT9b/GpAzB4U
85v+aKB3hijkA8KBS/EYm5EvFbqZgnE/MVYgEofqcUC9Xi95BYpBGLdWIJLB7Si6VG8TAilpnEcotY
86gYpHrGLQLh7FxEqHWOUSq3HxmFsMecXjhFjjE2sDYl1QPBESwxHxZFSsj4kNK2JjQjy1KkbWxNMp
87sWldbN4QWzLimU0xuiWezYmt22LbjtheEM/tirE98XxJ7NgXOw/FrrJ44UiMn4gXK2L3qdhzLvZW
88xUsXYuJKvFwT+67F/ltxoC7+cCcOPog/NsShR3H4WRwBACm1SfpLi7SLJKW1Srvbpb+SpfQO6W+d
890h6qlNEl7e2WvqBLmT3Sl73SPqaU1Sft75e+Ykv/eVevB6UDXCmHJx0USN8IpVyR9K1EypNK+TKp
90QCF9B0qFSul7tVQEScUaqUQnHYKlUr102CiVIVK5SaqwSEdQKWiVjtqlSkyqckjVLukYLoXc0nGv
91VENItT6pLiCdCErhkHQyItVHpYaY1LginUpIkVXp9JrUlJKa16WWDelMRopuSme3pNac1LYtte9I
925wpSbFc6vyd1lKTOfanrULpQluJH0sUTqbsi9ZxKvefSpaqUuJAuX0l9Nan/Whq4lX6oS4N30o8P
930lBDGn6URp6lnwBA/kuTvKtFTiPJu1vlv7bL6WT5bx3ynk45gyrv7ZK/6JYz6fKXPfK+XjmLKe/v
94k7/ql7PZ8tcD8oFBOYcrH+TJ3wjkXKH8rUjOk8j5UrlAJn+nkAtB+XulXKSWiyG5RCMf0smlsHxY
95L5cZ5XJErjDJRyxyEJWPWuVKu1yFydUO+ZhLDuHycbdc45VrCbnOJ58IyOGgfDIk10fkhqjcGJNP
96rciRhHx6VW5ak5tTcsu6fGZDjmbks5ty65bclpPbt+VzO3KsIJ/flTv25M6S3LUvXziU42X54pHc
97fSL3VOTeU/nSuZyoypcv5L4rub8mD1zLP9zKg3X5xzt56EEebsgjj/JPz/IoAIBdTSCtBewmgb+2
98gvR28Dcy2NMBMjrBXir4ogtkdoMv6WBfD8jqBfuZ4Ks+kN0PvmaDAwMgZxAc5IJveCBXAL4VgjwR
99yJeAAin4TgYKFeB7EBQpQbEalEDgkAaU6sBhGJTpQbkRVCDgiAkELeAoCiqtoMoOqjFwzAFCLnAc
100BzVuUOsFdQQ44QPhADgZBPUh0BABjVFwKgYiK+B0AjStguY10JICZ9ZBdAOczYDWTdC2Bdpz4Nw2
101iO2A8wXQsQs690BXCVzYB/FDcLEMuo9AzwnorYBLpyBxDi5XQd8F6L8CAzXwwzUYvAU/1sHQHRh+
102ACMN8NMjGH0GPwOAitak6m5R/UpS0VtVv7WresgqRoeqt1P1gqpidqledqv66CpWj6q/V/WKqWL3
103qV73qwbYKs6AanBQ9Yar4vJUbwUqnlDFF6kEEtU7qUooU71XqESgSqxUSdSqIUgl1aiGdSoZrJLr
104VQqjagRRgSbVqEWlRFUqq0ptV41hKsihGnepNLhK61bpvKoJQgX7VJMBlT6oMoRUxohqKqpCYqrp
105FZUpoTKvqixrqpmUCl1XzW6orBmVbVNl31LN5VTYtmp+R+UoqJy7KteeaqGkwvdVi4cqd1nlOVJ5
106T1RLFRVxqlo+V/mqKv+FKnCl+lBTBa9VH29VoboqfKeKPKg+NVTRR9XnZ1UMAKDuJujXFohOgn5r
107hXraIQYZ6u2AXnRCTCr0sgvq64ZYdKi/B3rVC7GZ0Os+aKAf4rChwQHozSDE5UJveRBP8M8nhwQi
1086J0EEkqh9zJIpIDEICRRQkNqSApBwxpIpoPkMKTQQyNGCESgUROktEAqFFJboTE7BGHQuAPSuCAt
109Dunc0IQXgglo0gfpA5AhCBlD0FQEQqLQdAwyrUDmBGRZhWbWIDQFza5D1g3IloHsm9DcFoTloPlt
110yLEDOQuQaxda2IPwErS4D7kPIU8Z8h5BSycQUYGWTyHfOeSvQoEL6MMVFKxBH6+h0C0UrkORO+jT
111AxRtQJ8fodgzFAcA7a9NWnqL9jeStqdVy2jX9pK1Lzq0zE7tS6q2r0vL6tb207WverTsXu1rpnag
112T8vp1w6ytW8GtNxB7VuulsfT8gVagVD7TqQVSrTvpVqRTCtWaCWgdkiplaq1w5BWptHKdVoFrB3R
113a0GjdhTRKk1alUWrRrVjVi1k145jWo1Dq3Vpdbh2wq2FvdpJQqv3aQ0BrTGonQppkYh2Oqo1xbTm
114Fa0loZ1Z1aJr2tmU1rqutW1o7Rnt3KYW29LO57SOba1zR+sqaBd2tfiedrGkde9rPYdab1m7dKQl
115TrTLFa3vVOs/1waq2g8X2uCV9mNNG7rWhm+1kbr20502+qD93NDGHrXxZ+0KAMD0Jvi3FriHBDNa
1164d52+AUZZnbALzvhPirM6oL7u+FXdJjdA7/uhQeYMKcPHuyH37Bh7gD8dhDmcWE+DxYI4HdCWCiC
11730tgkRQWy2CJAh4CYakSHlbDMgiWa2CFDh6BYVAPjxphJQKrTLDaAo+hMGSFx+2wBoO1Dljngidw
118GHbDk15YT8AGH2wMwFNBGAnB0xHYFIXNMdiyAs8kYHQVnl2DrSnYtg7bN+C5DIxtwvNbsCMHO7dh
1191w68UIDxXXhxD3aXYM8+7D2El8owcQQvn8C+Cuw/hQPn8IcqHLyAP17BoRocvoYjt/CnOhy9gz8/
120wLEGHH+EV57hLwBg+K3J0NNiYJAMva2GF+0GJtnwssPQ12lgUQ39XYZX3QY23fC6xzDQa+AwDYN9
121hjf9Bi7b8HbAwBs08LkGAc/wTmAQCg3vRQaRxCCWGiQyw5DCIAUNw0qDTG2QQwaFxjCiM4CwYVRv
122UBoNKsSgNhnGLAYINYxbDRq7QYsZdA7DhMsA44ZJt0HvNRgIg9FnmAoYkKBhOmQwRQzmqMESM8ys
123GNCEYXbVYF0z2FIG+7phbsOAZQzzmwbHlsGZM7i2DQs7BrxgWNw1uPcMnpLBu29YOjQQZcPykcF3
124YvBXDIFTw4dzQ7Bq+HhhCF0ZwjVD5Nrw6dYQrRs+3xliD4Z4w7DyaPjybEgAANLThDBakF4S8qIV
125YbYjL8lIXwfC6kT6qcirLoTdjbymIwM9CKcXGWQib/oQbj/ylo3wBhD+ICLgIu94iFCAvBciIhEi
126liASKTL0T89RIMMgIlMicjWigJARDQLqkFEYUeoRlRFRI8iYCYEsyDiKaKyI1o7oMGTCgcAuZBJH
1279G7E4EWMBDLlQ5AAMh1ETCHEHEEsUWQmhqAryGwCsa4itjXEnkLm1hFsA5nPII5NxLmFuHLIwjaC
1287yCLBcS9i3j2EG8JWdpHiENkuYz4jhD/CRKoIB9OkeA58rGKhC6Q8BUSqSGfrpHoLfK5jsTukPgD
129stJAvjwiiWfkKwCYGU3m3hbzC5KZ2Wp+2W7uI5tZHeb+TvMrqpndZX7dbR6gmzk95sFe8xummdtn
130fttv5rHN/AGzYND8jmsW8szvBWaR0CwWmSUS85DULJWZhxVmGWiWK80KtXkEMoMa86jOrITNKr1Z
131bTSPIWbIZB63mDWoWWs16+zmCcwMO8yTLrMeNxvcZqPXPEWYEZ95OmA2Bc3mkNkSMc9EzWjMPLti
132tibMtlWzfc08lzJj6+b5DbMjY3Zuml1b5oWcGd82L+6Y3QWzZ9fs3TMvlczEvnn50Owrm/1H5sCJ
133+UPFHDw1fzw3h6rm8IU5cmX+VDNHr82fb82xujl+Z155MH9pmBOP5q/P5lUAQHub0BctKJOEvmxF
134+9pRFhnt70BfdaJsKvq6Cx3oRjl0dLAHfdOLcpno2z6U14/y2ahgAH03iAq56HseKhKgYiEqEaFD
135ElQqRYdlqEyB/tMCFUp0RI2CEDqqQZU6VAWjaj06ZkQhBB03oRoLqkVRnRWdsKMwhk46UL0LNeCo
1360Y1OeVGEQKd9qCmAmoOoJYTORFA0is7GUOsKakug9lV0bg3FUuj8OurYQJ0Z1LWJLmyheA5d3Ebd
137O6ingHp30aU9lCihy/uo7xD1l9HAEfrhBA1W0I+naOgcDVfRyAX66QqN1tDP12jsFo3X0ZU79MsD
138mmigXx/R1Wc0CQC2F002ZovtJcnW12pjtdv6ybZXHTZ2p+011TbQZeN02wbptjc9Nm6v7S3Txuuz
1398fttArbt3YBNOGh7z7WJeDaxwCYR2oZENqnENiy1yWQ2ucKmAG0jShuoto1CNqXGptLZ1LBtTG+D
140jLZxxKYx2bQWmw61TVhtsN02idn0DpvBZTPitim3DfHapgmbyWczB2yWoG0mZEMjttmozRqz2VZs
1419oRtbtWGrdnmUzbHus25YXNlbAubNnzLtpizubdtnh2bt2Bb2rURe7blks23b/Mf2gJl24cjW/DE
1429rFiC53awue2SNX26cIWvbJ9rtli17b4rW2lbvtyZ0s82L42bKuPtuSzbQ0AMGYT9rIF6yNhrFas
143vx17RcbYHdjrTmyAinG6sMFu7A0d4/Zgb3sxHhPj92GCfuwdGxMOYO8HMREXE/MwiQAbEmJSETYs
144wWRSTC7DFApsBMRAJTaqxpQQptJgah02BmOQHhs3YhoE05ownQWbQDHYik3aMT2GGRyY0YVN4Rji
145xqa9mInAzD7MEsBmghgawmYjmDWK2WKYfQWbS2DYKja/hjlSmHMdc21gCxkM38QWtzB3DvNsY94d
146bKmAEbvY8h7mK2H+fSxwiH0oY8Ej7OMJFqpg4VMsco59qmLRC+zzFRarYfFrbOUW+1LHEnfY1wds
147tYElH7G1Z+wbADhfNjn7WpwskrO/1fmq3ckmO193OAc6nRyqc7DL+abbyaU73/Y4eb1OPtMp6HO+
14863cK2c73A07RoFPMdUp4ziGBUyp0DoucMolTLnUqZM4RhRMEnaNKp1LtVEFOtcY5pnNCsHNc79QY
149nVrEqTM5JyxOGHVOWp16u9OAOY0O55TLieDOabfT5HWaCafF55wJONGgczbktEactqjTHnPOrTix
150hHN+1elYczpTTte6c2HDiWeci5tO95bTk3N6t51LO06i4Fzedfr2nP6SM7Dv/HDoDJadH4+coRNn
151uOKMnDo/nTujVefnC2fsyhmvOVeunV9unYm68+udc/XBmWw41x6d356dKQDA+5pwVgveT8JfteLs
152dvw1GR/owDmd+CAVf9OFc7vxt3Sc14Pze3EBE3/Xhwv78fdsXDSAiwdxCRcf4uFSAT4sxGUiXC7B
153FVJ8RIaDCnwUxJVKXKXG1RA+pvmnIOPjMK7R41ojrkPwCRMOW/BJFNdbcYMdN2L4lANHXPg0jpvc
154uNmLWwh8xoejAXw2iFtDuC2C26P4XAzHVvD5BO5YxZ1ruCuFL6zj+Aa+mMHdm7hnC/fm8KVtnNjB
155lwu4bxf37+GBEv5hHw8e4h/LeOgID5/gkQr+6RSPnuOfq3jsAo9f4Ss1/Ms1nrjFv9bx1Ts8+YCv
156NfBvj3jqGf8OAB5Wk6e/xfOK5GG3el63ewbIHk6HZ7DT84bq4XZ53nZ7eHQPv8cj6PW8Y3qEfZ73
157/R4R2yMe8EgGPUNcj5TnGRZ4ZEKPXORRSDwjUg8o84wqPErQo1J61GrPGOSBNJ5xnUcDe7R6j87o
158mUA8sMkzafHoUY/B6jHaPVOYB3F4pl0eE+4xuz0Wr2eG8KA+z2zAYw16bCGPPeKZi3qwmGd+xeNI
159eJyrHteaZyHlwdc9ixsed8bj2fR4tzxLOQ+x7Vne8fgKHv+uJ7Dn+VDyBPc9Hw89obInfOSJnHg+
160VTzRU8/nc0+s6olfeFauPF9qnsS15+utZ7XuSd551h483xqe1KPn+7NnHQCI/ibiVQvBJhGvW4mB
161doJDJgY7iDedBJdKvO0ieN0En04Ieoh3vYSQSbzvI0T9hJhNSAaIoUFCyiWGeYRMQMiFhEJEjEgI
162UEqMygilglCBhFpJjKkJCCLGNYRGR2hhQqcnJowEjBCTJkJvIQwoYbQSU3YCwYhpB2FyEWacsLiJ
163GS+BEsSsj7AGCFuQsIeIuQiBRYn5GOFYIZwJwrVKLKwReIpYXCfcG4QnQ3g3iaUtgsgRy9uEb4fw
164F4jALvFhjwiWiI/7ROiQCJeJyBHx6YSIVojPp0TsnIhXiZUL4ssVkagRX6+J1VsiWSfW7ohvD0Sq
165QXx/JNafiTQA+F81+dkt/tck/0Crn9PuHyT733T4uZ3+t1Q/r8vP7/YL6P53PX5hr/890y/q84v7
166/RK2f2jALx30D3P9Mp5fLvArhP4RkR+U+EelfqXMr1L41aB/TOmH1P5xyK/R+LU6vw72T+j9sNE/
167ifj1Jr/B4jei/imrH7H7pzG/yeE3u/wW3D/j9qNe/yzht/r8toDfHvTPhfxYxD8f9TtifueK35Xw
168L6z68TX/YsrvXvd7NvzejH9p009s+Zdzft+237/jDxT8H3b9wT3/x5I/tO8PH/ojZf+nI3/0xP+5
1694o+d+uPn/pWq/8uFP3Hl/1rzr177k7f+tbr/250/9eD/3vCvP/rTz/4NAAiym4KvW4IDpCCnNTjY
170HnxDDnI7gm87gzxqkN8VFHQH39GDwp7g+96giBkU9wUl/cEhdlA6EBweDMq4QTkvqBAER4RBUBQc
171lQSV0qBKFlQrgmNgEFIGx9VBDRTUaoI6XXACDsL64KQxqP8HH0xBoyU4hQYRa3DaHjRhQbMjaHEF
172Z/Ag6g7OeoNWImjzBe2B4FwwiIWC85GgIxp0xoKuleBCIoivBhfXgu5U0LMe9G4ElzJBYjO4vBX0
1735YL+7WBgJ/ihEAzuBj/uBUOlYHg/GDkMfioHo0fBzyfBWCUYPw2unAe/VIOJi+DXq+BqLZi8Dq7d
174Br/Vg6m74PeH4HojmH4MbjwHfwBA+HVTeKAlzCGFB1vDb9rDXHL4bUeY1xnmU8OCrvC77rCQHn7f
175Exb1hsXMsKQvPNQflrLDwwNh2WBYzg0reOERQRgUhkdFYaUkrJKG1bLwmCIMgeFxZVijDmuhsE4T
176ntCFYTg8qQ/rjWEDEjaawlOWMIKGp61hkz1sxsIWR3jGFUbx8Kw7bPWGbUTY7gvPBcJYMDwfCjsi
177YWc07IqFF1bCeCK8uBp2r4U9qbB3Pby0ESYy4eXNsG8r7M+FA9vhDzvhYCH8cTcc2guHS+HIfvjT
178YThaDn8+CsdOwvFKeOU0/OU8nKiGv16EV6/CyVp47Tr87Tacqoe/34XXH8LpRnjjMfzjOZwBgOhA
179U5TTEh0kRd+0Rrnt0bfkKK8jyu+MCqjRd11RYXf0PT0q6omKe6MSZnSoLyrtjw6zo7KBqHwwquBG
180R3hRUBAdFUaVoqhKElVLo2OyKKSIjoNRjTKqVUd1UHRCE4V10Uk4qtdHDcaoEYlOmaL/wNU0GjVZ
181o2Z71IJFZxxR1BWdxaNWd9TmjdqJ6JwvigWi88GoIxR1RqKuaHQhFsVXoouJqHs16lmLelPRpfUo
182sRFdzkR9m1H/VjSQi37YjgZ3oh8L0dBuNLwXjZSin/aj0cPo53I0dhSNn0RXKtEvp9HEefRrNbp6
183EU1eRddq0W/X0dRt9Hs9un4XTT9ENxrRH4/RzHP0dwCIc5rigy3xN6Q4tzX+tj3OI8f5HXFBZ/wd
184NS7sir/vjovocXFPXNIbH2LGpX3x4f64jB2XD8QVg/ERbhzkxUcFcaUwrhLF1ZL4mDQOyeLjirgG
185jGuVcZ06PgHFYU18UhfXw3GDPm40xqeQOGKKT1viJjRutsYt9vgMFkcd8VlX3IrHbe643RufI+KY
186Lz4fiDuCcWco7orEF6JxPBZfXIm7E3HPaty7Fl9KxYn1+PJG3JeJ+zfjga34h1w8uB3/uBMPFeLh
1873XhkL/6pFI/uxz8fxmPlePwovnIS/1KJJ07jX8/jq9V48iK+dhX/VounruPfb+Pr9Xj6Lr7xEP/R
188iGce478/xzcBIDHYlHjTkuCSEm9bE7z2BJ+cEHQk3nUmhNTE+66EqDshpickPYmh3oSUmRjuS8j6
189E3J2QjGQGBlMgNzEKC+hFCRUwoRalBiTJCBpYlyW0CgSWjChUyYm1AkYSkxqEnpdwgAnjPrElDGB
190IIlpU8JkSZjRhMWamLEnUCwx60hYXQkbnrC7E3PeBEYk5n0JRyDhDCZcocRCJIFHE4uxhHsl4Ukk
191vKuJpbUEkUosryd8Gwl/JhHYTHzYSgRziY/bidBOIlxIRHYTn/YS0VLi834idpiIlxMrR4kvJ4lE
192JfH1NLF6nkhWE2sXiW9XiVQt8f06sX6bSNcTG3eJHw+JTCPx+2Ni8zmRBYDkm6YktyX5lpTktSb5
1937UkBOfmuIynsTL6nJkVdSXF3UkJPDvUkpb3JYWZS1peU9ycV7OTIQBIcTI5yk0peUiVIqoXJMVES
194kiTHpUmNLKlVJHVgckKZhNXJSSip1yQNuqQRTk7pk4gxOY0kTaak2ZK0oMkZaxK1J2expNWRtLmS
195djw5505i3uQ8kXT4ks5A0hVMLoSSeCS5GE26Y0nPStKbSC6tJom15HIq6VtP+jeSgUzyw2YyuJX8
196mEuGtpPhnWSkkPy0m4zuJT+XkrH9ZPwwuVJOfjlKJk6SXyvJ1dNk8jy5Vk1+u0imrpLfa8n162T6
197NrlRT/64S2Yekr83kpuPyexzcgsAUtym1NuWFI+U4remBO2pd+SUsCP1vjMloqbEXSlJd2qInpL2
198pIZ7UzJmSt6XUvSnRtgpcCA1OphSclMqXkotSI0JU5AoNS5JaaQprSylU6QmwBSsTE2qU3ooZdCk
199jLrUFJxC9KlpY8qEpMymlMWSmkFTqDU1a09ZsX+4M2V3pebwFOZOzXtTDiLl9KVcgdRCMIWHUouR
200lDua8sRS3pXUUiJFrKaW11K+VMq/ngpspD5kUsHN1MetVCiXCm+nIjupT4VUdDf1eS8VK6Xi+6mV
201w9SXcipxlPp6klqtpJKnqbXz1LdqKnWR+n6VWq+l0tepjdvUj3oqc5f6/SG12UhlH1Nbz6k/ACD9
202tinNa0nzSWlBa/pde1pITr/vSIs602JqWtKVHupOS+np4Z60rDctZ6YVfemR/jTITo8OpJWDaRU3
203realxwRpSJgeF6U1krRWmtbJ0hOKNAymJ5VpvTptgNJGTXpKl0bg9LQ+bTKmzUjaYkrPWNIomp61
204pq32tA1L2x3pOVcaw9Pz7rTDm3YSaZcvvRBI48H0YijtjqQ90bQ3ll5aSROJ9PJq2reW9qfSgfX0
205h410MJP+uJkObaXDuXRkO/1pJx0tpD/vpmN76XgpvbKf/nKYTpTTX4/SqyfpZCW9dpr+dp5OVdPf
206L9LrV+l0Lb1xnf5xm87U07/fpTcf0tlGeusx/cdzOgcAGV5Tht+SEZAy71ozwvbMe3JG1JERd2Yk
2071MxQV0banRmmZ2Q9GXlvRsHMjPRlwP7MKDujHMioBjNqbmaMl4EEmXFhRiPKaCUZnTQzIcvAiswk
208mNErMwZ1xghlpjQZRJeZhjMmfcZszFiQzIwpg1oys2jGas3Y7Bk7lplzZDBXZh7PONwZpzfjIjIL
209vgweyCwGM+5QxhPJeKOZpViGWMksJzK+1Yx/LRNIZT6sZ4IbmY+ZTGgzE97KRHKZT9uZ6E7mcyET
210283E9zIrpcyX/UziMPO1nFk9yiRPMmuVzLfTTOo8872aWb/IpK8yG7XMj+tM5jbzez2zeZfJPmS2
211Gpk/HjO558yfAJDlN2UFLdl3pKywNfu+PSsiZ8UdWUlndoialXZlh7uzMnpW3pNV9GZHmFmwLzva
212n1Wys6qBrHowO8bNQrzsuCCrEWa1oqxOkp2QZmFZdlKR1YNZgzJrVGenoCyiyU7rsiY4a9ZnLcbs
213DJJFTdlZS9aKZm3WrN2encOymCM778o68KzTnXV5swtEFvdlFwNZdzDrCWW9kexSNEvEsssrWV8i
21461/NBtayH1LZ4Hr240Y2lMmGN7ORreynXDa6nf28k40VsvHd7Mpe9kspm9jPfj3MrpazyaPs2kn2
215WyWbOs1+P8+uV7Ppi+zGVfZHLZu5zv5+m92sZ7N32a2H7B+NbO4x++dzdhsAcoKm3LuWnJCUe9+a
216E7XnxOScpCM31JmTUnPDXTlZd05Ozyl6ciO9OZCZG+3LKftzKnZOPZAbG8xB3Nw4L6cR5LTCnE6U
217m5DkYGluUpbTK3IGMGdU5qbUOQTKTWtyJl3ODOcs+tyMMYciuVlTzmrJ2dCc3Zqbs+cwLDfvyDlc
218OSeec7lzC/9QOZFb9OXcgZwnmPOGckuRHBHNLcdyvpWcP5ELrOY+rOWCqdzH9VxoIxfO5CKbuU9b
219uWgu93k7F9vJxQu5ld3cl71copT7up9bPcwly7m1o9y3k1yqkvt+mls/z6WruY2L3I+rXKaW+/06
220t3mby9ZzW3e5Px5yuUbuz8fc9nMuDwD5d015YUv+PSkvas2L2/MScn6oIy/tzA9T87KuvLw7r6Dn
221R3ryYG9+lJlX9uVV/Xk1Oz82kIcG8+PcvIaX1wryOmF+QpSHJflJaV4vyxsUeSOYn1LmEXV+Gsqb
222NHmzLm+B8zP6PGrMzyJ5qylvs+TtaH7Omsfs+Xks73Dkna68C88vuPO4N79I5N2+vCeQ9wbzS6E8
223EckvR/O+WN6/kg8k8h9W88G1/MdUPrSeD2/kI5n8p818dCv/OZePbefjO/mVQv7Lbj6xl/9ayq/u
22455OH+bVy/ttRPnWS/17Jr5/m0+f5jWr+x0U+c5X/vZbfvM5nb/Nb9fwfd/ncQ/7PRn77MZ9/zu8A
225QEHYVHjfUhCRCuLWgqS9MEQuSDsKw50FGbUg7yoougsj9ALYUxjtLSiZBVVfQd1fGGMXoIHC+GBB
226wy1oeQWdoDAhLMCiwqSkoJcWDLKCUVGYAguIsjCtLpiggllTsOgKM3AB1RdmjQUrUrCZCnZLYQ4t
227YNbCvL3gwApOR8HlKizgBdxdWPQW3EThH2fhDRSWggUiVFiOFHzRgj9WCKwUPiQKwdXCx7VCKFUI
228rxciG4VPmUJ0s/B5qxDLFeLbhZWdwpdCIbFb+LpXWC0VkvuFtcPCt3IhdVT4flJYrxTSp4WN88KP
229aiFzUfj9qrBZK2SvC1u3hT/qhdxd4c+HwnajkH8s7DwX/gKA4vumoqilKCYVJa3FofailFwc7ijK
230OotyalHRVRzpLoL04mhPUdlbVDGL6r7iWH8RYhfHB4qawaKWW9TxihOCIiwsToqKeknRIC0aZcUp
231RREBi9PKokldNENFi6Y4oyuicHFWX7QaizakaDcV5yxFDC3OW4sOe9GJFV2O4oKriOPFRXfR7S16
232iKLXV1wKFIlgcTlU9EWK/mgxECt+WCkGE8WPq8XQWjGcKkbWi582itFM8fNmMbZVjOeKK9vFLzvF
233RKH4dbe4uldMlopr+8Vvh8VUufj9qLh+UkxXihunxR/nxUy1+PtFcfOqmK0Vt66Lf9wWc/Xin3fF
2347YdivlHceSz+9VwsAEBJ1FQSt5QkpNJQa0naXhoml2QdJXlnSUEtjXSVwO7SKL2k7CmpektqZmms
235rwT1l8bZJc1ASTtY0nFLE7wSLChNCkt6UckgKRmlpSlZCVGUpsGSSVkyq0sWqDSjKaG60ixcsupL
236NmPJjpTmTCXMUppHSw5ryWkvubDSgqOEu0qLeMntLnm8JS9RWvKViEBpOVjyhUr+SCkQLX2IlYIr
237pY+JUmi1FF4rRVKlT+ul6Ebpc6YU2yzFt0orudKX7VJip/S1UFrdLSX3Smul0rf9Uuqw9L1cWj8q
238pU9KG5XSj9NS5rz0e7W0eVHKXpW2aqU/rku529Kf9dL2XSn/UNpplP56LBWeS38DwIG46UDScjBE
239OpC2Hgy3H8jIB/KOA0XnwQj1AOw6GO0+UNIPVD0H6t6DMeYB1Hcw3n+gYR9oBw50gwcT3AOYdzAp
240ONALDwyiA6PkYEp6gMgOphUHJvDArDywqA9moANUczCrO7DCBzb9gd14MIccYKaDecuBAz1wWg9c
2419oMF7AB3HCy6Dtz4gcd94PUeLBEHhO9gOXDgCx74QweByMGH6EEwdvBx5SCUOAivHkTWDj6lDqLr
242B583DmKZg/jmwcrWwZfcQWL74OvOwWrhILl7sLZ38K10kNo/+H54sF4+SB8dbJwc/KgcZE4Pfj8/
2432KweZC8Otq4O/qgd5K4P/rw92K4f5O8Odh4O/mocFB4P/n4+2AWAsqSpPNRSlpLKw61lWXtZTi4r
244OsojnWWQWh7tKiu7yyp6Wd1THustQ8zyeF9Z01/Wssu6gfLEYBnmlid5Zb2gbBCWjaLylKSMSMvT
245srJJUTaDZYuyPKMuo1B5VlO26so2uGzXl+eMZQwpz5vKDkvZiZZd1vKCvYxj5UVH2e0qe/Cy111e
2468pYJorzsK/sCZX+wHAiVP0T+0Tnlj7FyaKUcTpQjq+VPa+Voqvx5vRzbKMcz5ZXN8petciJX/rpd
247Xt0pJwvltd3yt71yqlT+vl9ePyyny+WNo/KPk3KmUv79tLx5Xs5Wy1sX5T+uyrla+c/r8vZtOV8v
24879yV/3ooFxrlvx/Lu8/lIgAcDzUdS1uOh0nHstZjefuxgnw80nEMdh6PUo+VXceq7mM1/Xis5xjq
249PR5nHmv6jrX9xzr28cTAMTx4PMk91vOODYJjo/B4SnSMSI6npccm2bFZcWwBj2eUx6j6eBY6tmqO
250bbpjO3w8pz/GjMfzyLHDdOy0HLvQ4wXrMW4/XsSO3Y5jj+vYix8vuY8J7/EycezzHfsDx4Hg8YfQ
251cTBy/DF6HIodh1eOI4njT6vH0bXjz6nj2PpxfON4JXP8ZfM4sXX8NXe8un2c3DleKxx/2z1O7R1/
252Lx2v7x+nD483ysc/jo4zJ8e/V443T4+z58db1eM/Lo5zV8d/1o63r4/zt8c79eO/7o4LD8d/N453
253H4+Lz8d7AFCRNlWGWyoyUkXeWlG0V0bIFbCjMtpZUVIrqq6KursyRq9APZXx3oqGWdH2VXT9lQl2
254BR6oTA5W9NyKgVcxCipTwgoiqkxLKiZpxSyrWBSVGbCCKiuz6ooVqtg0FbuuMgdXMH1l3lhxIBWn
255qeKyVBbQCm6tLNorbqzicVS8rsoSXiHclWVvxUdU/L5KIFD5EKwEQ5WPkUooWgnHKpGVyqdEJbpa
256+bxWiaUq8fXKykblS6aS2Kx83aqs5irJ7craTuVboZLarXzfq6yXKun9ysZh5Ue5kjmq/H5S2axU
257sqeVrfPKH9VK7qLy51Vlu1bJX1d2bit/1SuFu8rfD5XdRqX4WNl7rvwXAM6Gm85kLWdy0pmi9Wyk
258/Qwkn412nCk7z1TUM3XX2Vj3GUQ/G+850/SeaZlnur6zif4zmH02OXCmHzwzcM+MvLMpwRkiPJsW
259nZkkZ2bpmUV2NqM4Q8GzWeWZVX1mg87smrM53RkGn83rzxzGMydy5jKdLVjOcPRs0Xrmtp95sDOv
26042zJdUbgZ8vuM5/3zE+cBXxnHwJnweDZx9BZKHIWjp5FYmefVs6iibPPq2extbN46mxl/ezLxlki
261c/Z182x16yyZO1vbPvu2c5YqnH3fPVvfO0uXzjb2z34cnmXKZ78fnW2enGUrZ1unZ3+cn+WqZ39e
262nG1fneVrZzvXZ3/dnhXqZ3/fne0+nBUbZ3uPZ/99PisBQFXWVJW3VBWk6khrFWyvjpKryo6qqrOq
263plbHuqpQd3WcXtX0VLW9VR2zOtFXhfurk+yqfqBqGKwaudUpXhURVKeFVZOoapZULdLqjKyKKqqz
264YNWqrNrUVTtUndNUMV11Hq469FWnsepCqgumKm6pLqJVt7XqsVe9WHXJUSVc1WW86nNX/d5qgKh+
2658FWDgerHYDUUqoYj1Ui0+ilWja5UPyeqsX9k11p1JVX9sl5NbFS/Zqqrm9XkVnUtV/22XU3tVL8X
266quu71fRedaNU/bFfzRxWfy9XN4+q2ZPqVqX6x2k1d179s1rdvqjmr6o7tepf19XCbfXvenX3rlp8
267qO41qv99rJaeq/8DgEt506Wi5XKEdAm2Xo62XyrJl6qOS3Xn5Rj1Euq6HO++1NAvtT2Xut7LCeYl
2683Hc52X+pZ18aBi6Ng5dT3EuEdzktuDQJL82iS4vkckZ6icouZxWXVvDSpry0qy/noEtMczmvu3TA
269l079pct4uYBc4qbLRculG730WC+99ssl7JJwXC67Ln34pd99GfBefiAug77Lj4HLUPAyHLqMRC4/
270RS+jscvPK5exxGV89XJl7fJL6jKxfvl143I1c5ncvFzbuvyWu0xtX37fuVwvXKZ3Lzf2Ln+ULjP7
271l78fXm6WL7NHl1snl39ULnOnl3+eX25XL/MXlztXl3/VLgvXl3/fXu7WL4t3l3sPl/9tXJYeL//3
272fLkPADVFU22kpQaSaqOtNWV7TUWuqTtqY501iFob76ppumtaek3XU5vorcHM2mRfTd9fM7BrxoHa
2731GAN4dameTWToGYW1iyi2oykhkprs7KaVVGzgTW7sjanrmFQbV5Tc+hqTrjm0tcWjDUcqS2aam5L
274zYPWvNbakr1GYLVlR83nqvnxWsBd++CtBYnaR18tFKiFg7VIqPYpUotGa59jtdhKLZ6orazWvqzV
275/lGBX9drqxu1ZKa2tln7tlVL5Wrft2vrO7V0obaxW/uxV8uUar/v1zYPa9lybeuo9sdJLVep/Xla
2762z6v5au1nYvaX1e1Qq3293Vt97ZWrNf27mr/faiVGrX/Pdb2n2sHAHAz0nQDttyMkm6UrTeq9hs1
277+Was4wbqvBmn3mi6brTdNzr6zUTPDdx7M8m80ffdGPpvjOybqYEbZPBmmntj4t2YBTcW4c2M6AaV
2783MxKb6yyG5vixg7ezClvMPXNPHTj0Nw4dTcu+GZBf4MbbxaRG7fpxmO58aI3S9Ybwn6zjN34HDd+
279100Av/ngvgl6bz4SNyHfTThwEwnefArdRCM3n6M3sdhNfOVmJXHzZfUmsXbzNXWzun6T3LhZy9x8
28027xJbd18z92sb9+kd242Cjc/dm8yeze/l24292+yhzdb5Zs/jm5yJzd/Vm62T2/y5zc71Zu/Lm4K
281Vzd/1252r2+Ktzd79Zv/3t2UHm7+17jZf7w5eL45BIA62FQfbakrSXVVa13dXh8j16GO+nhnXUOt
282a7vquu76BL0O99Qne+t6Zt3QVzf216fYdWSgPj1YN3HrZl7dIqjPCOuoqD4rqVuldZusblfU58A6
283pqzPq+sOqO7U1F26+gJcx/X1RWPdjdQ9prrXUl9C64S1vmyv+7C631EPuOof8HrQXf/orYeIethX
284jwTqn4L1aKj+OVKPRevxWH1lpf4lUU+s1r+u1VdT9eR6fW2j/i1TT23Wv2/V13P19HZ9Y6f+o1DP
2857NZ/36tvlurZ/frWYf2Pcj13VP/zpL5dqedP6zvn9b+q9cJF/e+r+m6tXryu793W/1uvl+7q/3uo
2867zfqB4/1w+f6/wHA/WjTvbLlXkW6V7fej7XfQ+T78Y57Tee9lnqv67qf6L6H6feTPff63nsD897Y
287dz/Vf4+w76cH7k2D92buvYV3PyO4R4X3s6J7q+TeJr23y+7nFPcYeD+vvHeo753QvUtzv6C7x+H7
288Rf2923jvQe69pvslyz2B3i9b7332ez92H3Dcf3DdB/H7j+77kPc+TNxHfPefAvfR4P3n0H0sch+P
2893q/E7r+s3CcS919X71fX7pOp+7X1+28b96nM/ffN+/Wt+3TufmP7/sfOfaZw//vu/ebefbZ0v7V/
290/8fhfa58/+fR/fbJfb5yv3N6/9f5faF6//fF/e7VfbF2v3d9/9/b+1L9/n939/sP9weN+8PH+/97
291vi8DQEPZ1FC1NNSkxlhrA2pvjJMbmo6GtrOhozYmuhpwd2OS3tD3NAy9DSOzMdXXQPob0+yGaaBh
292HmxYuI0ZXgMVNGaFDauoYZM07NLGnKyBKRrzYMOhbDjVDRfUWNA0cF1jEW649Q2PseFFGkumBmFp
293LKMNn7XhtzcCWOODoxF0NT7ijZC7EfY2IkTjk68RDTQ+BxuxUCMeaaxEG19ijcRK42uisbraSK41
2941lKNb+uN1Ebje6axvvmPJW1s5Bo/thuZncbvhcbmbiO719gqNf7Yb+QOG3+WG9tHjfxJY6fS+Ou0
295UThv/F1t7F40ileNvVrjv9eN0m3jf/XG/l3j4KFx2Gj832Oj/Nz4fwDwpGp6Urc8jZGeoNan8fYn
296DflJ2/Gk63yaoD7BXU+T3U96+pOh58nY+zTFfEL6nqb7n0zsJ/PAk2XwaYb7hPKeZgVPVuGTTfRk
297lzzNSZ8w2dO84skBPjmVTy710wL0hGueFnVPbvjJo3/yGp+WkCfC9LRsefKhT37rU8D+9AF7Cjqe
298PrqeQvhT2P0U8T59Ip6ivqfPgadY8CkeelqJPH2JPiViT19XnlYTT8nVp7W1p2+pp9T60/eNp/XM
299U3rzaWPr6UfuKbP99PvO02bhKbv7tLX39EfpKbf/9Ofh03b5KX/0tHPy9FflqXD69Pf50271qXjx
300tHf19N/aU+n66X+3T/v1p4O7p8OHp/9rPJUfn/7f89PR/w8QCy14LJdV2gAAAABJRU5ErkJggg==</one:Data></one:Image></one:Page>
corpus/m6/native-expanded-control-ui-01/read/page-007.pdf created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/read/page-007.pdf differ
corpus/m6/native-expanded-control-ui-01/read/page-007.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{45CD2B75-3511-0E18-1ED1-A4F292E98BC8}{1}{B0}" name="Image jpg" dateTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T06:00:50.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T02:25:42.000Z" objectID="{9BF08D5A-C2CC-06FD-20A2-36365AA7D039}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image jpg]]></one:T></one:OE></one:Title><one:Image format="jpg" hyperlink="https://example.invalid/image/jpg" alt="Pattern jpg" originalPageNumber="0" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{9BF08D5A-C2CC-06FD-20A2-36365AA7D039}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="144.0" height="48.00000381469727" isSetByUser="true"/><one:Data>/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a
3HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy
4MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABAAGADASIA
5AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
6AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3
7ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
8p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA
9AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
10BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
11U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
12uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDwhYfa
13plh9qsrD7VMsPtUqRFOqVVh9qmWH2qysPtUyw+1UpHbTqlZYfaplh9qsrD7VMsPtVqR206pVWGpl
14h9qsrDUyw+1UpHbTqlZYalWH2q0sNSrD7VSkdtOqVlh9qmWH2qysPtUyw+1UpHdTqnHrD7VMsPtV
15lYfaplh9q81SPyqnVKqw+1TLD7VZWH2qZYfaqUjtp1SssPtUyw+1WVh9qmWH2qlI7adUqrDUyw+1
16WVhqZYfarUjtp1SssNSrD7VaWGpVh9qpSO2nVKyw+1TLD7VZWH2qZYfaqUjup1Tj1h9qmWH2qysP
17tUyw+1eapH5VTqlVYfaplh9qsrD7VMsPtVKR206pWWH2qZYfarKw+1TLD7VSkdtOqVVhqZYfarKw
181MsPtVqR206pWWGpVh9qtLDUqw+1UpHbTqlZYfaplh9qsrD7VMsPtVKR206px6w+1TLD7VZWH2qZ
19YfavNUj8rp1SqsPtUyw+1WVh9qmWH2qlI7adUrLD7VMsPtVlYfaplh9qpSO2nVKqw1MsPtVlYamW
20H2q1I7adUrLDUqw+1WlhqVYfaqUjtp1SssPtUyw+1WVh9qmWH2qlI7adU//Z
21</one:Data></one:Image></one:Page>
corpus/m6/native-expanded-control-ui-01/read/page-008.pdf created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/read/page-008.pdf differ
corpus/m6/native-expanded-control-ui-01/read/page-008.xml created+6
...@@ -0,0 +1,6 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{59B2724D-8424-0624-39D2-34278D058FD8}{1}{B0}" name="Image role background=true, printout=false" dateTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T06:00:51.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{9F0FF7C1-D4DF-0B70-0B48-E6D60AAD9643}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image role background=true, printout=false]]></one:T></one:OE></one:Title><one:Image format="png" backgroundImage="true" alt="Role pattern" originalPageNumber="2" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{9F0FF7C1-D4DF-0B70-0B48-E6D60AAD9643}{39}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="288.0" height="192.0" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec
3CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI
4E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp
5oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT
6+wHXVRp4qDc0HQAAAABJRU5ErkJggg==</one:Data></one:Image><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{9F0FF7C1-D4DF-0B70-0B48-E6D60AAD9643}{41}{B0}"><one:Position x="72.0" y="108.0" z="1"/><one:Size width="146.7475433349609" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{9F0FF7C1-D4DF-0B70-0B48-E6D60AAD9643}{42}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Foreground role control]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-expanded-control-ui-01/read/page-009.pdf created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/read/page-009.pdf differ
corpus/m6/native-expanded-control-ui-01/read/page-009.xml created+46
...@@ -0,0 +1,46 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{8A48861A-496F-05FB-36BA-710F3EF7D51E}{1}{B0}" name="Image gif" dateTime="2026-09-06T02:25:44.000Z" lastModifiedTime="2026-09-06T06:00:52.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{F11D8E2B-2F45-0008-211C-E532CEC05C7D}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image gif]]></one:T></one:OE></one:Title><one:Image format="png" hyperlink="https://example.invalid/image/gif" alt="Pattern gif" originalPageNumber="0" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{F11D8E2B-2F45-0008-211C-E532CEC05C7D}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="144.0" height="48.00000381469727" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAMAAADS6oI8AAADAFBMVEW4t5mrt5O4qpWrqo6euo2S
3uoeZs4ieqoiSqoK4nJCrnIq4kIyrkIaen4SSn36ZmH+ekH+SkHmGuoGGs395t3pounJos3CGqnx5
4qnVtqm9iqmqGnHd5nHGGkHN5kG1on2lomGdokGS4hIirhIK4d4Srd32eh3ySh3aZgHeed3eSd3G4
5a4Cra3m4YHyrYHaea3OSa22eYG+SYGmGh3CGgG55hGloh2FogF+Gd2t5d2Rtd15id1mGa2d5a2CG
6YGN5YF1ta1pia1VoYFRWumlWs2dJt2I4ulo4s1hWqmRJql09qlcyqlImulEaukshs0wKukMKs0Em
7qkwaqkYPqkAEqjtWnF9JnFlWkFtJkFU4n1E4mE84kEwmn0gan0IhmEMmkEMakD0KnzoKmDgKkDVW
8h1hWgFZJhFE4h0k4gEdWd1NJd0w9d0Yyd0FWa09Ja0hWYEtJYEU9a0Iyaz04YDwmh0AahzohgDsK
9hzIKgDAmdzsadzUPdy8EdyomazcaazEmYDMaYC0PaysEayYKYCW4VHirVHK4R3SrR22eV2ySV2aZ
10UGeeR2eSR2G4O3CrO2m4MGyrMGaeO2OSO12eMF+SMFmGV2CGUF55VFloV1FoUE+GR1t5R1RtR05i
11R0mGO1d5O1CGMFN5ME1tO0piO0VoMES4JGirJGK4GGSrGF6eJ1ySJ1aZIFeeGFeSGFG4DmGrDlq4
12A12rA1eeDlSSDk6eA1CSA0qGJE95JEmGGEt5GEVoJ0FoID9oGDyGDkh5DkGGA0R5Az5tDjtiDjZo
13AzVWVEdJVEE4Vzk4UDdWR0NJRzw9RzYyRzFWOz9JOzhWMDtJMDU9OzIyOy04MCwmVzAaVyohUCsK
14VyIKUCAmRysaRyUPRx8ERxomOycaOyEmMCMaMB0POxsEOxYKMBVWJDdJJDFWGDNJGC04Jyk4ICc4
15GCRWDjBJDilWAyxJAyY9DiMyDh44Ax0mJyAaJxohIBsmGBsaGBUKJxIKIBAKGA0mDhgaDhImAxQa
16Aw4PDgwEDgcKAwZYdbPqAAAAAWJLR0QAiAUdSAAAAAxjbVBQSkNtcDA3MTIAAAADSABzvAAABjJJ
17REFUWEedkImbTgUcha9ChZl2RUKR0TKTtGiRsZUSEpI0tKm0GoW0WSOjMmNpL82oFG1apJJltNDC
18KKRNURRZytZqRr9zzl2+79779Ty+9w943+ccZ7fPLvGv+N1js9jk8r7HfDFPzCRvktfIDOGEA64/
19rYD8oUCFVyhPGuAHtqRYUJq0IHFAOFBh7C4Hu/4B//4NfgO/bwGbN4JNm34FC8D7pWD+XDBv3hww
208w3w5uvgtVfBjBmvAAf+CvrL6f+HfgXo30L/RurdAP2l9M+lfs4c+t+g/3X6X6U+JiB/egH54wJ/
21xQ74bUNkAR9a8F5kQeKAaOAvUr5T7CB20Aay5WexTkBPSt8Rb4uXyUvkBfK8cCqkNxL9O3ZIbyQH
221klvxATkDwVC/p3btcAPrE8RmJ0U0IAX4wJ/+mDBdoLAeg8E1q5da/f8BGZ7IDBr1iy75y0DeqIB
23U6dOtXueM5wgsM1QYKvhB0wOaE8MmBzAbkyfPl2BadOmmd2A3Qv8QRBAAXoGfiHRwLskEkDB9OGA
245H5gm/Rbt8oeDcgeDtgAg/qUAQ7YliJQVoZ7lhjJgZIS/FNcHAkUFeGfwsJC50efH8T34guPMgE5
25eNajRBSLSWQiKSImB5GA608rIH8osMZbsDppgB9YmmLBlKQFiQPCgTXGj6vBD6vA99+Bz8EXS0HZ
26YrBkyWfgGfDsFFDyNCgungwmTQATx4OicaCw8EHgwL+G/tX0r6JfAfqX0r+YejdA/xT6n6Z+8mT6
27J9A/nv5x1McE5E8vIH/KQGRAzAI+9Ex0QeKAUOBb8g34mnxFPiWfgI/FIvIUeRI8IR4nD5D7yX1i
28NHECfzRAvxuQXwH63YD8MQH5owEN0II9DWiAuyAxsHJl8NCKFb5/4cLIAg547LHIAj00dmx8YCXh
29QysEBywkuOhDY9GiDwD9ABc9YjwsqCcYMMoYPfpe4HwrvbHckH+ZIb0Bu0G9Ib0BexAoKCiQf8yY
30MdCPGkW9BaD+kiCAAvQMfESigUeJH3gIWAAF04cDkvuB5dIvWyZ7NCB7EKBegQLqUwY4YHmKQH4+
317ulnJAdycxP8iYGcHPyTnZ3tjPQZJoaK2zzyBeSgtUeuaCGakpNIDjE5iARcf1oB+UOBEd6C4UkD
32/ED/FAtaJi1IHBAOjDBGDgfDhoCh94BbwW39Qf4toF+/m0Er0LolyD0btGjRHDRtAk46EeScALKz
33jwcO/CPoH07/EPoVoL8//bdQ7wbob0n/2dQ3b05/E/pPpP8E6mMC8qcXkD9lIDIgZgEfahVdkDgg
34FLib3AXuJHeQm8iN4AZxPTmLnAnOEKeT48ix5BjRkDiBPxqg3w3IrwD9bkD+mID80YAGaMGeBjTA
35XZAYGDw4eGjQIN/ft29kAQc0axZZoIcaN44PDCZ8aJDggL4EF11rXCPoB7joVOMUQT3BgAZGw4ZH
36A+du6Y2BhvwDDOkN2IPANdIbsAeBrKws+Rs1agR9gwbUWwDq2wkCKEDPwHXED/Qhpj6N+IGTgQVQ
37MH04ILkfGCj9gAGyBwHp+/SRPQhQr0AW9SkDHDAwRaBHj/hA3boJ/sRAjRr4p3r16s7VPleIy8Vl
38Hj3EJS5HedQVR4oDyQGkBjE5iARcf1oB+VMF3AG9Qwt6plhQP2mBBuwfF7jKB4XeBI2eHgh0797d
39HroY1PdAoE6dOnbPEQb0RAOqVatm9+xnOEGgl6FAnuEHTA5oTwyYHMBuZGZmKpCRkWF2A3YvcCVB
40AAXoGbiURAP1SCSAgunDAcn9QC/p8/JkjwZkDwdsgEF9ONDN83flgkigffuki2p7/lq1Ei/6v0A3
4148quoFcXkHcRuABc2h6cL84jtUG9WuBwcRjJ3Bdk7AP2FnsRB/5u9Helvwv9CtDvBuRXgH43IP9h
429O9LvxuQPxqQP72A/DGBzp2DAZ06+f527SILOKBmzcgCDahaNT7QmfChToID2hFcdI7RVtAPcNEh
43xsGCeoIBlQx7h3ST3uhoyN/BkN6APQi0ld6APQhUqVJF/sqVK0NfqZL0jgP1hQQBFKBn4FziB9oQ
44Ux9K/MBBwAIomD4ckNwPdJS+QwfZg4D0bdrIHgSoV6AK9SkDHNAxzQD9sYH/AHAD8Cry1R2MAAAA
45AElFTkSuQmCC
46</one:Data></one:Image></one:Page>
corpus/m6/native-expanded-control-ui-01/read/page-010.pdf created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/read/page-010.pdf differ
corpus/m6/native-expanded-control-ui-01/read/page-010.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{8D84E5D0-1791-0BC9-15B4-071F22553597}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T06:00:52.000Z" pageLevel="1" style="font-family:Calibri;font-size:11.0pt" lang="en-US"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="Fixture Author" lastModifiedBy="Fixture Author" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{E20AF8E2-158C-0839-31E9-2755DCDB7C1E}{23}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="191.1661224365234" height="13.4277172088623"/><one:Indents><one:Indent level="0" indent="0.0"/></one:Indents><one:OEChildren><one:OE creationTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{E20AF8E2-158C-0839-31E9-2755DCDB7C1E}{24}{B0}" alignment="left"><one:T><![CDATA[A notebook created in Rust.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-expanded-control-ui-01/read/page-011.pdf created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/read/page-011.pdf differ
corpus/m6/native-expanded-control-ui-01/read/page-011.xml created+6
...@@ -0,0 +1,6 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{8E838762-DE34-0E40-1EE3-4325D5F46BAB}{1}{B0}" name="Image role background=false, printout=false" dateTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T06:00:53.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{BC54CAA5-05FE-0F9E-380E-208C766ABB19}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image role background=false, printout=false]]></one:T></one:OE></one:Title><one:Image format="png" alt="Role pattern" originalPageNumber="2" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{BC54CAA5-05FE-0F9E-380E-208C766ABB19}{39}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="288.0" height="192.0" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec
3CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI
4E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp
5oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT
6+wHXVRp4qDc0HQAAAABJRU5ErkJggg==</one:Data></one:Image><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{BC54CAA5-05FE-0F9E-380E-208C766ABB19}{41}{B0}"><one:Position x="72.0" y="108.0" z="1"/><one:Size width="146.7475433349609" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{BC54CAA5-05FE-0F9E-380E-208C766ABB19}{42}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Foreground role control]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-expanded-control-ui-01/read/page-012.pdf created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/read/page-012.pdf differ
corpus/m6/native-expanded-control-ui-01/read/page-012.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{94D4815F-8289-04F4-084F-3C20BF91CF04}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:54.000Z" pageLevel="2" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{878DE9FD-B150-0DA3-0B18-485739BF1CC2}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{878DE9FD-B150-0DA3-0B18-485739BF1CC2}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="266.8237915039062" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{878DE9FD-B150-0DA3-0B18-485739BF1CC2}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group B/Nested/Duplicate.one, level 2]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-expanded-control-ui-01/read/page-013.pdf created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/read/page-013.pdf differ
corpus/m6/native-expanded-control-ui-01/read/page-013.xml created+6
...@@ -0,0 +1,6 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{9C66A2F4-9062-052D-2916-5D209A0B1FD3}{1}{B0}" name="Image role background=true, printout=true" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T06:00:55.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{73A91EB1-A031-0F20-080E-445289AA7014}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image role background=true, printout=true]]></one:T></one:OE></one:Title><one:Image format="png" backgroundImage="true" isPrintOut="true" alt="Role pattern" originalPageNumber="2" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{73A91EB1-A031-0F20-080E-445289AA7014}{39}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="288.0" height="192.0" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec
3CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI
4E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp
5oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT
6+wHXVRp4qDc0HQAAAABJRU5ErkJggg==</one:Data></one:Image><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{73A91EB1-A031-0F20-080E-445289AA7014}{41}{B0}"><one:Position x="72.0" y="108.0" z="1"/><one:Size width="146.7475433349609" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{73A91EB1-A031-0F20-080E-445289AA7014}{42}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Foreground role control]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-expanded-control-ui-01/read/page-014.pdf created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/read/page-014.pdf differ
corpus/m6/native-expanded-control-ui-01/read/page-014.xml created+6
...@@ -0,0 +1,6 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{CE4DF6C2-E2BE-0A5F-3CE2-EF28102ADAEC}{1}{B0}" name="Image role background=false, printout=true" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T06:00:55.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{AB2D47E0-D7B0-02E3-1F54-B2B37D436396}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image role background=false, printout=true]]></one:T></one:OE></one:Title><one:Image format="png" isPrintOut="true" alt="Role pattern" originalPageNumber="2" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{AB2D47E0-D7B0-02E3-1F54-B2B37D436396}{39}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="288.0" height="192.0" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec
3CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI
4E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp
5oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT
6+wHXVRp4qDc0HQAAAABJRU5ErkJggg==</one:Data></one:Image><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{AB2D47E0-D7B0-02E3-1F54-B2B37D436396}{41}{B0}"><one:Position x="72.0" y="108.0" z="1"/><one:Size width="146.7475433349609" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{AB2D47E0-D7B0-02E3-1F54-B2B37D436396}{42}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Foreground role control]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-expanded-control-ui-01/read/page-015.pdf created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/read/page-015.pdf differ
corpus/m6/native-expanded-control-ui-01/read/page-015.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{D0D04EF0-C565-0ED4-2AB4-711BAE6015ED}{1}{B0}" name="Paragraph controls" dateTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T06:02:16.000Z" pageLevel="1" isCurrentlyViewed="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:QuickStyleDef index="1" name="Fixture style" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="14.0" strikethrough="true" spaceBefore="0.25" spaceAfter="0.125"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T06:01:41.000Z" objectID="{950660A5-8233-0DAA-0E09-AA4B672F6B66}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Paragraph controls]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T06:02:16.000Z" objectID="{950660A5-8233-0DAA-0E09-AA4B672F6B66}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="316.7999572753906" height="154.8006286621094"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T06:01:41.000Z" objectID="{950660A5-8233-0DAA-0E09-AA4B672F6B66}{40}{B0}" alignment="left" spaceBefore="9.0" spaceAfter="4.5" quickStyleIndex="1"><one:T><![CDATA[<span
3style='text-decoration:line-through'>Inherited strike and spacing</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T06:01:41.000Z" objectID="{950660A5-8233-0DAA-0E09-AA4B672F6B66}{47}{B0}" alignment="center" spaceBefore="12.0" spaceAfter="6.0" quickStyleIndex="0"><one:T><![CDATA[Centered paragraph]]></one:T></one:OE><one:OE RTL="true" creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{950660A5-8233-0DAA-0E09-AA4B672F6B66}{52}{B0}" alignment="right" quickStyleIndex="0" style="font-family:Arial;font-size:11.0pt;text-align:right"><one:T><![CDATA[<span
4style='direction:rtl;unicode-bidi:embed' lang=ar-SA>مرحبا بالعالم</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T06:01:41.000Z" objectID="{950660A5-8233-0DAA-0E09-AA4B672F6B66}{58}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Collapsed parent]]></one:T><one:OEChildren indent="2"><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T06:01:41.000Z" objectID="{950660A5-8233-0DAA-0E09-AA4B672F6B66}{63}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Hidden child remains stored]]></one:T><one:OEChildren><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T06:01:41.000Z" objectID="{950660A5-8233-0DAA-0E09-AA4B672F6B66}{68}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Grandchild]]></one:T></one:OE></one:OEChildren></one:OE></one:OEChildren></one:OE><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T06:01:41.000Z" objectID="{950660A5-8233-0DAA-0E09-AA4B672F6B66}{73}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[AB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;C]]></one:T></one:OE><one:OE creationTime="2026-09-06T06:02:15.000Z" lastModifiedTime="2026-09-06T06:02:16.000Z" objectID="{74D16F36-3A46-4361-9BC8-06811E9F26A3}{10}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[]]></one:T></one:OE><one:OE creationTime="2026-09-06T06:02:15.000Z" lastModifiedTime="2026-09-06T06:02:16.000Z" objectID="{74D16F36-3A46-4361-9BC8-06811E9F26A3}{13}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[]]></one:T></one:OE><one:OE creationTime="2026-09-06T06:02:15.000Z" lastModifiedTime="2026-09-06T06:02:16.000Z" objectID="{74D16F36-3A46-4361-9BC8-06811E9F26A3}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-expanded-control-ui-01/read/page-016.pdf created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/read/page-016.pdf differ
corpus/m6/native-expanded-control-ui-01/read/page-016.xml created+9
...@@ -0,0 +1,9 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{ECFFF87F-0CB5-003C-3076-4C1C6F935479}{1}{B0}" name="Image bmp" dateTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T06:00:57.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:43.000Z" lastModifiedTime="2026-09-06T02:25:43.000Z" objectID="{BDBBBCD1-A5B1-076B-2BD7-5F0A810BDB28}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image bmp]]></one:T></one:OE></one:Title><one:Image format="png" hyperlink="https://example.invalid/image/bmp" alt="Pattern bmp" originalPageNumber="0" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{BDBBBCD1-A5B1-076B-2BD7-5F0A810BDB28}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="144.0" height="48.00000381469727" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAAXNSR0IArs4c6QAAAAlwSFlzAAAO
3xAAADsQBlSsOGwAAARlJREFUeF7t2VFHQ2EcBvD3PWetVqvVam1ERESMiIiIiL7/J5p9gD1dvF51
48eNcn4uf53n2P1ZLKUOpnkMCtYx0kkAt00F8gkAtsxFQBJpPAEWgxRGgCLScAopAq2NAEWhzAigC
53c0ARaD7U0AR6OEMUAR6nAOKQE/ngCLQ8wWgCLRdAIpAL5eAItDrFaAI9LYEFIHerwFFoI8bQBHo
6cwUoAn3dAopA32tAEehnAygKjPu/xjyHBAY0WQDQL+0BBKhtYSVIgiSo6w+xiqmYiqnYX34J2SAb
7ZINskA1qa4EESZAEdW1B15e7g9xBbf2VIAmSICPtDmprgQRJkAR1bUHXl7uD3EFt/ZUgCZIgI+0O
8amuBBEnQP07QDo1OW207QPoWAAAAAElFTkSuQmCC
9</one:Data></one:Image></one:Page>
corpus/m6/native-expanded-control-ui-01/read/page-017.pdf created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/read/page-017.pdf differ
corpus/m6/native-expanded-control-ui-01/read/page-017.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EEC0EBD1-BCA4-04CF-1581-C1F540980D0E}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:57.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{1CA8FF10-413B-09A5-0EC6-907EDF12FDA5}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{1CA8FF10-413B-09A5-0EC6-907EDF12FDA5}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="266.8237915039062" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{1CA8FF10-413B-09A5-0EC6-907EDF12FDA5}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group B/Nested/Duplicate.one, level 1]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-expanded-control-ui-01/read/page-018.pdf created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/read/page-018.pdf differ
corpus/m6/native-expanded-control-ui-01/read/page-018.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{F40778E5-4A16-0CC5-06BF-5A46F1FF9CA8}{1}{B0}" name="Numbering controls" dateTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T06:00:58.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Numbering controls]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="125.0376281738281" height="137.070068359375"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{40}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="0" numberFormat="##" restartNumberingAt="3" font="Calibri" text="3"/></one:List><one:T><![CDATA[Sequence 0, item 0]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{46}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="0" numberFormat="##" font="Calibri" text="4"/></one:List><one:T><![CDATA[Sequence 0, item 1]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{52}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="1" numberFormat="##" restartNumberingAt="3" font="Calibri" text="III"/></one:List><one:T><![CDATA[Sequence 1, item 0]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{58}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="1" numberFormat="##" font="Calibri" text="IV"/></one:List><one:T><![CDATA[Sequence 1, item 1]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{64}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="2" numberFormat="##" restartNumberingAt="3" font="Calibri" text="iii"/></one:List><one:T><![CDATA[Sequence 2, item 0]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{70}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="2" numberFormat="##" font="Calibri" text="iv"/></one:List><one:T><![CDATA[Sequence 2, item 1]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{76}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="3" numberFormat="##" restartNumberingAt="3" font="Calibri" text="C"/></one:List><one:T><![CDATA[Sequence 3, item 0]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{82}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="3" numberFormat="##" font="Calibri" text="D"/></one:List><one:T><![CDATA[Sequence 3, item 1]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{88}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="4" numberFormat="##" restartNumberingAt="3" font="Calibri" text="c"/></one:List><one:T><![CDATA[Sequence 4, item 0]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{94}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="4" numberFormat="##" font="Calibri" text="d"/></one:List><one:T><![CDATA[Sequence 4, item 1]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-expanded-control-ui-01/read/page-019.pdf created
Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/read/page-019.pdf differ
corpus/m6/native-expanded-control-ui-01/read/page-019.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{FAF3951F-EA54-0DDA-2D09-FE9DEFE4F065}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:59.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{7E4D93AE-D4AA-0AC6-3104-9CCB6203D325}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{7E4D93AE-D4AA-0AC6-3104-9CCB6203D325}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="231.1436157226562" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{7E4D93AE-D4AA-0AC6-3104-9CCB6203D325}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group A/Duplicate.one, level 1]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-expanded-control-ui-01/read/payloads.json created+18
...@@ -0,0 +1,18 @@
1[
2 {
3 "sha256": "4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2",
4 "name": "Fictitious attachment.txt",
5 "object": "{2E7BA99D-CDED-080F-2255-D01592C0E5C8}{40}{B0}",
6 "kind": "InsertedFile",
7 "page": "{34619019-150E-06C2-3149-42A4E92723BF}{1}{B0}",
8 "bytes": 27
9 },
10 {
11 "sha256": "56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9",
12 "name": "silence.wav",
13 "object": "{2E7BA99D-CDED-080F-2255-D01592C0E5C8}{44}{B0}",
14 "kind": "MediaFile",
15 "page": "{34619019-150E-06C2-3149-42A4E92723BF}{1}{B0}",
16 "bytes": 16044
17 }
18]
\ No newline at end of file
corpus/m6/native-expanded-control-ui-01/run.json created+17
...@@ -0,0 +1,17 @@
1{
2 "notebook": "/Users/clo/dev/one/corpus/m6/native-features-01/notebook",
3 "expected_pages": 20,
4 "author": null,
5 "author_timeout_seconds": 600,
6 "inspect": true,
7 "base": {
8 "file": "win7-office-base.qcow2",
9 "format": "qcow2",
10 "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346",
11 "virtual_size": 68719476736
12 },
13 "scripts": {
14 "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
15 "read.ps1": "086789e467779add0fc071ad8c524c2b02d3d0d609aea4a41f3128cadba371e8"
16 }
17}
corpus/m6/native-expanded-control-ui-01/scripts/cold.ps1 created+27
...@@ -0,0 +1,27 @@
1param([Parameter(Mandatory=$true)][string]$Root, [string]$CloneHost = '')
2Set-StrictMode -Version Latest
3$ErrorActionPreference = 'Stop'
4$root = [IO.Path]::GetFullPath($Root).TrimEnd('\')
5if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') {
6 throw 'Choose a run directly below C:\one-tests\runs.'
7}
8if (Get-Process ONENOTE -ErrorAction SilentlyContinue) { throw 'Close OneNote before resetting its test cache.' }
9$key = 'HKCU:\Software\Microsoft\Office\14.0\OneNote'
10if ($CloneHost) {
11 if ($CloneHost -notmatch '^ONE-[A-Z0-9-]+$' -or [Environment]::MachineName -ne $CloneHost) {
12 throw 'The disposable clone hostname does not match this machine.'
13 }
14 New-Item "$key\Options\Paths" -Force | Out-Null
15 New-ItemProperty "$key\Options\Paths" -Name UnfiledNotesSection -PropertyType ExpandString -Value 'C:\one-tests\Loose.one' -Force | Out-Null
16} elseif ((Get-ItemProperty "$key\Options\Paths").UnfiledNotesSection -ne 'C:\one-tests\Loose.one' -or
17 -not (Test-Path 'C:\one-tests\profile-original-cache')) {
18 throw 'Park the personal OneNote profile before resetting the test cache.'
19}
20$cache = Join-Path $env:LOCALAPPDATA 'Microsoft\OneNote\14.0'
21$parked = Join-Path 'C:\one-tests\caches' ([IO.Path]::GetFileName($root))
22if (Test-Path $parked) { throw 'Choose a new run; its parked cache already exists.' }
23New-Item -ItemType Directory -Path 'C:\one-tests\caches' -Force | Out-Null
24if (Test-Path $cache) { Move-Item -LiteralPath $cache -Destination $parked }
25if (Test-Path "$key\OpenNotebooks") { Remove-Item "$key\OpenNotebooks" -Recurse }
26New-Item "$key\OpenNotebooks" | Out-Null
27New-ItemProperty "$key\OpenNotebooks" -Name '1' -PropertyType String -Value "$root\notebook" | Out-Null
corpus/m6/native-expanded-control-ui-01/scripts/read.ps1 created+139
...@@ -0,0 +1,139 @@
1param(
2 [Parameter(Mandatory=$true)][string]$Root,
3 [int]$ExpectedPages = -1,
4 [switch]$UseCurrentCache,
5 [switch]$Pdf,
6 [switch]$KeepOpen,
7 [string]$CloneHost = ''
8)
9Set-StrictMode -Version Latest
10$ErrorActionPreference = 'Stop'
11$root = [IO.Path]::GetFullPath($Root).TrimEnd('\')
12if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') {
13 throw 'Choose a run directly below C:\one-tests\runs.'
14}
15$notebook = Join-Path $root 'notebook'
16$output = Join-Path $root 'read'
17if (Test-Path $output) { throw 'Choose a new read destination.' }
18if ($UseCurrentCache) {
19 if ((Get-ItemProperty 'HKCU:\Software\Microsoft\Office\14.0\OneNote\Options\Paths').UnfiledNotesSection -ne 'C:\one-tests\Loose.one') {
20 throw 'Park the personal OneNote profile before reading test notebooks.'
21 }
22} else {
23 & "$PSScriptRoot\cold-current.ps1" -Root $root -CloneHost $CloneHost
24}
25New-Item -ItemType Directory -Path $output | Out-Null
26$app = New-Object -ComObject OneNote.Application
27$notebookId = ''
28$failure = $null
29try {
30 $app.OpenHierarchy($notebook, '', [ref]$notebookId, 0)
31 $process = Get-Process ONENOTE
32 @{ hostname = [Environment]::MachineName; onenote = $process.MainModule.FileVersionInfo.FileVersion;
33 powershell = $PSVersionTable.PSVersion.ToString(); schema = 'xs2010'; cold = (-not $UseCurrentCache.IsPresent) } |
34 ConvertTo-Json | Set-Content (Join-Path $output 'environment.json') -Encoding UTF8
35 $sections = @()
36 foreach ($file in @(Get-ChildItem $notebook -Recurse | Where-Object { $_.Extension -eq '.one' })) {
37 $id = ''
38 $app.OpenHierarchy($file.FullName, '', [ref]$id, 0)
39 $sections += $id
40 }
41 $deadline = [DateTime]::UtcNow.AddSeconds(300)
42 $previous = ''
43 $stableSince = [DateTime]::UtcNow
44 $settled = $false
45 do {
46 $pages = @{}
47 foreach ($section in $sections) {
48 $hierarchy = ''
49 $app.GetHierarchy($section, 4, [ref]$hierarchy, 1)
50 [xml]$xml = $hierarchy
51 foreach ($node in $xml.SelectNodes('//*[@path]')) {
52 if (-not $node.GetAttribute('path').StartsWith("$notebook\", [StringComparison]::OrdinalIgnoreCase)) {
53 throw 'OneNote opened a section outside the copied notebook.'
54 }
55 }
56 foreach ($node in $xml.SelectNodes('//*[local-name()="Page"]')) {
57 $id = $node.GetAttribute('ID')
58 $content = ''
59 $app.GetPageContent($id, [ref]$content, 1, 1)
60 $pages[$id] = $content
61 }
62 }
63 $signature = [String]::Join('|', @($pages.Keys | Sort-Object | ForEach-Object { $_ + $pages[$_] }))
64 if ($signature -ne $previous) {
65 $previous = $signature
66 $stableSince = [DateTime]::UtcNow
67 }
68 if ((($ExpectedPages -ge 0 -and $pages.Count -eq $ExpectedPages) -or
69 ($ExpectedPages -lt 0 -and $pages.Count -gt 0)) -and
70 ([DateTime]::UtcNow - $stableSince).TotalSeconds -ge 2) { $settled = $true; break }
71 Start-Sleep -Milliseconds 250
72 } while ([DateTime]::UtcNow -lt $deadline)
73 if (-not $settled -or ($ExpectedPages -ge 0 -and $pages.Count -ne $ExpectedPages) -or ($ExpectedPages -lt 0 -and $pages.Count -eq 0)) {
74 $index = 0
75 foreach ($id in @($pages.Keys | Sort-Object)) {
76 [IO.File]::WriteAllText((Join-Path $output ('unsettled-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8)
77 $index++
78 }
79 $hierarchy = ''
80 $app.GetHierarchy($notebookId, 4, [ref]$hierarchy, 1)
81 [IO.File]::WriteAllText((Join-Path $output 'unsettled-hierarchy.xml'), $hierarchy, [Text.Encoding]::UTF8)
82 throw "Expected $ExpectedPages pages; OneNote returned $($pages.Count)."
83 }
84 $index = 0
85 $payloads = @()
86 foreach ($id in @($pages.Keys | Sort-Object)) {
87 [IO.File]::WriteAllText((Join-Path $output ('page-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8)
88 if ($Pdf) {
89 $pdfPath = Join-Path $output ('page-{0:d3}.pdf' -f $index)
90 $app.NavigateTo($id, '', $false)
91 $app.Publish($id, $pdfPath, 3, '')
92 if (-not (Test-Path $pdfPath) -or (Get-Item $pdfPath).Length -eq 0) { throw 'OneNote did not publish the page PDF.' }
93 }
94 [xml]$page = $pages[$id]
95 foreach ($file in $page.SelectNodes('//*[local-name()="InsertedFile" or local-name()="MediaFile"]')) {
96 $bytes = [IO.File]::ReadAllBytes($file.GetAttribute('pathCache'))
97 $hash = [BitConverter]::ToString([Security.Cryptography.SHA256]::Create().ComputeHash($bytes)).Replace('-', '').ToLowerInvariant()
98 [IO.File]::WriteAllBytes((Join-Path $output ($hash + '.attachment')), $bytes)
99 $payloads += @{ page = $id; object = $file.ParentNode.GetAttribute('objectID');
100 kind = $file.LocalName; name = $file.GetAttribute('preferredName');
101 sha256 = $hash; bytes = $bytes.Length }
102 }
103 $index++
104 }
105 [IO.File]::WriteAllText((Join-Path $output 'payloads.json'), (ConvertTo-Json -InputObject $payloads -Depth 4), [Text.Encoding]::UTF8)
106 $all = ''
107 $app.GetHierarchy($notebookId, 4, [ref]$all, 1)
108 [xml]$finalTree = $all
109 $finalIds = @($finalTree.SelectNodes('//*[local-name()="Page"]') | ForEach-Object { $_.GetAttribute('ID') } | Sort-Object -Unique)
110 if ($finalIds.Count -ne $pages.Count -or @($finalIds | Where-Object { -not $pages.ContainsKey($_) }).Count -ne 0) {
111 throw 'The notebook hierarchy changed while collecting page evidence; repeat the cold read.'
112 }
113 [IO.File]::WriteAllText((Join-Path $output 'hierarchy.xml'), $all, [Text.Encoding]::UTF8)
114 Write-Output "Read $($sections.Count) sections and $($pages.Count) pages."
115} catch {
116 $failure = $_
117 [IO.File]::WriteAllText((Join-Path $output 'failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8)
118 throw
119} finally {
120 try {
121 try {
122 if ($notebookId -and $CloneHost) { $app.SyncHierarchy($notebookId) }
123 if ($notebookId -and -not $KeepOpen -and (-not $UseCurrentCache -or $CloneHost)) {
124 $app.CloseNotebook($notebookId, $false)
125 }
126 } catch {
127 if ($null -eq $failure) { throw }
128 [IO.File]::WriteAllText((Join-Path $output 'cleanup-failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8)
129 }
130 } finally {
131 [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
132 }
133 $app = $null
134 [GC]::Collect()
135 [GC]::WaitForPendingFinalizers()
136 if (-not $UseCurrentCache -and -not $CloneHost) {
137 Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10
138 }
139}
corpus/m6/native-expanded-control-ui-01/source.json created+110
...@@ -0,0 +1,110 @@
1[
2 {
3 "path": "Empty.one",
4 "bytes": 4016,
5 "sha256": "9e99f8508837f3abe2874ccbd42bea9954ff01a596e3d4e8d1a01bc377b5a0df",
6 "mtime_ns": 1788661593561895158
7 },
8 {
9 "path": "Features.one",
10 "bytes": 121240,
11 "sha256": "97431f8b3d13096d74d95f72470d681792d5506df0692d2b72921031a6ade8c2",
12 "mtime_ns": 1788661593562175073
13 },
14 {
15 "path": "Group A/Duplicate.one",
16 "bytes": 23504,
17 "sha256": "77d0ffb49f308122e1a9155d0941ccecece888cb8f9af395697569a7be70d308",
18 "mtime_ns": 1788661593563832275
19 },
20 {
21 "path": "Group A/Open Notebook.onetoc2",
22 "bytes": 3760,
23 "sha256": "945d36daadca6eef55cc34107f6415356836ec79ca2b484a7f1adc0643fa27e0",
24 "mtime_ns": 1788661593563917316
25 },
26 {
27 "path": "Group B/Nested/Duplicate.one",
28 "bytes": 23424,
29 "sha256": "952dd1766415dd2c622d6981eb1eb6bf9d3415abf50735048529240c6ae40343",
30 "mtime_ns": 1788661593564205357
31 },
32 {
33 "path": "Group B/Nested/Open Notebook.onetoc2",
34 "bytes": 3760,
35 "sha256": "12e9cefade3dfdce9ad27bdc678b6401c71a5ab0fbeb260f94febc6c74fa0bc2",
36 "mtime_ns": 1788661593564303940
37 },
38 {
39 "path": "Group B/Open Notebook.onetoc2",
40 "bytes": 3736,
41 "sha256": "0f6318eae2aee05a8f909f009b7ef948e1e7973c34bc348659b7f5cf5dd63f4d",
42 "mtime_ns": 1788661593564040816
43 },
44 {
45 "path": "Open Notebook.onetoc2",
46 "bytes": 5364,
47 "sha256": "06ec4fb5b2454514eafae121f3f740c443053f8a4c857e6eb0dc59e5f8024233",
48 "mtime_ns": 1788661593562572238
49 },
50 {
51 "path": "fixture-data/Open Notebook.onetoc2",
52 "bytes": 3656,
53 "sha256": "7b2c9d872dfbec669423821452b76d9cca25d2eea83034623ecaf4cf601848ce",
54 "mtime_ns": 1788661593562956029
55 },
56 {
57 "path": "fixture-data/attachment.txt",
58 "bytes": 27,
59 "sha256": "4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2",
60 "mtime_ns": 1788661593562850321
61 },
62 {
63 "path": "fixture-data/pattern.bmp",
64 "bytes": 18486,
65 "sha256": "d7802912d031a974c277d1500f845faf7d1d5dc3dd9d5a3daf69c44db8d9dbf5",
66 "mtime_ns": 1788661593563127403
67 },
68 {
69 "path": "fixture-data/pattern.gif",
70 "bytes": 3902,
71 "sha256": "e0d351f33d156bf3d77b4912269768e2261c0c4850a8e78a87c245a2db2c5953",
72 "mtime_ns": 1788661593563230986
73 },
74 {
75 "path": "fixture-data/pattern.jpg",
76 "bytes": 1071,
77 "sha256": "bf7ef0fb92642d75f186c27a0ba662138c7c3f9ea85b1c478805a229cda451ed",
78 "mtime_ns": 1788661593563318944
79 },
80 {
81 "path": "fixture-data/pattern.png",
82 "bytes": 250,
83 "sha256": "02065dc5a46ae9a4adc68d0fff2641b62cedaa396f59f93ec6ac79c8b358904a",
84 "mtime_ns": 1788661593563399569
85 },
86 {
87 "path": "fixture-data/pattern.tiff",
88 "bytes": 18572,
89 "sha256": "fbbc74945e085389c3e994bfab64c26144056066e0d631512e62a3007b373427",
90 "mtime_ns": 1788661593563547193
91 },
92 {
93 "path": "fixture-data/silence.wav",
94 "bytes": 16044,
95 "sha256": "56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9",
96 "mtime_ns": 1788661593563674442
97 },
98 {
99 "path": "fixture.json",
100 "bytes": 12415,
101 "sha256": "d3c2142230816e8717c7612a5d2ca816a7551cebc2bc445846f3824d3a44dbc3",
102 "mtime_ns": 1788661593562325448
103 },
104 {
105 "path": "synthetic.one",
106 "bytes": 7428,
107 "sha256": "eb1e702f86562e91efcabf0065211efdeaf39bdc977beb82382faf901bf3b2c4",
108 "mtime_ns": 1788661593562715779
109 }
110]
corpus/m6/native-expanded-control-ui-01/teardown.json created+1
...@@ -0,0 +1 @@
1{"absent": true}
corpus/m6/native-expanded-control-ui-01/ui-operation.json created+5
...@@ -0,0 +1,5 @@
1{
2 "page_id": "{D0D04EF0-C565-0ED4-2AB4-711BAE6015ED}{1}{B0}",
3 "action": "Double-click the collapsed paragraph handle at (120,317).",
4 "observed": "Hidden child remains stored and Grandchild become visible."
5}
\ No newline at end of file
corpus/m6/native-features-01/ORACLE.md created+46
...@@ -0,0 +1,46 @@
1# Native feature controls
2
3OneNote 14.0.4763.1000 authored 19 pages alongside the Rust seed page, then
4exported XML, PDFs and attachment bytes. The frozen input is
5[notebook/fixture.json](notebook/fixture.json); [scripts/author.ps1](scripts/author.ps1)
6contains the executed author. The input generator validates every page against
7the unmodified [2010 COM schema](../../../resources/onenote2010-com/SOURCE.md).
8
9The fixture covers PNG/JPEG/BMP/TIFF/GIF import, alternative text and image links,
10all four background/printout flag combinations, an attachment, a WAV recording
11and its timed annotation, inherited strikethrough and paragraph spacing, RTL,
12collapsed nested paragraphs, repeated breaks, numbering formats 0–4, a disabled
13task with identity and dates, duplicate titles, three page levels, nested section
14groups, duplicate section names in different groups, and an empty section.
15Native XML exports BMP, TIFF and GIF images as PNG; JPEG remains JPEG.
16The stored TIFF payload remains TIFF. The report preserves it and creates a
17PNG browser preview whose pixels are checked against the native XML export.
18
19The printout controls isolate a native framing distinction. All four inputs
20request 288 × 192 points. Without `isPrintOut`, stored layout maxima are exactly
21288 × 192. With it, they are 286.56 × 190.56, independently of `backgroundImage`.
22Native XML includes the 0.72-point border on each side; native PDF bitmap bounds
23agree with the smaller stored dimensions within PDF coordinate rounding.
24The corresponding stored Boolean is `0x08001d85`; the model retains both flags
25and exposes the bitmap dimensions without adding the frame to them.
26
27The recording GUID is stored in `0x1c001c97`. Its annotation stores the same GUID
28in `0x1c001c98` and 500 milliseconds in `0x14001c99`, agreeing with native
29`MediaIndex`. The WAV payload is checked byte-for-byte against the native cache.
30COM import does not set `IRecordMedia` for this fixture; the model leaves that
31property absent. The separate private video has the documented value 2.
32
33The task's GUID, disabled/completed bits and four dates are checked against
34`OutlookTask`. Numbering format 0 ends in a meaningful UTF-16 NUL code, which
35must survive decoding. Rust assertions are in [tests/document.rs](../../../tests/document.rs).
36
37Reproduce the native semantic comparison with the bundled Python runtime:
38
39```sh
40cargo build --example document
41python3 tools/verify-document.py corpus/m6/native-features-01/notebook corpus/m6/native-features-01/read
42```
43
44The comparison passed 20 pages, the task association and 8,576 explicit
45character-format comparisons. These results establish model and native
46agreement; report visual inspection is a separate acceptance gate.
corpus/m6/native-features-01/agent.py created+439
...@@ -0,0 +1,439 @@
1import base64
2import ctypes
3import hashlib
4import json
5import os
6import struct
7import subprocess
8import sys
9import tempfile
10import threading
11import time
12import zlib
13from ctypes import wintypes
14from http.server import ThreadingHTTPServer, BaseHTTPRequestHandler
15
16BASE = os.path.dirname(os.path.abspath(__file__))
17with open(__file__, 'rb') as source:
18 AGENT_SHA256 = hashlib.sha256(source.read()).hexdigest()
19LOCK = threading.Lock()
20
21user32 = ctypes.windll.user32
22gdi32 = ctypes.windll.gdi32
23
24SRCCOPY = 0x00CC0020
25CAPTUREBLT = 0x40000000
26BI_RGB = 0
27DIB_RGB_COLORS = 0
28
29# restype must be set on x64: the default c_int return truncates a 64-bit HANDLE.
30user32.GetDC.restype = wintypes.HDC
31user32.GetDC.argtypes = [wintypes.HWND]
32user32.ReleaseDC.restype = ctypes.c_int
33user32.ReleaseDC.argtypes = [wintypes.HWND, wintypes.HDC]
34user32.GetSystemMetrics.restype = ctypes.c_int
35user32.GetSystemMetrics.argtypes = [ctypes.c_int]
36gdi32.CreateCompatibleDC.restype = wintypes.HDC
37gdi32.CreateCompatibleDC.argtypes = [wintypes.HDC]
38gdi32.CreateCompatibleBitmap.restype = wintypes.HBITMAP
39gdi32.CreateCompatibleBitmap.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int]
40gdi32.SelectObject.restype = wintypes.HGDIOBJ
41gdi32.SelectObject.argtypes = [wintypes.HDC, wintypes.HGDIOBJ]
42gdi32.BitBlt.restype = wintypes.BOOL
43gdi32.BitBlt.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int, ctypes.c_int,
44 ctypes.c_int, wintypes.HDC, ctypes.c_int, ctypes.c_int,
45 wintypes.DWORD]
46gdi32.GetDIBits.restype = ctypes.c_int
47gdi32.GetDIBits.argtypes = [wintypes.HDC, wintypes.HBITMAP, wintypes.UINT,
48 wintypes.UINT, ctypes.c_void_p, ctypes.c_void_p,
49 wintypes.UINT]
50gdi32.DeleteObject.restype = wintypes.BOOL
51gdi32.DeleteObject.argtypes = [wintypes.HGDIOBJ]
52gdi32.DeleteDC.restype = wintypes.BOOL
53gdi32.DeleteDC.argtypes = [wintypes.HDC]
54
55WNDENUMPROC = ctypes.WINFUNCTYPE(wintypes.BOOL, wintypes.HWND, wintypes.LPARAM)
56user32.GetForegroundWindow.restype = wintypes.HWND
57user32.GetForegroundWindow.argtypes = []
58user32.GetWindowTextW.restype = ctypes.c_int
59user32.GetWindowTextW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int]
60user32.GetClassNameW.restype = ctypes.c_int
61user32.GetClassNameW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int]
62user32.GetClientRect.restype = wintypes.BOOL
63user32.GetClientRect.argtypes = [wintypes.HWND, ctypes.POINTER(wintypes.RECT)]
64user32.EnumChildWindows.restype = wintypes.BOOL
65user32.EnumChildWindows.argtypes = [wintypes.HWND, WNDENUMPROC, wintypes.LPARAM]
66
67
68class BITMAPINFOHEADER(ctypes.Structure):
69 _fields_ = [("biSize", wintypes.DWORD),
70 ("biWidth", wintypes.LONG),
71 ("biHeight", wintypes.LONG),
72 ("biPlanes", wintypes.WORD),
73 ("biBitCount", wintypes.WORD),
74 ("biCompression", wintypes.DWORD),
75 ("biSizeImage", wintypes.DWORD),
76 ("biXPelsPerMeter", wintypes.LONG),
77 ("biYPelsPerMeter", wintypes.LONG),
78 ("biClrUsed", wintypes.DWORD),
79 ("biClrImportant", wintypes.DWORD)]
80
81
82PREAMBLE = (
83 "#Requires AutoHotkey v2.0\n"
84 "#SingleInstance Off\n"
85 "#Warn All, Off\n"
86 'FileEncoding "UTF-8-RAW"\n'
87 'SendMode "Input"\n'
88 "SetWorkingDir A_ScriptDir\n"
89 'CoordMode "Mouse", "Screen"\n'
90 'CoordMode "Pixel", "Screen"\n'
91 'CoordMode "ToolTip", "Screen"\n'
92 "SetTitleMatchMode 2\n"
93 "DetectHiddenWindows true\n"
94)
95
96
97def ahk_path():
98 u64 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey64.exe")
99 u32 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey32.exe")
100 return u64 if os.path.exists(u64) else u32
101
102
103def _chunk(tag, data):
104 return (struct.pack(">I", len(data)) + tag + data +
105 struct.pack(">I", zlib.crc32(tag + data) & 0xffffffff))
106
107
108def _to_png(bgra, w, h):
109 arr = bytearray(bgra)
110 r = arr[2::4]
111 arr[2::4] = arr[0::4]
112 arr[0::4] = r
113 del arr[3::4]
114 stride = w * 3
115 mv = memoryview(arr)
116 raw = bytearray()
117 for y in range(h):
118 raw.append(0)
119 raw += mv[y * stride:(y + 1) * stride]
120 ihdr = struct.pack(">IIBBBBB", w, h, 8, 2, 0, 0, 0)
121 return (b"\x89PNG\r\n\x1a\n" + _chunk(b"IHDR", ihdr) +
122 _chunk(b"IDAT", zlib.compress(bytes(raw))) + _chunk(b"IEND", b""))
123
124
125def capture():
126 w = user32.GetSystemMetrics(0)
127 h = user32.GetSystemMetrics(1)
128 hdc = user32.GetDC(None)
129 mem = None
130 hbm = None
131 try:
132 mem = gdi32.CreateCompatibleDC(hdc)
133 hbm = gdi32.CreateCompatibleBitmap(hdc, w, h)
134 old = gdi32.SelectObject(mem, hbm)
135 gdi32.BitBlt(mem, 0, 0, w, h, hdc, 0, 0, SRCCOPY | CAPTUREBLT)
136 gdi32.SelectObject(mem, old)
137 bmi = BITMAPINFOHEADER()
138 bmi.biSize = ctypes.sizeof(BITMAPINFOHEADER)
139 bmi.biWidth = w
140 bmi.biHeight = -h # negative => top-down rows, matches screenshot orientation
141 bmi.biPlanes = 1
142 bmi.biBitCount = 32
143 bmi.biCompression = BI_RGB
144 buf = ctypes.create_string_buffer(w * h * 4)
145 if gdi32.GetDIBits(mem, hbm, 0, h, buf, ctypes.byref(bmi),
146 DIB_RGB_COLORS) == 0:
147 raise RuntimeError("GetDIBits failed")
148 data = buf.raw
149 finally:
150 if hbm:
151 gdi32.DeleteObject(hbm)
152 if mem:
153 gdi32.DeleteDC(mem)
154 user32.ReleaseDC(None, hdc)
155 return _to_png(data, w, h), w, h
156
157
158def _win_text(fn, hwnd, n=512):
159 buf = ctypes.create_unicode_buffer(n)
160 fn(hwnd, buf, n)
161 return buf.value
162
163
164def active_window():
165 hwnd = user32.GetForegroundWindow()
166 if not hwnd:
167 return {"title": "", "class": "", "dialog": False}
168 cls = _win_text(user32.GetClassNameW, hwnd)
169 return {"title": _win_text(user32.GetWindowTextW, hwnd),
170 "class": cls, "dialog": cls == "#32770"}
171
172
173def control_tree():
174 hwnd = user32.GetForegroundWindow()
175 rows = []
176
177 def add(h):
178 rect = wintypes.RECT()
179 user32.GetClientRect(h, ctypes.byref(rect))
180 rows.append((_win_text(user32.GetClassNameW, h),
181 _win_text(user32.GetWindowTextW, h),
182 rect.left, rect.top,
183 rect.right - rect.left, rect.bottom - rect.top))
184
185 if hwnd:
186 add(hwnd)
187
188 def cb(child, _lparam):
189 add(child)
190 return True
191 user32.EnumChildWindows(hwnd, WNDENUMPROC(cb), 0)
192 lines = ["%-24s %-28s %s" % ("class", "text", "l,t,w,h")]
193 for cls, text, l, t, w, h in rows:
194 lines.append("%-24s %-28s %d,%d,%d,%d" % (cls, text, l, t, w, h))
195 return "\n".join(lines)
196
197
198def _run(argv, timeout_ms, encoding, on_timeout=None):
199 def dec(b):
200 return b.decode(encoding, "replace") if b else ""
201
202 p = subprocess.Popen(argv, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
203 try:
204 out, err = p.communicate(timeout=timeout_ms / 1000.0)
205 return p.returncode, dec(out), dec(err), None
206 except subprocess.TimeoutExpired:
207 if on_timeout:
208 on_timeout()
209 subprocess.call(["taskkill", "/F", "/T", "/PID", str(p.pid)])
210 try:
211 # A process the script launched can outlive taskkill still holding the
212 # inherited stdout pipe; an unbounded wait here wedges the agent's lock.
213 out, err = p.communicate(timeout=5)
214 except subprocess.TimeoutExpired:
215 out = err = b""
216 for pipe in (p.stdout, p.stderr):
217 if pipe:
218 pipe.close()
219 msg = "timed out after %d ms, process killed" % timeout_ms
220 return None, dec(out), dec(err), msg
221
222
223def run_ahk(script, timeout_ms, on_timeout=None):
224 fd, path = tempfile.mkstemp(suffix=".ahk")
225 os.close(fd)
226 # AutoHotkey (Unicode-only) needs a UTF-8 BOM to read the file as UTF-8.
227 with open(path, "wb") as f:
228 f.write(b"\xef\xbb\xbf" + (PREAMBLE + script).encode("utf-8"))
229 try:
230 # /ErrorStdOut sends syntax errors to stderr instead of a blocking modal.
231 code, out, err, error = _run([ahk_path(), "/ErrorStdOut", path], timeout_ms,
232 "utf-8", on_timeout)
233 finally:
234 os.remove(path)
235 if error:
236 error = "script " + error
237 return code, out, err, error
238
239
240def _safe_capture(error):
241 try:
242 png, w, h = capture()
243 return base64.b64encode(png).decode("ascii"), w, h, error
244 except Exception as e:
245 note = "screenshot failed: " + repr(e)
246 return "", 0, 0, (error + "; " + note if error else note)
247
248
249LOG_PATH = os.path.join(BASE, "agent.log")
250LOG_LOCK = threading.Lock()
251
252
253def log(text, stamp=True):
254 """Console and agent.log, so a session can be reconstructed after the fact."""
255 line = time.strftime("%Y-%m-%d %H:%M:%S ") + text if stamp else text
256 with LOG_LOCK:
257 print(line, end="" if line.endswith("\n") else "\n", flush=True)
258 try:
259 with open(LOG_PATH, "a", encoding="utf-8") as f:
260 f.write(line if line.endswith("\n") else line + "\n")
261 except OSError:
262 pass # a log that cannot be written must not take the agent down
263
264
265class Handler(BaseHTTPRequestHandler):
266 def log_message(self, *a):
267 pass
268
269 def _send(self, code, obj):
270 body = json.dumps(obj).encode("utf-8")
271 self.send_response(code)
272 self.send_header("Content-Type", "application/json")
273 self.send_header("Content-Length", str(len(body)))
274 self.end_headers()
275 self.wfile.write(body)
276
277 def _log(self, start, code, body=None):
278 log("%s %s %dms exit=%s" % (self.command, self.path,
279 int((time.time() - start) * 1000), code))
280 if body:
281 log("".join(" | %s\n" % l for l in body.splitlines()), stamp=False)
282
283 def _auth_ok(self):
284 token = os.environ.get("WIN7_TOKEN")
285 return not token or self.headers.get("X-Win7-Token") == token
286
287 def _body(self):
288 n = int(self.headers.get("Content-Length") or 0)
289 raw = self.rfile.read(n) if n else b""
290 return json.loads(raw.decode("utf-8")) if raw else {}
291
292 def do_GET(self):
293 start = time.time()
294 if not self._auth_ok():
295 self._send(401, {"error": "bad token"})
296 elif self.path == "/health":
297 self._send(200, {"ok": True, "w": user32.GetSystemMetrics(0),
298 "h": user32.GetSystemMetrics(1),
299 "hostname": os.environ.get("COMPUTERNAME", ""),
300 "ahk": ahk_path(), "python": sys.executable,
301 "agent_sha256": AGENT_SHA256})
302 else:
303 self._send(404, {"error": "not found"})
304 self._log(start, None)
305
306 def do_POST(self):
307 start = time.time()
308 code = None
309 if not self._auth_ok():
310 self._send(401, {"error": "bad token"})
311 self._log(start, None)
312 return
313 try:
314 data = self._body()
315 except Exception:
316 self._send(400, {"error": "bad json"})
317 self._log(start, None)
318 return
319 body = {"/exec": data.get("script"), "/cmd": data.get("command"),
320 "/spawn": data.get("command"),
321 "/put": data.get("path"), "/get": data.get("path")}.get(self.path)
322 try:
323 if self.path == "/exec":
324 resp = self._exec(data)
325 code = resp["exit"]
326 elif self.path == "/cmd":
327 resp = self._cmd(data)
328 code = resp["exit"]
329 elif self.path == "/spawn":
330 resp = self._spawn(data)
331 code = 0
332 elif self.path == "/put":
333 resp = self._put(data)
334 elif self.path == "/get":
335 resp = self._get(data)
336 elif self.path == "/shot":
337 resp = self._shot()
338 elif self.path == "/ui":
339 resp = self._ui()
340 else:
341 self._send(404, {"error": "not found"})
342 self._log(start, None)
343 return
344 self._send(200, resp)
345 except Exception as e:
346 self._send(200, {"error": repr(e), "exit": None, "stdout": "",
347 "stderr": "", "png_b64": "", "w": 0, "h": 0})
348 self._log(start, code, body)
349
350 def _exec(self, data):
351 pre = []
352
353 def grab(): # capture before taskkill so the blocker is still on screen
354 pre.append((_safe_capture(None), active_window()))
355
356 with LOCK:
357 code, out, err, error = run_ahk(data.get("script", ""),
358 data.get("timeout_ms", 60000), grab)
359 if pre:
360 (b64, w, h, note), win = pre[0]
361 else:
362 time.sleep(data.get("shot_delay_ms", 500) / 1000.0)
363 b64, w, h, note = _safe_capture(None)
364 win = active_window()
365 if note:
366 error = error + "; " + note if error else note
367 return {"exit": code, "stdout": out, "stderr": err, "png_b64": b64,
368 "w": w, "h": h, "error": error, "win": win}
369
370 def _put(self, data):
371 path = data.get("path", "")
372 blob = base64.b64decode(data.get("b64", ""))
373 parent = os.path.dirname(path)
374 if parent and not os.path.isdir(parent):
375 os.makedirs(parent)
376 with open(path, "wb") as f:
377 f.write(blob)
378 return {"bytes": len(blob), "path": os.path.abspath(path), "error": None}
379
380 def _get(self, data):
381 with open(data.get("path", ""), "rb") as f:
382 blob = f.read()
383 return {"b64": base64.b64encode(blob).decode("ascii"), "bytes": len(blob),
384 "error": None}
385
386 def _cmd(self, data):
387 with LOCK:
388 # A raw command-line string, not a list: on Windows list2cmdline would
389 # backslash-escape the embedded quotes before cmd.exe ever sees them.
390 code, out, err, error = _run("cmd.exe /c " + data.get("command", ""),
391 data.get("timeout_ms", 60000), "oem")
392 return {"exit": code, "stdout": out, "stderr": err, "error": error}
393
394 def _spawn(self, data):
395 flags = subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS
396 process = subprocess.Popen(data.get("command", ""), stdin=subprocess.DEVNULL,
397 stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL,
398 close_fds=True, creationflags=flags)
399 return {"pid": process.pid, "error": None}
400
401 def _shot(self):
402 b64, w, h, error = _safe_capture(None)
403 win = active_window()
404 return {"png_b64": b64, "w": w, "h": h, "error": error, "win": win}
405
406 def _ui(self):
407 win = active_window()
408 controls = control_tree()
409 return {"win": win, "controls": controls, "error": None}
410
411
412def keep_awake():
413 """Hold the display and system awake for as long as this process lives.
414
415 Screen blanking alone is harmless -- BitBlt still captures the composited
416 desktop -- but sleep kills the agent outright, and a locked session moves
417 the desktop to Winlogon where neither AutoHotkey nor the capture can reach.
418 """
419 ES_CONTINUOUS, ES_SYSTEM_REQUIRED, ES_DISPLAY_REQUIRED = 0x80000000, 0x1, 0x2
420 kernel32 = ctypes.windll.kernel32
421 kernel32.SetThreadExecutionState.restype = wintypes.DWORD
422 kernel32.SetThreadExecutionState.argtypes = [wintypes.DWORD]
423 return kernel32.SetThreadExecutionState(
424 ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED)
425
426
427def main():
428 user32.SetProcessDPIAware()
429 awake = keep_awake()
430 port = int(os.environ.get("WIN7_PORT", "8777"))
431 srv = ThreadingHTTPServer(("0.0.0.0", port), Handler)
432 log("win7-agent listening on 0.0.0.0:%d ahk=%s log=%s%s"
433 % (port, ahk_path(), LOG_PATH,
434 "" if awake else " (WARNING: could not inhibit sleep)"))
435 srv.serve_forever()
436
437
438if __name__ == "__main__":
439 main()
corpus/m6/native-features-01/commands.jsonl created+4
...@@ -0,0 +1,4 @@
1{"command": "powershell -NoProfile -Command \"Expand-Archive -LiteralPath C:\\one-tests\\transfer.zip -DestinationPath C:\\one-tests\\runs\\capture\\notebook\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
2{"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\author.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-1FDCD415", "exit": 0, "stdout": "", "stderr": "", "error": null}
3{"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-1FDCD415 -ExpectedPages 20 -UseCurrentCache -Pdf", "exit": 0, "stdout": "Read 5 sections and 20 pages.\r\n", "stderr": "", "error": null}
4{"command": "powershell -NoProfile -Command \"Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\* -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
corpus/m6/native-features-01/format-differences.json created+1
...@@ -0,0 +1 @@
1[]
\ No newline at end of file
corpus/m6/native-features-01/geometry-differences.json created+1
...@@ -0,0 +1 @@
1[]
\ No newline at end of file
corpus/m6/native-features-01/health.json created+9
...@@ -0,0 +1,9 @@
1{
2 "ok": true,
3 "w": 800,
4 "h": 600,
5 "hostname": "ONE-M6-1FDCD415",
6 "ahk": "C:\\win7-agent\\vendor\\ahk\\AutoHotkey64.exe",
7 "python": "C:\\win7-agent\\vendor\\python\\python.exe",
8 "agent_sha256": "ef7ca89be026695cf4412460a2eec308b0ed253fb9245597a7fe5d6938e49f89"
9}
corpus/m6/native-features-01/inputs/page-000.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{CD265897-1EDE-4BC9-B383-14177FD8ABA3}{1}{B0}"><one:Title><one:OE><one:T>Image png</one:T></one:OE></one:Title><one:Image format="auto" alt="Pattern png" hyperlink="https://example.invalid/image/png"><one:Position x="72" y="108" /><one:Size width="144" height="48" /><one:File path="C:\one-tests\runs\capture\notebook\fixture-data\pattern.png" /></one:Image></one:Page>
\ No newline at end of file
corpus/m6/native-features-01/inputs/page-001.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{AFE96649-21D5-442F-B91E-CA555056AF78}{1}{B0}"><one:Title><one:OE><one:T>Image jpg</one:T></one:OE></one:Title><one:Image format="auto" alt="Pattern jpg" hyperlink="https://example.invalid/image/jpg"><one:Position x="72" y="108" /><one:Size width="144" height="48" /><one:File path="C:\one-tests\runs\capture\notebook\fixture-data\pattern.jpg" /></one:Image></one:Page>
\ No newline at end of file
corpus/m6/native-features-01/inputs/page-002.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06DBB543-1871-4A0B-97B9-22BBAD2C70C9}{1}{B0}"><one:Title><one:OE><one:T>Image bmp</one:T></one:OE></one:Title><one:Image format="auto" alt="Pattern bmp" hyperlink="https://example.invalid/image/bmp"><one:Position x="72" y="108" /><one:Size width="144" height="48" /><one:File path="C:\one-tests\runs\capture\notebook\fixture-data\pattern.bmp" /></one:Image></one:Page>
\ No newline at end of file
corpus/m6/native-features-01/inputs/page-003.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{A9A2C0E7-9A0C-40CC-A84E-CEBEA419997A}{1}{B0}"><one:Title><one:OE><one:T>Image tiff</one:T></one:OE></one:Title><one:Image format="auto" alt="Pattern tiff" hyperlink="https://example.invalid/image/tiff"><one:Position x="72" y="108" /><one:Size width="144" height="48" /><one:File path="C:\one-tests\runs\capture\notebook\fixture-data\pattern.tiff" /></one:Image></one:Page>
\ No newline at end of file
corpus/m6/native-features-01/inputs/page-004.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{606CCB26-5DAB-4FCC-9175-1FA8FC48F1AE}{1}{B0}"><one:Title><one:OE><one:T>Image gif</one:T></one:OE></one:Title><one:Image format="auto" alt="Pattern gif" hyperlink="https://example.invalid/image/gif"><one:Position x="72" y="108" /><one:Size width="144" height="48" /><one:File path="C:\one-tests\runs\capture\notebook\fixture-data\pattern.gif" /></one:Image></one:Page>
\ No newline at end of file
corpus/m6/native-features-01/inputs/page-005.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{64A7CA5E-CAF0-4477-B92C-2D82174B4F1B}{1}{B0}"><one:Title><one:OE><one:T>Image role background=false, printout=false</one:T></one:OE></one:Title><one:Image format="auto" backgroundImage="false" isPrintOut="false" originalPageNumber="2" alt="Role pattern"><one:Position x="36" y="36" /><one:Size width="288" height="192" /><one:File path="C:\one-tests\runs\capture\notebook\fixture-data\pattern.png" /></one:Image><one:Outline><one:Position x="72" y="108" /><one:Size width="480" height="400" /><one:OEChildren><one:OE><one:T>Foreground role control</one:T></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-features-01/inputs/page-006.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B3963F71-90E0-4C13-9E1D-5A804FBAAB68}{1}{B0}"><one:Title><one:OE><one:T>Image role background=true, printout=false</one:T></one:OE></one:Title><one:Image format="auto" backgroundImage="true" isPrintOut="false" originalPageNumber="2" alt="Role pattern"><one:Position x="36" y="36" /><one:Size width="288" height="192" /><one:File path="C:\one-tests\runs\capture\notebook\fixture-data\pattern.png" /></one:Image><one:Outline><one:Position x="72" y="108" /><one:Size width="480" height="400" /><one:OEChildren><one:OE><one:T>Foreground role control</one:T></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-features-01/inputs/page-007.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{2469BBFE-F67A-4068-9B2D-818FD295FE5C}{1}{B0}"><one:Title><one:OE><one:T>Image role background=false, printout=true</one:T></one:OE></one:Title><one:Image format="auto" backgroundImage="false" isPrintOut="true" originalPageNumber="2" alt="Role pattern"><one:Position x="36" y="36" /><one:Size width="288" height="192" /><one:File path="C:\one-tests\runs\capture\notebook\fixture-data\pattern.png" /></one:Image><one:Outline><one:Position x="72" y="108" /><one:Size width="480" height="400" /><one:OEChildren><one:OE><one:T>Foreground role control</one:T></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-features-01/inputs/page-008.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{7642EFC8-84A6-4F1A-8ED9-338758B43B63}{1}{B0}"><one:Title><one:OE><one:T>Image role background=true, printout=true</one:T></one:OE></one:Title><one:Image format="auto" backgroundImage="true" isPrintOut="true" originalPageNumber="2" alt="Role pattern"><one:Position x="36" y="36" /><one:Size width="288" height="192" /><one:File path="C:\one-tests\runs\capture\notebook\fixture-data\pattern.png" /></one:Image><one:Outline><one:Position x="72" y="108" /><one:Size width="480" height="400" /><one:OEChildren><one:OE><one:T>Foreground role control</one:T></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-features-01/inputs/page-009.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{DE45DD25-01CA-4CF5-9686-2C032B98070F}{1}{B0}"><one:Title><one:OE><one:T>Files and recording</one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108" /><one:Size width="480" height="400" /><one:OEChildren><one:OE><one:InsertedFile pathSource="C:\one-tests\runs\capture\notebook\fixture-data\attachment.txt" preferredName="Fictitious attachment.txt" /></one:OE><one:OE><one:MediaFile pathSource="C:\one-tests\runs\capture\notebook\fixture-data\silence.wav" preferredName="silence.wav"><one:MediaReference mediaID="{9A418E57-7F64-40C5-87D0-8A8F7C1E5422}" /></one:MediaFile></one:OE><one:OE><one:MediaIndex timeIndex="500"><one:MediaReference mediaID="{9A418E57-7F64-40C5-87D0-8A8F7C1E5422}" /></one:MediaIndex><one:T>Recording annotation</one:T></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-features-01/inputs/page-010.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{3AF403CC-D1A1-44E3-8D7B-1FBC6CDF315D}{1}{B0}"><one:QuickStyleDef index="0" name="Fixture style" font="Calibri" fontSize="14" strikethrough="true" spaceBefore="0.25" spaceAfter="0.125" /><one:Title><one:OE><one:T>Paragraph controls</one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108" /><one:Size width="480" height="400" /><one:OEChildren><one:OE quickStyleIndex="0"><one:T>Inherited strike and spacing</one:T></one:OE><one:OE alignment="center" spaceBefore="12" spaceAfter="6"><one:T>Centered paragraph</one:T></one:OE><one:OE RTL="true" alignment="right"><one:T>مرحبا بالعالم</one:T></one:OE><one:OE collapsed="true"><one:T>Collapsed parent</one:T><one:OEChildren indent="2"><one:OE><one:T>Hidden child remains stored</one:T><one:OEChildren><one:OE><one:T>Grandchild</one:T></one:OE></one:OEChildren></one:OE></one:OEChildren></one:OE><one:OE><one:T><![CDATA[A<br><br>B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;C]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-features-01/inputs/page-011.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{1E2335D9-5ED2-46F2-A170-34E13340B818}{1}{B0}"><one:Title><one:OE><one:T>Numbering controls</one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108" /><one:Size width="480" height="400" /><one:OEChildren><one:OE><one:List><one:Number numberSequence="0" numberFormat="##" restartNumberingAt="3" font="Calibri" /></one:List><one:T>Sequence 0, item 0</one:T></one:OE><one:OE><one:List><one:Number numberSequence="0" numberFormat="##" font="Calibri" /></one:List><one:T>Sequence 0, item 1</one:T></one:OE><one:OE><one:List><one:Number numberSequence="1" numberFormat="##" restartNumberingAt="3" font="Calibri" /></one:List><one:T>Sequence 1, item 0</one:T></one:OE><one:OE><one:List><one:Number numberSequence="1" numberFormat="##" font="Calibri" /></one:List><one:T>Sequence 1, item 1</one:T></one:OE><one:OE><one:List><one:Number numberSequence="2" numberFormat="##" restartNumberingAt="3" font="Calibri" /></one:List><one:T>Sequence 2, item 0</one:T></one:OE><one:OE><one:List><one:Number numberSequence="2" numberFormat="##" font="Calibri" /></one:List><one:T>Sequence 2, item 1</one:T></one:OE><one:OE><one:List><one:Number numberSequence="3" numberFormat="##" restartNumberingAt="3" font="Calibri" /></one:List><one:T>Sequence 3, item 0</one:T></one:OE><one:OE><one:List><one:Number numberSequence="3" numberFormat="##" font="Calibri" /></one:List><one:T>Sequence 3, item 1</one:T></one:OE><one:OE><one:List><one:Number numberSequence="4" numberFormat="##" restartNumberingAt="3" font="Calibri" /></one:List><one:T>Sequence 4, item 0</one:T></one:OE><one:OE><one:List><one:Number numberSequence="4" numberFormat="##" font="Calibri" /></one:List><one:T>Sequence 4, item 1</one:T></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-features-01/inputs/page-012.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E61CE556-2770-4F03-B115-F15A584B3A0E}{1}{B0}"><one:Title><one:OE><one:T>Task controls</one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108" /><one:Size width="480" height="400" /><one:OEChildren><one:OE><one:OutlookTask guidTask="{45AF40E3-1D54-463C-90D3-C454F2F71A2E}" completed="false" disabled="true" creationDate="2020-01-02T03:04:05Z" startDate="2020-01-02T00:00:00Z" dueDate="2020-01-03T00:00:00Z" /><one:T>Disabled standalone task</one:T></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-features-01/inputs/page-013.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" pageLevel="1" ID="{97C679E6-01EA-455B-892B-F3B03DB56165}{1}{B0}"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108" /><one:Size width="480" height="400" /><one:OEChildren><one:OE><one:T>Group path Group A/Duplicate.one, level 1</one:T></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-features-01/inputs/page-014.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" pageLevel="2" ID="{608D4381-83D2-4480-9970-A5B88BADC985}{1}{B0}"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108" /><one:Size width="480" height="400" /><one:OEChildren><one:OE><one:T>Group path Group A/Duplicate.one, level 2</one:T></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-features-01/inputs/page-015.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" pageLevel="3" ID="{58D1C462-46A0-4CBD-A052-E816106736A8}{1}{B0}"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108" /><one:Size width="480" height="400" /><one:OEChildren><one:OE><one:T>Group path Group A/Duplicate.one, level 3</one:T></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-features-01/inputs/page-016.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" pageLevel="1" ID="{3B8597C4-C1C8-4372-845A-1818F5A83695}{1}{B0}"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108" /><one:Size width="480" height="400" /><one:OEChildren><one:OE><one:T>Group path Group B/Nested/Duplicate.one, level 1</one:T></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-features-01/inputs/page-017.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" pageLevel="2" ID="{4191FD4A-FFE5-4349-9994-E5CD0AA1F49F}{1}{B0}"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108" /><one:Size width="480" height="400" /><one:OEChildren><one:OE><one:T>Group path Group B/Nested/Duplicate.one, level 2</one:T></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-features-01/inputs/page-018.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" pageLevel="3" ID="{D6F35F81-BCD9-4313-8738-40B885726709}{1}{B0}"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108" /><one:Size width="480" height="400" /><one:OEChildren><one:OE><one:T>Group path Group B/Nested/Duplicate.one, level 3</one:T></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-features-01/machine.json created+1
...@@ -0,0 +1 @@
1{"name": "m6-1fdcd415", "hostname": "ONE-M6-1FDCD415"}
corpus/m6/native-features-01/notebook/Empty.one created
Binary files /dev/null and b/corpus/m6/native-features-01/notebook/Empty.one differ
corpus/m6/native-features-01/notebook/Features.one created
Binary files /dev/null and b/corpus/m6/native-features-01/notebook/Features.one differ
corpus/m6/native-features-01/notebook/Group A/Duplicate.one created
Binary files /dev/null and b/corpus/m6/native-features-01/notebook/Group A/Duplicate.one differ
corpus/m6/native-features-01/notebook/Group A/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/m6/native-features-01/notebook/Group A/Open Notebook.onetoc2 differ
corpus/m6/native-features-01/notebook/Group B/Nested/Duplicate.one created
Binary files /dev/null and b/corpus/m6/native-features-01/notebook/Group B/Nested/Duplicate.one differ
corpus/m6/native-features-01/notebook/Group B/Nested/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/m6/native-features-01/notebook/Group B/Nested/Open Notebook.onetoc2 differ
corpus/m6/native-features-01/notebook/Group B/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/m6/native-features-01/notebook/Group B/Open Notebook.onetoc2 differ
corpus/m6/native-features-01/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/m6/native-features-01/notebook/Open Notebook.onetoc2 differ
corpus/m6/native-features-01/notebook/fixture-data/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/m6/native-features-01/notebook/fixture-data/Open Notebook.onetoc2 differ
corpus/m6/native-features-01/notebook/fixture-data/attachment.txt created
Binary files /dev/null and b/corpus/m6/native-features-01/notebook/fixture-data/attachment.txt differ
corpus/m6/native-features-01/notebook/fixture-data/pattern.bmp created
Binary files /dev/null and b/corpus/m6/native-features-01/notebook/fixture-data/pattern.bmp differ
corpus/m6/native-features-01/notebook/fixture-data/pattern.gif created
Binary files /dev/null and b/corpus/m6/native-features-01/notebook/fixture-data/pattern.gif differ
corpus/m6/native-features-01/notebook/fixture-data/pattern.jpg created
Binary files /dev/null and b/corpus/m6/native-features-01/notebook/fixture-data/pattern.jpg differ
corpus/m6/native-features-01/notebook/fixture-data/pattern.png created
Binary files /dev/null and b/corpus/m6/native-features-01/notebook/fixture-data/pattern.png differ
corpus/m6/native-features-01/notebook/fixture-data/pattern.tiff created
Binary files /dev/null and b/corpus/m6/native-features-01/notebook/fixture-data/pattern.tiff differ
corpus/m6/native-features-01/notebook/fixture-data/silence.wav created
Binary files /dev/null and b/corpus/m6/native-features-01/notebook/fixture-data/silence.wav differ
corpus/m6/native-features-01/notebook/fixture.json created+86
...@@ -0,0 +1,86 @@
1{
2 "sections": [
3 "Features.one",
4 "Group A/Duplicate.one",
5 "Group B/Nested/Duplicate.one",
6 "Empty.one"
7 ],
8 "pages": [
9 {
10 "section": "Features.one",
11 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image png</one:T></one:OE></one:Title><one:Image format=\"auto\" alt=\"Pattern png\" hyperlink=\"https://example.invalid/image/png\"><one:Position x=\"72\" y=\"108\"/><one:Size width=\"144\" height=\"48\"/><one:File path=\"__ASSETS__\\pattern.png\"/></one:Image></one:Page>"
12 },
13 {
14 "section": "Features.one",
15 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image jpg</one:T></one:OE></one:Title><one:Image format=\"auto\" alt=\"Pattern jpg\" hyperlink=\"https://example.invalid/image/jpg\"><one:Position x=\"72\" y=\"108\"/><one:Size width=\"144\" height=\"48\"/><one:File path=\"__ASSETS__\\pattern.jpg\"/></one:Image></one:Page>"
16 },
17 {
18 "section": "Features.one",
19 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image bmp</one:T></one:OE></one:Title><one:Image format=\"auto\" alt=\"Pattern bmp\" hyperlink=\"https://example.invalid/image/bmp\"><one:Position x=\"72\" y=\"108\"/><one:Size width=\"144\" height=\"48\"/><one:File path=\"__ASSETS__\\pattern.bmp\"/></one:Image></one:Page>"
20 },
21 {
22 "section": "Features.one",
23 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image tiff</one:T></one:OE></one:Title><one:Image format=\"auto\" alt=\"Pattern tiff\" hyperlink=\"https://example.invalid/image/tiff\"><one:Position x=\"72\" y=\"108\"/><one:Size width=\"144\" height=\"48\"/><one:File path=\"__ASSETS__\\pattern.tiff\"/></one:Image></one:Page>"
24 },
25 {
26 "section": "Features.one",
27 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image gif</one:T></one:OE></one:Title><one:Image format=\"auto\" alt=\"Pattern gif\" hyperlink=\"https://example.invalid/image/gif\"><one:Position x=\"72\" y=\"108\"/><one:Size width=\"144\" height=\"48\"/><one:File path=\"__ASSETS__\\pattern.gif\"/></one:Image></one:Page>"
28 },
29 {
30 "section": "Features.one",
31 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image role background=false, printout=false</one:T></one:OE></one:Title><one:Image format=\"auto\" backgroundImage=\"false\" isPrintOut=\"false\" originalPageNumber=\"2\" alt=\"Role pattern\"><one:Position x=\"36\" y=\"36\"/><one:Size width=\"288\" height=\"192\"/><one:File path=\"__ASSETS__\\pattern.png\"/></one:Image><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Foreground role control</one:T></one:OE></one:OEChildren></one:Outline></one:Page>"
32 },
33 {
34 "section": "Features.one",
35 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image role background=true, printout=false</one:T></one:OE></one:Title><one:Image format=\"auto\" backgroundImage=\"true\" isPrintOut=\"false\" originalPageNumber=\"2\" alt=\"Role pattern\"><one:Position x=\"36\" y=\"36\"/><one:Size width=\"288\" height=\"192\"/><one:File path=\"__ASSETS__\\pattern.png\"/></one:Image><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Foreground role control</one:T></one:OE></one:OEChildren></one:Outline></one:Page>"
36 },
37 {
38 "section": "Features.one",
39 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image role background=false, printout=true</one:T></one:OE></one:Title><one:Image format=\"auto\" backgroundImage=\"false\" isPrintOut=\"true\" originalPageNumber=\"2\" alt=\"Role pattern\"><one:Position x=\"36\" y=\"36\"/><one:Size width=\"288\" height=\"192\"/><one:File path=\"__ASSETS__\\pattern.png\"/></one:Image><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Foreground role control</one:T></one:OE></one:OEChildren></one:Outline></one:Page>"
40 },
41 {
42 "section": "Features.one",
43 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image role background=true, printout=true</one:T></one:OE></one:Title><one:Image format=\"auto\" backgroundImage=\"true\" isPrintOut=\"true\" originalPageNumber=\"2\" alt=\"Role pattern\"><one:Position x=\"36\" y=\"36\"/><one:Size width=\"288\" height=\"192\"/><one:File path=\"__ASSETS__\\pattern.png\"/></one:Image><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Foreground role control</one:T></one:OE></one:OEChildren></one:Outline></one:Page>"
44 },
45 {
46 "section": "Features.one",
47 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Files and recording</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:InsertedFile pathSource=\"__ASSETS__\\attachment.txt\" preferredName=\"Fictitious attachment.txt\"/></one:OE><one:OE><one:MediaFile pathSource=\"__ASSETS__\\silence.wav\" preferredName=\"silence.wav\"><one:MediaReference mediaID=\"{9A418E57-7F64-40C5-87D0-8A8F7C1E5422}\"/></one:MediaFile></one:OE><one:OE><one:MediaIndex timeIndex=\"500\"><one:MediaReference mediaID=\"{9A418E57-7F64-40C5-87D0-8A8F7C1E5422}\"/></one:MediaIndex><one:T>Recording annotation</one:T></one:OE></one:OEChildren></one:Outline></one:Page>"
48 },
49 {
50 "section": "Features.one",
51 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:QuickStyleDef index=\"0\" name=\"Fixture style\" font=\"Calibri\" fontSize=\"14\" strikethrough=\"true\" spaceBefore=\"0.25\" spaceAfter=\"0.125\"/><one:Title><one:OE><one:T>Paragraph controls</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE quickStyleIndex=\"0\"><one:T>Inherited strike and spacing</one:T></one:OE><one:OE alignment=\"center\" spaceBefore=\"12\" spaceAfter=\"6\"><one:T>Centered paragraph</one:T></one:OE><one:OE RTL=\"true\" alignment=\"right\"><one:T>مرحبا بالعالم</one:T></one:OE><one:OE collapsed=\"true\"><one:T>Collapsed parent</one:T><one:OEChildren indent=\"2\"><one:OE><one:T>Hidden child remains stored</one:T><one:OEChildren><one:OE><one:T>Grandchild</one:T></one:OE></one:OEChildren></one:OE></one:OEChildren></one:OE><one:OE><one:T><![CDATA[A<br><br>B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;C]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>"
52 },
53 {
54 "section": "Features.one",
55 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Numbering controls</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:List><one:Number numberSequence=\"0\" numberFormat=\"##\" restartNumberingAt=\"3\" font=\"Calibri\"/></one:List><one:T>Sequence 0, item 0</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"0\" numberFormat=\"##\" font=\"Calibri\"/></one:List><one:T>Sequence 0, item 1</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"1\" numberFormat=\"##\" restartNumberingAt=\"3\" font=\"Calibri\"/></one:List><one:T>Sequence 1, item 0</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"1\" numberFormat=\"##\" font=\"Calibri\"/></one:List><one:T>Sequence 1, item 1</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"2\" numberFormat=\"##\" restartNumberingAt=\"3\" font=\"Calibri\"/></one:List><one:T>Sequence 2, item 0</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"2\" numberFormat=\"##\" font=\"Calibri\"/></one:List><one:T>Sequence 2, item 1</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"3\" numberFormat=\"##\" restartNumberingAt=\"3\" font=\"Calibri\"/></one:List><one:T>Sequence 3, item 0</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"3\" numberFormat=\"##\" font=\"Calibri\"/></one:List><one:T>Sequence 3, item 1</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"4\" numberFormat=\"##\" restartNumberingAt=\"3\" font=\"Calibri\"/></one:List><one:T>Sequence 4, item 0</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"4\" numberFormat=\"##\" font=\"Calibri\"/></one:List><one:T>Sequence 4, item 1</one:T></one:OE></one:OEChildren></one:Outline></one:Page>"
56 },
57 {
58 "section": "Features.one",
59 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Task controls</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:OutlookTask guidTask=\"{45AF40E3-1D54-463C-90D3-C454F2F71A2E}\" completed=\"false\" disabled=\"true\" creationDate=\"2020-01-02T03:04:05Z\" startDate=\"2020-01-02T00:00:00Z\" dueDate=\"2020-01-03T00:00:00Z\"/><one:T>Disabled standalone task</one:T></one:OE></one:OEChildren></one:Outline></one:Page>"
60 },
61 {
62 "section": "Group A/Duplicate.one",
63 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" pageLevel=\"1\"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Group path Group A/Duplicate.one, level 1</one:T></one:OE></one:OEChildren></one:Outline></one:Page>"
64 },
65 {
66 "section": "Group A/Duplicate.one",
67 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" pageLevel=\"2\"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Group path Group A/Duplicate.one, level 2</one:T></one:OE></one:OEChildren></one:Outline></one:Page>"
68 },
69 {
70 "section": "Group A/Duplicate.one",
71 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" pageLevel=\"3\"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Group path Group A/Duplicate.one, level 3</one:T></one:OE></one:OEChildren></one:Outline></one:Page>"
72 },
73 {
74 "section": "Group B/Nested/Duplicate.one",
75 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" pageLevel=\"1\"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Group path Group B/Nested/Duplicate.one, level 1</one:T></one:OE></one:OEChildren></one:Outline></one:Page>"
76 },
77 {
78 "section": "Group B/Nested/Duplicate.one",
79 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" pageLevel=\"2\"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Group path Group B/Nested/Duplicate.one, level 2</one:T></one:OE></one:OEChildren></one:Outline></one:Page>"
80 },
81 {
82 "section": "Group B/Nested/Duplicate.one",
83 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" pageLevel=\"3\"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Group path Group B/Nested/Duplicate.one, level 3</one:T></one:OE></one:OEChildren></one:Outline></one:Page>"
84 }
85 ]
86}
\ No newline at end of file
corpus/m6/native-features-01/notebook/synthetic.one created
Binary files /dev/null and b/corpus/m6/native-features-01/notebook/synthetic.one differ
corpus/m6/native-features-01/pdf-format-checks.json created+1
...@@ -0,0 +1 @@
1[]
\ No newline at end of file
corpus/m6/native-features-01/read/4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2.attachment created
Binary files /dev/null and b/corpus/m6/native-features-01/read/4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2.attachment differ
corpus/m6/native-features-01/read/56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9.attachment created
Binary files /dev/null and b/corpus/m6/native-features-01/read/56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9.attachment differ
corpus/m6/native-features-01/read/environment.json created+7
...@@ -0,0 +1,7 @@
1{
2 "powershell": "5.1.14409.1005",
3 "schema": "xs2010",
4 "hostname": "ONE-M6-1FDCD415",
5 "cold": false,
6 "onenote": "14.0.4763.1000"
7}
corpus/m6/native-features-01/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{3E3A879D-EED1-41A4-AFFC-AFD5CC522B28}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-06T02:26:19.000Z" color="#B49EDE" isCurrentlyViewed="true"><one:Section name="synthetic" ID="{69257C8D-0F31-06D8-24BF-036CE19BB653}{1}{B0}" path="C:\one-tests\runs\capture\notebook\synthetic.one" lastModifiedTime="2026-09-06T02:26:09.000Z" color="#8AA8E4"><one:Page ID="{06AB61BF-0D2C-0528-00E2-23261F15FFDA}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T02:26:09.000Z" pageLevel="1"/></one:Section><one:Section name="Features" ID="{F38980CA-F4AE-043D-1950-44E962CD6150}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Features.one" lastModifiedTime="2026-09-06T02:26:03.000Z" color="#91BAAE"><one:Page ID="{F042B6B6-77F6-00C7-064C-93691F643540}{1}{B0}" name="Image png" dateTime="2026-09-06T02:25:40.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1"/><one:Page ID="{928D8868-48FD-0F21-0CD1-4D2B30EA319B}{1}{B0}" name="Image jpg" dateTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1"/><one:Page ID="{3BBF5B62-7159-0105-2276-A5C5CD90EE2A}{1}{B0}" name="Image bmp" dateTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1"/><one:Page ID="{94C62EC6-F324-0BC2-1D81-49C0C4A50799}{1}{B0}" name="Image tiff" dateTime="2026-09-06T02:25:43.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1"/><one:Page ID="{5D082507-3483-04C2-24BA-98D69CF46F4D}{1}{B0}" name="Image gif" dateTime="2026-09-06T02:25:44.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1"/><one:Page ID="{59C3247F-A3D8-0F79-0CE3-AAFC77F7D1F8}{1}{B0}" name="Image role background=false, printout=false" dateTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1"/><one:Page ID="{8EF2D150-F9C8-071D-2BD2-DDFE2F06358B}{1}{B0}" name="Image role background=true, printout=false" dateTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1"/><one:Page ID="{190D55DF-9F52-0B66-2EE2-06F1B22960BF}{1}{B0}" name="Image role background=false, printout=true" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1"/><one:Page ID="{4B2601E9-ED8E-0414-3B16-B4F93808A580}{1}{B0}" name="Image role background=true, printout=true" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1"/><one:Page ID="{E3213304-68E2-07FB-2349-AB7D4B2499EC}{1}{B0}" name="Files and recording" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1"/><one:Page ID="{0790EDED-B889-0FED-38B4-98C20C63AFBE}{1}{B0}" name="Paragraph controls" dateTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1"/><one:Page ID="{2347DBF8-37FA-0DFC-14BF-B39F53FC26FB}{1}{B0}" name="Numbering controls" dateTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1"/><one:Page ID="{DB780B77-4E58-040D-04DA-762438F7A4ED}{1}{B0}" name="Task controls" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1"/></one:Section><one:Section name="Empty" ID="{90B6632B-0356-012D-35B2-0A42FC8DFDED}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Empty.one" lastModifiedTime="2026-09-06T02:26:04.000Z" color="#9BBBD2"/><one:SectionGroup name="fixture-data" ID="{82D05DE5-3939-46C4-A1C9-45E97380DAC7}{1}{B0}" path="C:\one-tests\runs\capture\notebook\fixture-data" lastModifiedTime="2026-09-06T02:26:19.000Z"/><one:SectionGroup name="Group A" ID="{63465041-EA7B-4F63-B8FD-9F92882A7B5D}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Group A" lastModifiedTime="2026-09-06T02:26:19.000Z"><one:Section name="Duplicate" ID="{5F4C6CC8-91EC-0A04-1EEB-37729CD97E6D}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Group A\Duplicate.one" lastModifiedTime="2026-09-06T02:26:19.000Z" color="#F6B078"><one:Page ID="{90291BBC-AE69-0190-166D-36147B38848C}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1"/><one:Page ID="{676221DB-2C51-004B-0636-601CCD202C6C}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:26:04.000Z" pageLevel="2"/><one:Page ID="{5F3EA638-E923-0876-3F14-2DB256EAD341}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:26:04.000Z" pageLevel="3"/></one:Section></one:SectionGroup><one:SectionGroup name="Group B" ID="{FC323DEF-DD14-4AA3-A942-728C853D1ADC}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Group B" lastModifiedTime="2026-09-06T02:26:19.000Z" isCurrentlyViewed="true"><one:SectionGroup name="Nested" ID="{D73A5110-74DC-4E2D-BE2C-D90D2539CAD6}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Group B\Nested" lastModifiedTime="2026-09-06T02:26:19.000Z" isCurrentlyViewed="true"><one:Section name="Duplicate" ID="{694F7125-B361-0D13-06E0-7FD84642C0E8}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Group B\Nested\Duplicate.one" lastModifiedTime="2026-09-06T02:26:19.000Z" color="#D5A4BB" isCurrentlyViewed="true"><one:Page ID="{80A3E639-9FCB-01F3-0C7B-A0F382B1B44E}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:26:04.000Z" pageLevel="1"/><one:Page ID="{FAB78CB7-A1E6-01C8-11B5-5D267DB87644}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:26:04.000Z" pageLevel="2" isCurrentlyViewed="true"/><one:Page ID="{6DD52E7C-E2DA-0192-0F19-F853F26BE5D2}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T02:26:04.000Z" pageLevel="3"/></one:Section></one:SectionGroup></one:SectionGroup></one:Notebook>
corpus/m6/native-features-01/read/page-000.pdf created
Binary files /dev/null and b/corpus/m6/native-features-01/read/page-000.pdf differ
corpus/m6/native-features-01/read/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06AB61BF-0D2C-0528-00E2-23261F15FFDA}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1" style="font-family:Calibri;font-size:11.0pt" lang="en-US"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="Fixture Author" lastModifiedBy="Fixture Author" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{69257C8D-0F31-06D8-24BF-036CE19BB653}{23}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="191.1661224365234" height="13.4277172088623"/><one:Indents><one:Indent level="0" indent="0.0"/></one:Indents><one:OEChildren><one:OE creationTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{69257C8D-0F31-06D8-24BF-036CE19BB653}{24}{B0}" alignment="left"><one:T><![CDATA[A notebook created in Rust.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-features-01/read/page-001.pdf created
Binary files /dev/null and b/corpus/m6/native-features-01/read/page-001.pdf differ
corpus/m6/native-features-01/read/page-001.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{0790EDED-B889-0FED-38B4-98C20C63AFBE}{1}{B0}" name="Paragraph controls" dateTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:QuickStyleDef index="1" name="Fixture style" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="14.0" strikethrough="true" spaceBefore="0.25" spaceAfter="0.125"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{4246C3B8-FFDF-0C93-1C09-4392C52CD135}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Paragraph controls]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{4246C3B8-FFDF-0C93-1C09-4392C52CD135}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="480.0" height="87.66204071044922"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{4246C3B8-FFDF-0C93-1C09-4392C52CD135}{40}{B0}" alignment="left" spaceBefore="9.0" spaceAfter="4.5" quickStyleIndex="1"><one:T><![CDATA[<span
3style='text-decoration:line-through'>Inherited strike and spacing</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{4246C3B8-FFDF-0C93-1C09-4392C52CD135}{47}{B0}" alignment="center" spaceBefore="12.0" spaceAfter="6.0" quickStyleIndex="0"><one:T><![CDATA[Centered paragraph]]></one:T></one:OE><one:OE RTL="true" creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{4246C3B8-FFDF-0C93-1C09-4392C52CD135}{52}{B0}" alignment="right" quickStyleIndex="0" style="font-family:Arial;font-size:11.0pt;text-align:right"><one:T><![CDATA[<span
4style='direction:rtl;unicode-bidi:embed' lang=ar-SA>مرحبا بالعالم</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" collapsed="1" objectID="{4246C3B8-FFDF-0C93-1C09-4392C52CD135}{58}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Collapsed parent]]></one:T><one:OEChildren indent="2"><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{4246C3B8-FFDF-0C93-1C09-4392C52CD135}{63}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Hidden child remains stored]]></one:T><one:OEChildren><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{4246C3B8-FFDF-0C93-1C09-4392C52CD135}{68}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Grandchild]]></one:T></one:OE></one:OEChildren></one:OE></one:OEChildren></one:OE><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{4246C3B8-FFDF-0C93-1C09-4392C52CD135}{73}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[AB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;C]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-features-01/read/page-002.pdf created
Binary files /dev/null and b/corpus/m6/native-features-01/read/page-002.pdf differ
corpus/m6/native-features-01/read/page-002.xml created+6
...@@ -0,0 +1,6 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{190D55DF-9F52-0B66-2EE2-06F1B22960BF}{1}{B0}" name="Image role background=false, printout=true" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{7C6DE4FD-AA5C-03DA-0D54-5B6ADF40D9C5}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image role background=false, printout=true]]></one:T></one:OE></one:Title><one:Image format="png" isPrintOut="true" alt="Role pattern" originalPageNumber="2" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{7C6DE4FD-AA5C-03DA-0D54-5B6ADF40D9C5}{39}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="288.0" height="192.0" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec
3CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI
4E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp
5oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT
6+wHXVRp4qDc0HQAAAABJRU5ErkJggg==</one:Data></one:Image><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{7C6DE4FD-AA5C-03DA-0D54-5B6ADF40D9C5}{41}{B0}"><one:Position x="72.0" y="108.0" z="1"/><one:Size width="146.7475433349609" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{7C6DE4FD-AA5C-03DA-0D54-5B6ADF40D9C5}{42}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Foreground role control]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-features-01/read/page-003.pdf created
Binary files /dev/null and b/corpus/m6/native-features-01/read/page-003.pdf differ
corpus/m6/native-features-01/read/page-003.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{2347DBF8-37FA-0DFC-14BF-B39F53FC26FB}{1}{B0}" name="Numbering controls" dateTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{667B35BB-215D-0F09-25F0-9D0C334A3C28}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Numbering controls]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{667B35BB-215D-0F09-25F0-9D0C334A3C28}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="125.0376281738281" height="137.070068359375"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{667B35BB-215D-0F09-25F0-9D0C334A3C28}{40}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="0" numberFormat="##" restartNumberingAt="3" font="Calibri" text="3"/></one:List><one:T><![CDATA[Sequence 0, item 0]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{667B35BB-215D-0F09-25F0-9D0C334A3C28}{46}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="0" numberFormat="##" font="Calibri" text="4"/></one:List><one:T><![CDATA[Sequence 0, item 1]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{667B35BB-215D-0F09-25F0-9D0C334A3C28}{52}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="1" numberFormat="##" restartNumberingAt="3" font="Calibri" text="III"/></one:List><one:T><![CDATA[Sequence 1, item 0]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{667B35BB-215D-0F09-25F0-9D0C334A3C28}{58}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="1" numberFormat="##" font="Calibri" text="IV"/></one:List><one:T><![CDATA[Sequence 1, item 1]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{667B35BB-215D-0F09-25F0-9D0C334A3C28}{64}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="2" numberFormat="##" restartNumberingAt="3" font="Calibri" text="iii"/></one:List><one:T><![CDATA[Sequence 2, item 0]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{667B35BB-215D-0F09-25F0-9D0C334A3C28}{70}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="2" numberFormat="##" font="Calibri" text="iv"/></one:List><one:T><![CDATA[Sequence 2, item 1]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{667B35BB-215D-0F09-25F0-9D0C334A3C28}{76}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="3" numberFormat="##" restartNumberingAt="3" font="Calibri" text="C"/></one:List><one:T><![CDATA[Sequence 3, item 0]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{667B35BB-215D-0F09-25F0-9D0C334A3C28}{82}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="3" numberFormat="##" font="Calibri" text="D"/></one:List><one:T><![CDATA[Sequence 3, item 1]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{667B35BB-215D-0F09-25F0-9D0C334A3C28}{88}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="4" numberFormat="##" restartNumberingAt="3" font="Calibri" text="c"/></one:List><one:T><![CDATA[Sequence 4, item 0]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{667B35BB-215D-0F09-25F0-9D0C334A3C28}{94}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="4" numberFormat="##" font="Calibri" text="d"/></one:List><one:T><![CDATA[Sequence 4, item 1]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-features-01/read/page-004.pdf created
Binary files /dev/null and b/corpus/m6/native-features-01/read/page-004.pdf differ
corpus/m6/native-features-01/read/page-004.xml created+9
...@@ -0,0 +1,9 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{3BBF5B62-7159-0105-2276-A5C5CD90EE2A}{1}{B0}" name="Image bmp" dateTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:43.000Z" lastModifiedTime="2026-09-06T02:25:43.000Z" objectID="{6AFB1FCC-D85D-0652-39D7-B6D32308617B}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image bmp]]></one:T></one:OE></one:Title><one:Image format="png" hyperlink="https://example.invalid/image/bmp" alt="Pattern bmp" originalPageNumber="0" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{6AFB1FCC-D85D-0652-39D7-B6D32308617B}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="144.0" height="48.00000381469727" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAAXNSR0IArs4c6QAAAAlwSFlzAAAO
3xAAADsQBlSsOGwAAARlJREFUeF7t2VFHQ2EcBvD3PWetVqvVam1ERESMiIiIiL7/J5p9gD1dvF51
48eNcn4uf53n2P1ZLKUOpnkMCtYx0kkAt00F8gkAtsxFQBJpPAEWgxRGgCLScAopAq2NAEWhzAigC
53c0ARaD7U0AR6OEMUAR6nAOKQE/ngCLQ8wWgCLRdAIpAL5eAItDrFaAI9LYEFIHerwFFoI8bQBHo
6cwUoAn3dAopA32tAEehnAygKjPu/xjyHBAY0WQDQL+0BBKhtYSVIgiSo6w+xiqmYiqnYX34J2SAb
7ZINskA1qa4EESZAEdW1B15e7g9xBbf2VIAmSICPtDmprgQRJkAR1bUHXl7uD3EFt/ZUgCZIgI+0O
8amuBBEnQP07QDo1OW207QPoWAAAAAElFTkSuQmCC
9</one:Data></one:Image></one:Page>
corpus/m6/native-features-01/read/page-005.pdf created
Binary files /dev/null and b/corpus/m6/native-features-01/read/page-005.pdf differ
corpus/m6/native-features-01/read/page-005.xml created+6
...@@ -0,0 +1,6 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{4B2601E9-ED8E-0414-3B16-B4F93808A580}{1}{B0}" name="Image role background=true, printout=true" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{A4E9BDAC-DDDD-0E19-1A0E-AD8B2BA9CA47}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image role background=true, printout=true]]></one:T></one:OE></one:Title><one:Image format="png" backgroundImage="true" isPrintOut="true" alt="Role pattern" originalPageNumber="2" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{A4E9BDAC-DDDD-0E19-1A0E-AD8B2BA9CA47}{39}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="288.0" height="192.0" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec
3CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI
4E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp
5oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT
6+wHXVRp4qDc0HQAAAABJRU5ErkJggg==</one:Data></one:Image><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{A4E9BDAC-DDDD-0E19-1A0E-AD8B2BA9CA47}{41}{B0}"><one:Position x="72.0" y="108.0" z="1"/><one:Size width="146.7475433349609" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{A4E9BDAC-DDDD-0E19-1A0E-AD8B2BA9CA47}{42}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Foreground role control]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-features-01/read/page-006.pdf created
Binary files /dev/null and b/corpus/m6/native-features-01/read/page-006.pdf differ
corpus/m6/native-features-01/read/page-006.xml created+6
...@@ -0,0 +1,6 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{59C3247F-A3D8-0F79-0CE3-AAFC77F7D1F8}{1}{B0}" name="Image role background=false, printout=false" dateTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{6B1469B8-7812-0EA7-2A0E-C955D469014A}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image role background=false, printout=false]]></one:T></one:OE></one:Title><one:Image format="png" alt="Role pattern" originalPageNumber="2" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{6B1469B8-7812-0EA7-2A0E-C955D469014A}{39}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="288.0" height="192.0" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec
3CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI
4E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp
5oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT
6+wHXVRp4qDc0HQAAAABJRU5ErkJggg==</one:Data></one:Image><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{6B1469B8-7812-0EA7-2A0E-C955D469014A}{41}{B0}"><one:Position x="72.0" y="108.0" z="1"/><one:Size width="146.7475433349609" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{6B1469B8-7812-0EA7-2A0E-C955D469014A}{42}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Foreground role control]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-features-01/read/page-007.pdf created
Binary files /dev/null and b/corpus/m6/native-features-01/read/page-007.pdf differ
corpus/m6/native-features-01/read/page-007.xml created+46
...@@ -0,0 +1,46 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{5D082507-3483-04C2-24BA-98D69CF46F4D}{1}{B0}" name="Image gif" dateTime="2026-09-06T02:25:44.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{265D2D36-52A9-0131-331C-0CEB6CC3E62E}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image gif]]></one:T></one:OE></one:Title><one:Image format="png" hyperlink="https://example.invalid/image/gif" alt="Pattern gif" originalPageNumber="0" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{265D2D36-52A9-0131-331C-0CEB6CC3E62E}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="144.0" height="48.00000381469727" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAMAAADS6oI8AAADAFBMVEW4t5mrt5O4qpWrqo6euo2S
3uoeZs4ieqoiSqoK4nJCrnIq4kIyrkIaen4SSn36ZmH+ekH+SkHmGuoGGs395t3pounJos3CGqnx5
4qnVtqm9iqmqGnHd5nHGGkHN5kG1on2lomGdokGS4hIirhIK4d4Srd32eh3ySh3aZgHeed3eSd3G4
5a4Cra3m4YHyrYHaea3OSa22eYG+SYGmGh3CGgG55hGloh2FogF+Gd2t5d2Rtd15id1mGa2d5a2CG
6YGN5YF1ta1pia1VoYFRWumlWs2dJt2I4ulo4s1hWqmRJql09qlcyqlImulEaukshs0wKukMKs0Em
7qkwaqkYPqkAEqjtWnF9JnFlWkFtJkFU4n1E4mE84kEwmn0gan0IhmEMmkEMakD0KnzoKmDgKkDVW
8h1hWgFZJhFE4h0k4gEdWd1NJd0w9d0Yyd0FWa09Ja0hWYEtJYEU9a0Iyaz04YDwmh0AahzohgDsK
9hzIKgDAmdzsadzUPdy8EdyomazcaazEmYDMaYC0PaysEayYKYCW4VHirVHK4R3SrR22eV2ySV2aZ
10UGeeR2eSR2G4O3CrO2m4MGyrMGaeO2OSO12eMF+SMFmGV2CGUF55VFloV1FoUE+GR1t5R1RtR05i
11R0mGO1d5O1CGMFN5ME1tO0piO0VoMES4JGirJGK4GGSrGF6eJ1ySJ1aZIFeeGFeSGFG4DmGrDlq4
12A12rA1eeDlSSDk6eA1CSA0qGJE95JEmGGEt5GEVoJ0FoID9oGDyGDkh5DkGGA0R5Az5tDjtiDjZo
13AzVWVEdJVEE4Vzk4UDdWR0NJRzw9RzYyRzFWOz9JOzhWMDtJMDU9OzIyOy04MCwmVzAaVyohUCsK
14VyIKUCAmRysaRyUPRx8ERxomOycaOyEmMCMaMB0POxsEOxYKMBVWJDdJJDFWGDNJGC04Jyk4ICc4
15GCRWDjBJDilWAyxJAyY9DiMyDh44Ax0mJyAaJxohIBsmGBsaGBUKJxIKIBAKGA0mDhgaDhImAxQa
16Aw4PDgwEDgcKAwZYdbPqAAAAAWJLR0QAiAUdSAAAAAxjbVBQSkNtcDA3MTIAAAADSABzvAAABjJJ
17REFUWEedkImbTgUcha9ChZl2RUKR0TKTtGiRsZUSEpI0tKm0GoW0WSOjMmNpL82oFG1apJJltNDC
18KKRNURRZytZqRr9zzl2+79779Ty+9w943+ccZ7fPLvGv+N1js9jk8r7HfDFPzCRvktfIDOGEA64/
19rYD8oUCFVyhPGuAHtqRYUJq0IHFAOFBh7C4Hu/4B//4NfgO/bwGbN4JNm34FC8D7pWD+XDBv3hww
208w3w5uvgtVfBjBmvAAf+CvrL6f+HfgXo30L/RurdAP2l9M+lfs4c+t+g/3X6X6U+JiB/egH54wJ/
21xQ74bUNkAR9a8F5kQeKAaOAvUr5T7CB20Aay5WexTkBPSt8Rb4uXyUvkBfK8cCqkNxL9O3ZIbyQH
221klvxATkDwVC/p3btcAPrE8RmJ0U0IAX4wJ/+mDBdoLAeg8E1q5da/f8BGZ7IDBr1iy75y0DeqIB
23U6dOtXueM5wgsM1QYKvhB0wOaE8MmBzAbkyfPl2BadOmmd2A3Qv8QRBAAXoGfiHRwLskEkDB9OGA
245H5gm/Rbt8oeDcgeDtgAg/qUAQ7YliJQVoZ7lhjJgZIS/FNcHAkUFeGfwsJC50efH8T34guPMgE5
25eNajRBSLSWQiKSImB5GA608rIH8osMZbsDppgB9YmmLBlKQFiQPCgTXGj6vBD6vA99+Bz8EXS0HZ
26YrBkyWfgGfDsFFDyNCgungwmTQATx4OicaCw8EHgwL+G/tX0r6JfAfqX0r+YejdA/xT6n6Z+8mT6
27J9A/nv5x1McE5E8vIH/KQGRAzAI+9Ex0QeKAUOBb8g34mnxFPiWfgI/FIvIUeRI8IR4nD5D7yX1i
28NHECfzRAvxuQXwH63YD8MQH5owEN0II9DWiAuyAxsHJl8NCKFb5/4cLIAg547LHIAj00dmx8YCXh
29QysEBywkuOhDY9GiDwD9ABc9YjwsqCcYMMoYPfpe4HwrvbHckH+ZIb0Bu0G9Ib0BexAoKCiQf8yY
30MdCPGkW9BaD+kiCAAvQMfESigUeJH3gIWAAF04cDkvuB5dIvWyZ7NCB7EKBegQLqUwY4YHmKQH4+
317ulnJAdycxP8iYGcHPyTnZ3tjPQZJoaK2zzyBeSgtUeuaCGakpNIDjE5iARcf1oB+UOBEd6C4UkD
32/ED/FAtaJi1IHBAOjDBGDgfDhoCh94BbwW39Qf4toF+/m0Er0LolyD0btGjRHDRtAk46EeScALKz
33jwcO/CPoH07/EPoVoL8//bdQ7wbob0n/2dQ3b05/E/pPpP8E6mMC8qcXkD9lIDIgZgEfahVdkDgg
34FLib3AXuJHeQm8iN4AZxPTmLnAnOEKeT48ix5BjRkDiBPxqg3w3IrwD9bkD+mID80YAGaMGeBjTA
35XZAYGDw4eGjQIN/ft29kAQc0axZZoIcaN44PDCZ8aJDggL4EF11rXCPoB7joVOMUQT3BgAZGw4ZH
36A+du6Y2BhvwDDOkN2IPANdIbsAeBrKws+Rs1agR9gwbUWwDq2wkCKEDPwHXED/Qhpj6N+IGTgQVQ
37MH04ILkfGCj9gAGyBwHp+/SRPQhQr0AW9SkDHDAwRaBHj/hA3boJ/sRAjRr4p3r16s7VPleIy8Vl
38Hj3EJS5HedQVR4oDyQGkBjE5iARcf1oB+VMF3AG9Qwt6plhQP2mBBuwfF7jKB4XeBI2eHgh0797d
39HroY1PdAoE6dOnbPEQb0RAOqVatm9+xnOEGgl6FAnuEHTA5oTwyYHMBuZGZmKpCRkWF2A3YvcCVB
40AAXoGbiURAP1SCSAgunDAcn9QC/p8/JkjwZkDwdsgEF9ONDN83flgkigffuki2p7/lq1Ei/6v0A3
4148quoFcXkHcRuABc2h6cL84jtUG9WuBwcRjJ3Bdk7AP2FnsRB/5u9Helvwv9CtDvBuRXgH43IP9h
429O9LvxuQPxqQP72A/DGBzp2DAZ06+f527SILOKBmzcgCDahaNT7QmfChToID2hFcdI7RVtAPcNEh
43xsGCeoIBlQx7h3ST3uhoyN/BkN6APQi0ld6APQhUqVJF/sqVK0NfqZL0jgP1hQQBFKBn4FziB9oQ
44Ux9K/MBBwAIomD4ckNwPdJS+QwfZg4D0bdrIHgSoV6AK9SkDHNAxzQD9sYH/AHAD8Cry1R2MAAAA
45AElFTkSuQmCC
46</one:Data></one:Image></one:Page>
corpus/m6/native-features-01/read/page-008.pdf created
Binary files /dev/null and b/corpus/m6/native-features-01/read/page-008.pdf differ
corpus/m6/native-features-01/read/page-008.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{5F3EA638-E923-0876-3F14-2DB256EAD341}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:26:04.000Z" pageLevel="3" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{F93D545B-AA4F-06DC-0032-62B38F5153E2}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{F93D545B-AA4F-06DC-0032-62B38F5153E2}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="231.1436157226562" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{F93D545B-AA4F-06DC-0032-62B38F5153E2}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group A/Duplicate.one, level 3]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-features-01/read/page-009.pdf created
Binary files /dev/null and b/corpus/m6/native-features-01/read/page-009.pdf differ
corpus/m6/native-features-01/read/page-009.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{676221DB-2C51-004B-0636-601CCD202C6C}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:26:04.000Z" pageLevel="2" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{5340E358-AFC4-0779-1365-0273C3E9F05E}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{5340E358-AFC4-0779-1365-0273C3E9F05E}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="231.1436157226562" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{5340E358-AFC4-0779-1365-0273C3E9F05E}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group A/Duplicate.one, level 2]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-features-01/read/page-010.pdf created
Binary files /dev/null and b/corpus/m6/native-features-01/read/page-010.pdf differ
corpus/m6/native-features-01/read/page-010.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{6DD52E7C-E2DA-0192-0F19-F853F26BE5D2}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T02:26:04.000Z" pageLevel="3" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{9E56D4AE-0A48-0C7C-0A25-73ABFDB59657}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{9E56D4AE-0A48-0C7C-0A25-73ABFDB59657}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="266.8237915039062" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{9E56D4AE-0A48-0C7C-0A25-73ABFDB59657}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group B/Nested/Duplicate.one, level 3]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-features-01/read/page-011.pdf created
Binary files /dev/null and b/corpus/m6/native-features-01/read/page-011.pdf differ
corpus/m6/native-features-01/read/page-011.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{80A3E639-9FCB-01F3-0C7B-A0F382B1B44E}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:26:04.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{72CBF2F8-6254-0C99-173C-F1781D3B44E5}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{72CBF2F8-6254-0C99-173C-F1781D3B44E5}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="266.8237915039062" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{72CBF2F8-6254-0C99-173C-F1781D3B44E5}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group B/Nested/Duplicate.one, level 1]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-features-01/read/page-012.pdf created
Binary files /dev/null and b/corpus/m6/native-features-01/read/page-012.pdf differ
corpus/m6/native-features-01/read/page-012.xml created+6
...@@ -0,0 +1,6 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{8EF2D150-F9C8-071D-2BD2-DDFE2F06358B}{1}{B0}" name="Image role background=true, printout=false" dateTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{484F54DC-A933-0A49-1948-0F0FA8AE2C10}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image role background=true, printout=false]]></one:T></one:OE></one:Title><one:Image format="png" backgroundImage="true" alt="Role pattern" originalPageNumber="2" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{484F54DC-A933-0A49-1948-0F0FA8AE2C10}{39}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="288.0" height="192.0" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec
3CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI
4E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp
5oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT
6+wHXVRp4qDc0HQAAAABJRU5ErkJggg==</one:Data></one:Image><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{484F54DC-A933-0A49-1948-0F0FA8AE2C10}{41}{B0}"><one:Position x="72.0" y="108.0" z="1"/><one:Size width="146.7475433349609" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{484F54DC-A933-0A49-1948-0F0FA8AE2C10}{42}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Foreground role control]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-features-01/read/page-013.pdf created
Binary files /dev/null and b/corpus/m6/native-features-01/read/page-013.pdf differ
corpus/m6/native-features-01/read/page-013.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{90291BBC-AE69-0190-166D-36147B38848C}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{14971D0D-9097-068C-0A60-5442F6DFA7CC}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{14971D0D-9097-068C-0A60-5442F6DFA7CC}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="231.1436157226562" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{14971D0D-9097-068C-0A60-5442F6DFA7CC}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group A/Duplicate.one, level 1]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-features-01/read/page-014.pdf created
Binary files /dev/null and b/corpus/m6/native-features-01/read/page-014.pdf differ
corpus/m6/native-features-01/read/page-014.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{928D8868-48FD-0F21-0CD1-4D2B30EA319B}{1}{B0}" name="Image jpg" dateTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T02:25:42.000Z" objectID="{4CB02E47-BF20-07C4-32A2-DFEFF8A46A6A}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image jpg]]></one:T></one:OE></one:Title><one:Image format="jpg" hyperlink="https://example.invalid/image/jpg" alt="Pattern jpg" originalPageNumber="0" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{4CB02E47-BF20-07C4-32A2-DFEFF8A46A6A}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="144.0" height="48.00000381469727" isSetByUser="true"/><one:Data>/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a
3HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy
4MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABAAGADASIA
5AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
6AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3
7ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
8p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA
9AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
10BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
11U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
12uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDwhYfa
13plh9qsrD7VMsPtUqRFOqVVh9qmWH2qysPtUyw+1UpHbTqlZYfaplh9qsrD7VMsPtVqR206pVWGpl
14h9qsrDUyw+1UpHbTqlZYalWH2q0sNSrD7VSkdtOqVlh9qmWH2qysPtUyw+1UpHdTqnHrD7VMsPtV
15lYfaplh9q81SPyqnVKqw+1TLD7VZWH2qZYfaqUjtp1SssPtUyw+1WVh9qmWH2qlI7adUqrDUyw+1
16WVhqZYfarUjtp1SssNSrD7VaWGpVh9qpSO2nVKyw+1TLD7VZWH2qZYfaqUjup1Tj1h9qmWH2qysP
17tUyw+1eapH5VTqlVYfaplh9qsrD7VMsPtVKR206pWWH2qZYfarKw+1TLD7VSkdtOqVVhqZYfarKw
181MsPtVqR206pWWGpVh9qtLDUqw+1UpHbTqlZYfaplh9qsrD7VMsPtVKR206px6w+1TLD7VZWH2qZ
19YfavNUj8rp1SqsPtUyw+1WVh9qmWH2qlI7adUrLD7VMsPtVlYfaplh9qpSO2nVKqw1MsPtVlYamW
20H2q1I7adUrLDUqw+1WlhqVYfaqUjtp1SssPtUyw+1WVh9qmWH2qlI7adU//Z
21</one:Data></one:Image></one:Page>
corpus/m6/native-features-01/read/page-015.pdf created
Binary files /dev/null and b/corpus/m6/native-features-01/read/page-015.pdf differ
corpus/m6/native-features-01/read/page-015.xml created+300
...@@ -0,0 +1,300 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{94C62EC6-F324-0BC2-1D81-49C0C4A50799}{1}{B0}" name="Image tiff" dateTime="2026-09-06T02:25:43.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:44.000Z" lastModifiedTime="2026-09-06T02:25:44.000Z" objectID="{D746D8B9-DC60-07DD-27DF-45F31D7AA15C}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image tiff]]></one:T></one:OE></one:Title><one:Image format="png" hyperlink="https://example.invalid/image/tiff" alt="Pattern tiff" originalPageNumber="0" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{D746D8B9-DC60-07DD-27DF-45F31D7AA15C}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="144.0" height="48.00000381469727" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAAXNSR0IArs4c6QAAAARnQU1BAACx
3jwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAEImSURBVHheDbiBV2GL+v+/f9V1q+uk46TjpDFp
4TBqDMUhoh3Zoh3Zoh3Zoh3YYgzE0Jo1J46TjpOOk61Yf32pZ1bKqZVXLqpZV/W2/8y8863nez/v1
5AgAAaAL+vxagiQQ0twIt7cC/yACpA/h3J9BKBdq6gPZu4D90gNwD/NQLdDABSh/Q2Q/8zAaoA8Av
6g0AXF6DxgG4B8KsQoIuA3yRAjxRgyIBeBfACBJhK4KUa6IMAlgbo1wGvYICtB14bgQEE4JiAQQvw
7BgW4VuCtHeBhAN8BCFzAOxwQuoH3XkBEAGIfIAkAQ0FAGgKGI4AsCshjgGIFGEkA4CowugYoU4Bq
8HVBvAGMZANoExrcATQ7QbgO6HWCiAMC7wOQeoC8Bhn3AeAhMlQHkCJg+AUwVwHwKWM6BmSqAXgCz
9V4C1BtiuAfstMFcHsDtg/gFwNADnI+B6BhYAoPn/a2puamluJjW3tDb/q72ZRG7+d0dza2dzG7W5
10vav5P93NZHrzTz3NHb3NFGZzZ1/zz/3NVHbzLwPNXYPNNG5zN6/5V0EzXdj8m6i5R9LMkDb3yppf
11KJqZYPNLZXOfupkFNfdrml/pmtlw82t984CxmYM0D5qa31iauWjzW2szz97Mx5oFjuZ3rmYh3vze
123SzyNouJZomveSjQLA02D4eaZZFmebRZEWseWWkGE82jq83KtWZVqlm93jy20Qxlmsc3mzVbzdpc
13s267eWKnGS40T+426/eaDaVm437z1GEzUm6ePmo2nTSbK82W0+aZ82a02jx70Wy9arbVmu3XzXO3
14zVi9ef6u2fHQ7Gw0ux6bF56bcQAgNTX9MxtSC4n0r1YSqZ30bzKptYPU1klqp5L+00Uid5N+opM6
15ekiUXlInk/RzH4naT/qFTeoaINEGSd1c0q88El1A+k1I6hGRGBJSr5T0QkZiKkgvQVKfksRSk/oh
160isNia0jvYZJA3oSx0gaREhvTCSuhfQWJfGsJL6dJMBI7xwkoYv0HieJ3CSxlyQhSEM+kjRAGg6S
17ZCGSPEJSREkjMRK4QhpNkJSrJNUaSZ0ija2ToA3SeIak2SRpt0i6HGlimwTvkCYLJP0uybBHMpZI
18U/sk5JA0XSaZjkjmE5KlQpo5JaHnpNkqyXpBsl2R7DXS3DUJuyXN10mOO5LzgeRqkBYeSfgzaREA
192pqb2lpa2v5FaiO1tv27va2V3NbW0dbe2fYfahu5q+2n7rYOehulp62zt+1nZhu1r+2X/rYudhtt
20oK17sO1Xbhud1/aboK1H2MYQtfVK2l5I25iytpeKtj6wjaVs61e3vYLa2Jq217q2AbiNo28bNLa9
21Qdq4pra3ljYe2sa3tgnsbe+wNqGj7b2rTYS3id1tEm/bENEm9bUNB9pkwTZ5qE0RaRuJtoGxttGV
22NmWiTbXapl5rG0u1Qett4xttmkybdrNNt9U2kWuDt9smd9r0hTbDbptxr22q1Ibst00ftpnKbeaj
23NstJ20ylDT1tmz1vs1bbbBdt9qu2uVobdt02f9vmqLc579pcD20LjTb8sW3xuc0NAOSWJvK/Wsgk
24EvnfreTWdnIbmdzeQf5PJ5lMJf/URe7oJlPo5M4e8s+9ZCqT/EsfuaufTGOTuwfIvw6S6Vzybzxy
25j4DMEJJ7ReQXEjJTSn4pI/cpyCyQ3K8kv1KT2RD5tYY8oCNzYPKgnvzGSOYi5LcmMs9C5qNkgZX8
26zk4WYuT3DrLIRRbjZImbPOQlSwnysI8sC5DlQbIiRB6JkMEoeTRGVq6QVQmyepU8tkaGUuTxdbJm
27g6zNkHWb5IktMpwjT26T9TtkQ4Fs3CVP7ZGREnl6n2w6JJvLZMsReeaEjFbIs6dk6znZViXbL8hz
28V2SsRp6/Jjtuyc462XVHXngg4w3y4iPZ/Uz2AADlX00UUgvl3yRKayulrZ3STqb8p4NC7qT8RKV0
29dFEo3ZROOuXnHgq1l/ILk9LVR6H1U7rZlF8HKPRBym9cSg+PwhBQeoWUFyIKU0J5KaX0ySgsBaUf
30pLxSUthqymuIMqChcHSUQZjyRk/hGilvEQrPROFbKAKU8s5KEdop7zGKyEERuygSnDLkpki9lGGC
31IvNR5AGKIkgZCVHACGU0SlHGKKoVijpBGVulQGuU8RRFs07RblB0GcrEJgXeokzmKPptimGHYixQ
32pnYpyB5lukQx7VPMhxRLmTJzREFPKLMVivWUYjun2KuUuQsKdkWZr1Ec1xTnLcVVpyzcUfAHymKD
334n6keJ4pXgCgkpqo/26htpKoba3U9nbqf/7ZnA7qT53UDiqV0kXt7Kb+TKdSe6i/9FK7mFRaH7W7
34n/orm0ofoP42SO3hUhk8aq+A+kJIZYqoLyXUPimVJaP2K6ivQCpbSX2tpg5AVI6GOqijvoGpXD31
35rZHKQ6h8E1Vgob5DqUIr9b2dKsKoYgdV4qIO4VSpmzrspcoIqtxHVQSoI0EqGKKORqjKKFUVo6pX
36qGMJKrRKHV+jalJU7TpVt0GdyFDhTerkFlWfoxq2qcYd6lSBiuxSp/eophLVvE+1HFJnylT0iDp7
37QrVWqLZTqv2cOlelYhfU+Suqo0Z1XlNdt9SFOhW/oy4+UN0NqueR6n2mLgEA7d9NtNYWWhuJ1t5K
38+087jUym/dRB6+ikUai0zi7az900Kp32Sw+tq5dGY9K6+2i/9tPobNpvA7SeQRqDS+vl0V4IaEwh
397aWI1iehsaS0fhntlYLGBmmvlbQBNY0D0QY1tDc6GhemvdXTeEYaH6EJTLR3FpoQpb230kR2mhij
40SRy0IRdNitOG3TSZlyYnaAofbSRAA4O00RBNGaGpojR1jDa2QoMStPFVmmaNpk3RdOu0iQ0anKFN
41btL0WzRDjmbcpk3t0JACbXqXZtqjmUs0yz5t5pCGlmmzRzTrCc1WodlPaXPnNKxKm7+gOa5ozhrN
42dU1buKXhddriHc39QPM0aN5H2tIzjQAAemsTva2F3k6i/6eVTm6n/0Smd3TQ/7mrTir95y46tZv+
43C53e1UOn9dK7mfRf++j0fvpvbHrPAJ0xSO/l0l/w6EwB/aWQ3ieisyT0fin9lYzOVtBfg/QBJZ2j
44pg9C9DcaOldHfwvTeXo630gXIPR3JrrQQn+P0kVWuthOl2D0IQdd6qIP43SZmy730hUEfcRHBwP0
450SBdGaKrInR1lD4Wo0Mr9PEEXbNK167RdSn6xDod3qBPZuj6Tbphi27M0ae26cgOfbpAN+3SzXt0
46S4k+s09HD+mzZbr1iG47odsr9LlTOnZOn6/SHRd05xXdVaMvXNPxW/pine6+o3se6N4GfemRTjzT
47lwGA0dbEaG9h/IfEILcyfmpndJAZlA5GZyfjZyqD2sX4pZvRRWfQehjdvYxfmQx6H+O3fkYPm8EY
48YPQOMl5wGUwe46WA0SdksESMfgnjlZTBljFeKxgDIIOjZAyqGW8gBlfDeKtj8GAGX88QGBnvEIbQ
49xHhvYYhQhtjKkNgZQxhD6mAMuxgynCF3MxRexgjBAH2M0QBDGWSoQgx1hDEWZUAxxvgKQ5NgaFcZ
50ujXGRIoBrzMmNxj6DMOwyTBuMaZyDGSbMb3DMBUY5l2GZY8xU2Kg+4zZQ4a1zLAdMewnjLkKAztl
51zJ8zHFWG84LhumIs1Bj4NWPxluGuMzx3DO8DY6nBIB4Zy88MHwAw25uY/2lhkknMn1qZHe1MCpnZ
522cH8uZNJpTJ/6WJ2dTNpdGZ3D/PXXiadyfytj9nTz2Swmb0DzBeDTCaX+ZLH7BMwWUJmv4j5SsJk
53S5mvZcwBBZMDMgeVzDdqJhdivtUweTomH2YK9Mx3RqYQYb43MUUWphhlSqzMITtTijGHHUyZiynH
54mQo3c8TLBAnmqI+pDDBVQaY6xByLMKEoczzG1KwwtQmmbpU5scaEU8zJdaZ+g2nIMI2bzKktJpJj
55Tm8zTTtMc4Fp2WXO7DHREnN2n2k9ZNrKTPsRc+6EiVWY86dMxznTWWW6LpgLV0y8xly8ZrpvmZ46
5603vHXHpgEg3m8iPT98z0AwDrP00scgvrJxKro5VFaWd1klk/d7ConaxfqKyuLhatm9VNZ/3aw6L3
57sn5jsnr6WIx+Vi+b9WKAxRxkveSy+ngsloDVL2S9ErHYEtZrKWtAxuIoWIMg642SxVWz3kIsnobF
5817EEMOudniU0st4jLJGJJbawJChryMqS2lnDGEvmYMldLAXOGnGzQC9rlGApfSxVgKUOssZCLCjC
59Go+yNDGWdoWlS7AmVlnwGmsyxdKvswwbLGOGNbXJQrZY0zmWaZtl3mFZCqyZXRa6x5otsaz7LNsh
60y15mzR2xsBPWfIXlOGU5z1muKmvhgoVfsRZrLPc1y3PL8tZZS3cs4oG13GD5Hln+Z1YAANjkJvZP
61LewOEpvSyu5sZ/9MZlM72L90sruobFoXu7ub/Sv9n8hh/9bL7mGyGX3s3n72CzabOcB+Ocju47JZ
62PHa/gP1KyGaL2K8l7AEpmyNjDyrYb0A2V8l+q2bzIDZfwxbo2O9gtlDPfm9kixC22MSWWNhDKFtq
63ZQ/b2TKMLXewFS72CM4G3exRL1tJsFU+tjrAHguyoRB7PMLWRNnaGFu3wp5IsOFV9uQaW59iG9bZ
64xg32VIaNbLKnt9imHNu8zbbssGcKbHSXPbvHtpbYtn22/ZA9V2ZjR+z5E7ajwnaesl3n7IUqG79g
65L16x3TW255rtvWUv1dnEHXv5ge1rsP2P7MAz+wMAcH5q4nS0cCgkTmcr5+d2DpXM+aWD09XJoVE5
663V2cX7s5dDrntx5OTy+HweT09nFe9HOYbM7LAU7fIIfF5fTzOK8EHLaQ81rEGZBwOFLOoIzzRsHh
67gpy3Sg5PzeFDHIGG807HEcKc93qOyMgRIxyJiTNk4UhRzrCVI7Nz5BhH4eCMuDggzhl1c5Rejorg
68qH2csQAHCnLGQxxNhKONcnQxzsQKB05wJlc5+jWOIcUxrnOmNjhIhjO9yTFtccw5jmWbM7PDQQuc
692V2OdY9jK3Hs+5y5Qw5W5swfcRwnHGeF4zrlLJxz8Cpn8YLjvuJ4ahzvNWfplkPUOct3HN8Dx9/g
70BB45H545QQDgdjRxKS3cThL351YutZ37C5nb1cGldXK7qdxfu7j0bu5vdG5PD5fRy+1lcl/0cZn9
713Jdsbt8AlzXI7edyX/G4bAH3tZA7IOJyJNxBKfeNjMtVcN+CXJ6Sy1dzBRD3nYYr1HHfw1yRnis2
72ciUId8jElVq4wyhXZuXK7VwFxh1xcEEXdxTnKt1clZerJrhjPi4U4I4HuZoQVxvh6qLciRgXXuFO
73Jrj6Va5hjWtMcafWucgGdzrDNW1yzVtcS447s81Fd7izBa51l2vb49pL3Ll9LnbInS9zHUdc5wnX
74VeEunHLxc+5ileu+4HquuN4ad+maS9xyl+tc3x3X/8ANNLgfHrnBZ+5HAOBTmvidLfyfSXxqK/+X
75dn4XmU/r4Hd38n+l8uld/N+6+T10PqOH39vLf8HkM/v4L/v5fWw+a4DfP8h/xeWzefzXAv6AkM8R
768Qcl/DdSPlfGf6vg80A+X8kXqPnvIL5Qw3+v44tgvljPlxj5QwhfauIPW/gylC+38hV2/gjGBx38
77URdfifNVbr7ayx8j+JCPPx7ga4J8bYivi/Anonw4xp9c4esTfMMq37jGn0rxkXX+9AbflOGbN/mW
78Lf5Mjo9u82d3+NYC37bLt+/x50p8bJ8/f8h3lPnOI77rhL9Q4eOn/MVzvrvK91zwvVf8pRqfuOYv
793/J9db7/jh944H9o8IOP/I/P/BAACDubhD+3CKkk4S+twq52IY0s7O4Q/toppFOFv3UJe7qFDLqw
80t0f4olfIZApf9gn7/glktrB/QPhqUMjmCl/zhAMCIUcoHBQJ30iEXKnwrUzIUwj5oFCgFL5TC4WQ
818L1GKNIJxbBQohcOGYVSRDhsEsosQjkqVFiFI3YhiAlHHUKlS6jChWq3cMwrhAjhuE+oCQi1QaEu
82JJyICOGocDIm1K8IDQmhcVU4tSZEUsLpdaFpQ2jOCC2bwpktIZoTzm4LrTtCW0Fo3xXO7QmxknB+
83X+g4FDrLQteRcOFEiFeEi6dC97nQUxV6L4RLV0KiJly+Fvpuhf66MHAn/PAgDDaEHx+FoWdhGADE
84PzeJqS3iX0jirlYxrV3cTRb/2iGmd4p/o4p7usSMbnEvXfyiR8zsFb9kivv6xKx+cT9b/GpAzB4U
85v+aKB3hijkA8KBS/EYm5EvFbqZgnE/MVYgEofqcUC9Xi95BYpBGLdWIJLB7Si6VG8TAilpnEcotY
86gYpHrGLQLh7FxEqHWOUSq3HxmFsMecXjhFjjE2sDYl1QPBESwxHxZFSsj4kNK2JjQjy1KkbWxNMp
87sWldbN4QWzLimU0xuiWezYmt22LbjtheEM/tirE98XxJ7NgXOw/FrrJ44UiMn4gXK2L3qdhzLvZW
88xUsXYuJKvFwT+67F/ltxoC7+cCcOPog/NsShR3H4WRwBACm1SfpLi7SLJKW1Srvbpb+SpfQO6W+d
890h6qlNEl7e2WvqBLmT3Sl73SPqaU1Sft75e+Ykv/eVevB6UDXCmHJx0USN8IpVyR9K1EypNK+TKp
90QCF9B0qFSul7tVQEScUaqUQnHYKlUr102CiVIVK5SaqwSEdQKWiVjtqlSkyqckjVLukYLoXc0nGv
91VENItT6pLiCdCErhkHQyItVHpYaY1LginUpIkVXp9JrUlJKa16WWDelMRopuSme3pNac1LYtte9I
925wpSbFc6vyd1lKTOfanrULpQluJH0sUTqbsi9ZxKvefSpaqUuJAuX0l9Nan/Whq4lX6oS4N30o8P
930lBDGn6URp6lnwBA/kuTvKtFTiPJu1vlv7bL6WT5bx3ynk45gyrv7ZK/6JYz6fKXPfK+XjmLKe/v
94k7/ql7PZ8tcD8oFBOYcrH+TJ3wjkXKH8rUjOk8j5UrlAJn+nkAtB+XulXKSWiyG5RCMf0smlsHxY
95L5cZ5XJErjDJRyxyEJWPWuVKu1yFydUO+ZhLDuHycbdc45VrCbnOJ58IyOGgfDIk10fkhqjcGJNP
96rciRhHx6VW5ak5tTcsu6fGZDjmbks5ty65bclpPbt+VzO3KsIJ/flTv25M6S3LUvXziU42X54pHc
97fSL3VOTeU/nSuZyoypcv5L4rub8mD1zLP9zKg3X5xzt56EEebsgjj/JPz/IoAIBdTSCtBewmgb+2
98gvR28Dcy2NMBMjrBXir4ogtkdoMv6WBfD8jqBfuZ4Ks+kN0PvmaDAwMgZxAc5IJveCBXAL4VgjwR
99yJeAAin4TgYKFeB7EBQpQbEalEDgkAaU6sBhGJTpQbkRVCDgiAkELeAoCiqtoMoOqjFwzAFCLnAc
100BzVuUOsFdQQ44QPhADgZBPUh0BABjVFwKgYiK+B0AjStguY10JICZ9ZBdAOczYDWTdC2Bdpz4Nw2
101iO2A8wXQsQs690BXCVzYB/FDcLEMuo9AzwnorYBLpyBxDi5XQd8F6L8CAzXwwzUYvAU/1sHQHRh+
102ACMN8NMjGH0GPwOAitak6m5R/UpS0VtVv7WresgqRoeqt1P1gqpidqledqv66CpWj6q/V/WKqWL3
103qV73qwbYKs6AanBQ9Yar4vJUbwUqnlDFF6kEEtU7qUooU71XqESgSqxUSdSqIUgl1aiGdSoZrJLr
104VQqjagRRgSbVqEWlRFUqq0ptV41hKsihGnepNLhK61bpvKoJQgX7VJMBlT6oMoRUxohqKqpCYqrp
105FZUpoTKvqixrqpmUCl1XzW6orBmVbVNl31LN5VTYtmp+R+UoqJy7KteeaqGkwvdVi4cqd1nlOVJ5
106T1RLFRVxqlo+V/mqKv+FKnCl+lBTBa9VH29VoboqfKeKPKg+NVTRR9XnZ1UMAKDuJujXFohOgn5r
107hXraIQYZ6u2AXnRCTCr0sgvq64ZYdKi/B3rVC7GZ0Os+aKAf4rChwQHozSDE5UJveRBP8M8nhwQi
1086J0EEkqh9zJIpIDEICRRQkNqSApBwxpIpoPkMKTQQyNGCESgUROktEAqFFJboTE7BGHQuAPSuCAt
109Dunc0IQXgglo0gfpA5AhCBlD0FQEQqLQdAwyrUDmBGRZhWbWIDQFza5D1g3IloHsm9DcFoTloPlt
110yLEDOQuQaxda2IPwErS4D7kPIU8Z8h5BSycQUYGWTyHfOeSvQoEL6MMVFKxBH6+h0C0UrkORO+jT
111AxRtQJ8fodgzFAcA7a9NWnqL9jeStqdVy2jX9pK1Lzq0zE7tS6q2r0vL6tb207WverTsXu1rpnag
112T8vp1w6ytW8GtNxB7VuulsfT8gVagVD7TqQVSrTvpVqRTCtWaCWgdkiplaq1w5BWptHKdVoFrB3R
113a0GjdhTRKk1alUWrRrVjVi1k145jWo1Dq3Vpdbh2wq2FvdpJQqv3aQ0BrTGonQppkYh2Oqo1xbTm
114Fa0loZ1Z1aJr2tmU1rqutW1o7Rnt3KYW29LO57SOba1zR+sqaBd2tfiedrGkde9rPYdab1m7dKQl
115TrTLFa3vVOs/1waq2g8X2uCV9mNNG7rWhm+1kbr20502+qD93NDGHrXxZ+0KAMD0Jvi3FriHBDNa
1164d52+AUZZnbALzvhPirM6oL7u+FXdJjdA7/uhQeYMKcPHuyH37Bh7gD8dhDmcWE+DxYI4HdCWCiC
11730tgkRQWy2CJAh4CYakSHlbDMgiWa2CFDh6BYVAPjxphJQKrTLDaAo+hMGSFx+2wBoO1Dljngidw
118GHbDk15YT8AGH2wMwFNBGAnB0xHYFIXNMdiyAs8kYHQVnl2DrSnYtg7bN+C5DIxtwvNbsCMHO7dh
1191w68UIDxXXhxD3aXYM8+7D2El8owcQQvn8C+Cuw/hQPn8IcqHLyAP17BoRocvoYjt/CnOhy9gz8/
120wLEGHH+EV57hLwBg+K3J0NNiYJAMva2GF+0GJtnwssPQ12lgUQ39XYZX3QY23fC6xzDQa+AwDYN9
121hjf9Bi7b8HbAwBs08LkGAc/wTmAQCg3vRQaRxCCWGiQyw5DCIAUNw0qDTG2QQwaFxjCiM4CwYVRv
122UBoNKsSgNhnGLAYINYxbDRq7QYsZdA7DhMsA44ZJt0HvNRgIg9FnmAoYkKBhOmQwRQzmqMESM8ys
123GNCEYXbVYF0z2FIG+7phbsOAZQzzmwbHlsGZM7i2DQs7BrxgWNw1uPcMnpLBu29YOjQQZcPykcF3
124YvBXDIFTw4dzQ7Bq+HhhCF0ZwjVD5Nrw6dYQrRs+3xliD4Z4w7DyaPjybEgAANLThDBakF4S8qIV
125YbYjL8lIXwfC6kT6qcirLoTdjbymIwM9CKcXGWQib/oQbj/ylo3wBhD+ICLgIu94iFCAvBciIhEi
126liASKTL0T89RIMMgIlMicjWigJARDQLqkFEYUeoRlRFRI8iYCYEsyDiKaKyI1o7oMGTCgcAuZBJH
1279G7E4EWMBDLlQ5AAMh1ETCHEHEEsUWQmhqAryGwCsa4itjXEnkLm1hFsA5nPII5NxLmFuHLIwjaC
1287yCLBcS9i3j2EG8JWdpHiENkuYz4jhD/CRKoIB9OkeA58rGKhC6Q8BUSqSGfrpHoLfK5jsTukPgD
129stJAvjwiiWfkKwCYGU3m3hbzC5KZ2Wp+2W7uI5tZHeb+TvMrqpndZX7dbR6gmzk95sFe8xummdtn
130fttv5rHN/AGzYND8jmsW8szvBWaR0CwWmSUS85DULJWZhxVmGWiWK80KtXkEMoMa86jOrITNKr1Z
131bTSPIWbIZB63mDWoWWs16+zmCcwMO8yTLrMeNxvcZqPXPEWYEZ95OmA2Bc3mkNkSMc9EzWjMPLti
132tibMtlWzfc08lzJj6+b5DbMjY3Zuml1b5oWcGd82L+6Y3QWzZ9fs3TMvlczEvnn50Owrm/1H5sCJ
133+UPFHDw1fzw3h6rm8IU5cmX+VDNHr82fb82xujl+Z155MH9pmBOP5q/P5lUAQHub0BctKJOEvmxF
134+9pRFhnt70BfdaJsKvq6Cx3oRjl0dLAHfdOLcpno2z6U14/y2ahgAH03iAq56HseKhKgYiEqEaFD
135ElQqRYdlqEyB/tMCFUp0RI2CEDqqQZU6VAWjaj06ZkQhBB03oRoLqkVRnRWdsKMwhk46UL0LNeCo
1360Y1OeVGEQKd9qCmAmoOoJYTORFA0is7GUOsKakug9lV0bg3FUuj8OurYQJ0Z1LWJLmyheA5d3Ebd
137O6ingHp30aU9lCihy/uo7xD1l9HAEfrhBA1W0I+naOgcDVfRyAX66QqN1tDP12jsFo3X0ZU79MsD
138mmigXx/R1Wc0CQC2F002ZovtJcnW12pjtdv6ybZXHTZ2p+011TbQZeN02wbptjc9Nm6v7S3Txuuz
1398fttArbt3YBNOGh7z7WJeDaxwCYR2oZENqnENiy1yWQ2ucKmAG0jShuoto1CNqXGptLZ1LBtTG+D
140jLZxxKYx2bQWmw61TVhtsN02idn0DpvBZTPitim3DfHapgmbyWczB2yWoG0mZEMjttmozRqz2VZs
1419oRtbtWGrdnmUzbHus25YXNlbAubNnzLtpizubdtnh2bt2Bb2rURe7blks23b/Mf2gJl24cjW/DE
1429rFiC53awue2SNX26cIWvbJ9rtli17b4rW2lbvtyZ0s82L42bKuPtuSzbQ0AMGYT9rIF6yNhrFas
143vx17RcbYHdjrTmyAinG6sMFu7A0d4/Zgb3sxHhPj92GCfuwdGxMOYO8HMREXE/MwiQAbEmJSETYs
144wWRSTC7DFApsBMRAJTaqxpQQptJgah02BmOQHhs3YhoE05ownQWbQDHYik3aMT2GGRyY0YVN4Rji
145xqa9mInAzD7MEsBmghgawmYjmDWK2WKYfQWbS2DYKja/hjlSmHMdc21gCxkM38QWtzB3DvNsY94d
146bKmAEbvY8h7mK2H+fSxwiH0oY8Ej7OMJFqpg4VMsco59qmLRC+zzFRarYfFrbOUW+1LHEnfY1wds
147tYElH7G1Z+wbADhfNjn7WpwskrO/1fmq3ckmO193OAc6nRyqc7DL+abbyaU73/Y4eb1OPtMp6HO+
14863cK2c73A07RoFPMdUp4ziGBUyp0DoucMolTLnUqZM4RhRMEnaNKp1LtVEFOtcY5pnNCsHNc79QY
149nVrEqTM5JyxOGHVOWp16u9OAOY0O55TLieDOabfT5HWaCafF55wJONGgczbktEactqjTHnPOrTix
150hHN+1elYczpTTte6c2HDiWeci5tO95bTk3N6t51LO06i4Fzedfr2nP6SM7Dv/HDoDJadH4+coRNn
151uOKMnDo/nTujVefnC2fsyhmvOVeunV9unYm68+udc/XBmWw41x6d356dKQDA+5pwVgveT8JfteLs
152dvw1GR/owDmd+CAVf9OFc7vxt3Sc14Pze3EBE3/Xhwv78fdsXDSAiwdxCRcf4uFSAT4sxGUiXC7B
153FVJ8RIaDCnwUxJVKXKXG1RA+pvmnIOPjMK7R41ojrkPwCRMOW/BJFNdbcYMdN2L4lANHXPg0jpvc
154uNmLWwh8xoejAXw2iFtDuC2C26P4XAzHVvD5BO5YxZ1ruCuFL6zj+Aa+mMHdm7hnC/fm8KVtnNjB
155lwu4bxf37+GBEv5hHw8e4h/LeOgID5/gkQr+6RSPnuOfq3jsAo9f4Ss1/Ms1nrjFv9bx1Ts8+YCv
156NfBvj3jqGf8OAB5Wk6e/xfOK5GG3el63ewbIHk6HZ7DT84bq4XZ53nZ7eHQPv8cj6PW8Y3qEfZ73
157/R4R2yMe8EgGPUNcj5TnGRZ4ZEKPXORRSDwjUg8o84wqPErQo1J61GrPGOSBNJ5xnUcDe7R6j87o
158mUA8sMkzafHoUY/B6jHaPVOYB3F4pl0eE+4xuz0Wr2eG8KA+z2zAYw16bCGPPeKZi3qwmGd+xeNI
159eJyrHteaZyHlwdc9ixsed8bj2fR4tzxLOQ+x7Vne8fgKHv+uJ7Dn+VDyBPc9Hw89obInfOSJnHg+
160VTzRU8/nc0+s6olfeFauPF9qnsS15+utZ7XuSd551h483xqe1KPn+7NnHQCI/ibiVQvBJhGvW4mB
161doJDJgY7iDedBJdKvO0ieN0En04Ieoh3vYSQSbzvI0T9hJhNSAaIoUFCyiWGeYRMQMiFhEJEjEgI
162UEqMygilglCBhFpJjKkJCCLGNYRGR2hhQqcnJowEjBCTJkJvIQwoYbQSU3YCwYhpB2FyEWacsLiJ
163GS+BEsSsj7AGCFuQsIeIuQiBRYn5GOFYIZwJwrVKLKwReIpYXCfcG4QnQ3g3iaUtgsgRy9uEb4fw
164F4jALvFhjwiWiI/7ROiQCJeJyBHx6YSIVojPp0TsnIhXiZUL4ssVkagRX6+J1VsiWSfW7ohvD0Sq
165QXx/JNafiTQA+F81+dkt/tck/0Crn9PuHyT733T4uZ3+t1Q/r8vP7/YL6P53PX5hr/890y/q84v7
166/RK2f2jALx30D3P9Mp5fLvArhP4RkR+U+EelfqXMr1L41aB/TOmH1P5xyK/R+LU6vw72T+j9sNE/
167ifj1Jr/B4jei/imrH7H7pzG/yeE3u/wW3D/j9qNe/yzht/r8toDfHvTPhfxYxD8f9TtifueK35Xw
168L6z68TX/YsrvXvd7NvzejH9p009s+Zdzft+237/jDxT8H3b9wT3/x5I/tO8PH/ojZf+nI3/0xP+5
1694o+d+uPn/pWq/8uFP3Hl/1rzr177k7f+tbr/250/9eD/3vCvP/rTz/4NAAiym4KvW4IDpCCnNTjY
170HnxDDnI7gm87gzxqkN8VFHQH39GDwp7g+96giBkU9wUl/cEhdlA6EBweDMq4QTkvqBAER4RBUBQc
171lQSV0qBKFlQrgmNgEFIGx9VBDRTUaoI6XXACDsL64KQxqP8HH0xBoyU4hQYRa3DaHjRhQbMjaHEF
172Z/Ag6g7OeoNWImjzBe2B4FwwiIWC85GgIxp0xoKuleBCIoivBhfXgu5U0LMe9G4ElzJBYjO4vBX0
1735YL+7WBgJ/ihEAzuBj/uBUOlYHg/GDkMfioHo0fBzyfBWCUYPw2unAe/VIOJi+DXq+BqLZi8Dq7d
174Br/Vg6m74PeH4HojmH4MbjwHfwBA+HVTeKAlzCGFB1vDb9rDXHL4bUeY1xnmU8OCrvC77rCQHn7f
175Exb1hsXMsKQvPNQflrLDwwNh2WBYzg0reOERQRgUhkdFYaUkrJKG1bLwmCIMgeFxZVijDmuhsE4T
176ntCFYTg8qQ/rjWEDEjaawlOWMIKGp61hkz1sxsIWR3jGFUbx8Kw7bPWGbUTY7gvPBcJYMDwfCjsi
177YWc07IqFF1bCeCK8uBp2r4U9qbB3Pby0ESYy4eXNsG8r7M+FA9vhDzvhYCH8cTcc2guHS+HIfvjT
178YThaDn8+CsdOwvFKeOU0/OU8nKiGv16EV6/CyVp47Tr87Tacqoe/34XXH8LpRnjjMfzjOZwBgOhA
179U5TTEh0kRd+0Rrnt0bfkKK8jyu+MCqjRd11RYXf0PT0q6omKe6MSZnSoLyrtjw6zo7KBqHwwquBG
180R3hRUBAdFUaVoqhKElVLo2OyKKSIjoNRjTKqVUd1UHRCE4V10Uk4qtdHDcaoEYlOmaL/wNU0GjVZ
181o2Z71IJFZxxR1BWdxaNWd9TmjdqJ6JwvigWi88GoIxR1RqKuaHQhFsVXoouJqHs16lmLelPRpfUo
182sRFdzkR9m1H/VjSQi37YjgZ3oh8L0dBuNLwXjZSin/aj0cPo53I0dhSNn0RXKtEvp9HEefRrNbp6
183EU1eRddq0W/X0dRt9Hs9un4XTT9ENxrRH4/RzHP0dwCIc5rigy3xN6Q4tzX+tj3OI8f5HXFBZ/wd
184NS7sir/vjovocXFPXNIbH2LGpX3x4f64jB2XD8QVg/ERbhzkxUcFcaUwrhLF1ZL4mDQOyeLjirgG
185jGuVcZ06PgHFYU18UhfXw3GDPm40xqeQOGKKT1viJjRutsYt9vgMFkcd8VlX3IrHbe643RufI+KY
186Lz4fiDuCcWco7orEF6JxPBZfXIm7E3HPaty7Fl9KxYn1+PJG3JeJ+zfjga34h1w8uB3/uBMPFeLh
1873XhkL/6pFI/uxz8fxmPlePwovnIS/1KJJ07jX8/jq9V48iK+dhX/VounruPfb+Pr9Xj6Lr7xEP/R
188iGce478/xzcBIDHYlHjTkuCSEm9bE7z2BJ+cEHQk3nUmhNTE+66EqDshpickPYmh3oSUmRjuS8j6
189E3J2QjGQGBlMgNzEKC+hFCRUwoRalBiTJCBpYlyW0CgSWjChUyYm1AkYSkxqEnpdwgAnjPrElDGB
190IIlpU8JkSZjRhMWamLEnUCwx60hYXQkbnrC7E3PeBEYk5n0JRyDhDCZcocRCJIFHE4uxhHsl4Ukk
191vKuJpbUEkUosryd8Gwl/JhHYTHzYSgRziY/bidBOIlxIRHYTn/YS0VLi834idpiIlxMrR4kvJ4lE
192JfH1NLF6nkhWE2sXiW9XiVQt8f06sX6bSNcTG3eJHw+JTCPx+2Ni8zmRBYDkm6YktyX5lpTktSb5
1937UkBOfmuIynsTL6nJkVdSXF3UkJPDvUkpb3JYWZS1peU9ycV7OTIQBIcTI5yk0peUiVIqoXJMVES
194kiTHpUmNLKlVJHVgckKZhNXJSSip1yQNuqQRTk7pk4gxOY0kTaak2ZK0oMkZaxK1J2expNWRtLmS
195djw5505i3uQ8kXT4ks5A0hVMLoSSeCS5GE26Y0nPStKbSC6tJom15HIq6VtP+jeSgUzyw2YyuJX8
196mEuGtpPhnWSkkPy0m4zuJT+XkrH9ZPwwuVJOfjlKJk6SXyvJ1dNk8jy5Vk1+u0imrpLfa8n162T6
197NrlRT/64S2Yekr83kpuPyexzcgsAUtym1NuWFI+U4remBO2pd+SUsCP1vjMloqbEXSlJd2qInpL2
198pIZ7UzJmSt6XUvSnRtgpcCA1OphSclMqXkotSI0JU5AoNS5JaaQprSylU6QmwBSsTE2qU3ooZdCk
199jLrUFJxC9KlpY8qEpMymlMWSmkFTqDU1a09ZsX+4M2V3pebwFOZOzXtTDiLl9KVcgdRCMIWHUouR
200lDua8sRS3pXUUiJFrKaW11K+VMq/ngpspD5kUsHN1MetVCiXCm+nIjupT4VUdDf1eS8VK6Xi+6mV
201w9SXcipxlPp6klqtpJKnqbXz1LdqKnWR+n6VWq+l0tepjdvUj3oqc5f6/SG12UhlH1Nbz6k/ACD9
202tinNa0nzSWlBa/pde1pITr/vSIs602JqWtKVHupOS+np4Z60rDctZ6YVfemR/jTITo8OpJWDaRU3
203realxwRpSJgeF6U1krRWmtbJ0hOKNAymJ5VpvTptgNJGTXpKl0bg9LQ+bTKmzUjaYkrPWNIomp61
204pq32tA1L2x3pOVcaw9Pz7rTDm3YSaZcvvRBI48H0YijtjqQ90bQ3ll5aSROJ9PJq2reW9qfSgfX0
205h410MJP+uJkObaXDuXRkO/1pJx0tpD/vpmN76XgpvbKf/nKYTpTTX4/SqyfpZCW9dpr+dp5OVdPf
206L9LrV+l0Lb1xnf5xm87U07/fpTcf0tlGeusx/cdzOgcAGV5Tht+SEZAy71ozwvbMe3JG1JERd2Yk
2071MxQV0banRmmZ2Q9GXlvRsHMjPRlwP7MKDujHMioBjNqbmaMl4EEmXFhRiPKaCUZnTQzIcvAiswk
208mNErMwZ1xghlpjQZRJeZhjMmfcZszFiQzIwpg1oys2jGas3Y7Bk7lplzZDBXZh7PONwZpzfjIjIL
209vgweyCwGM+5QxhPJeKOZpViGWMksJzK+1Yx/LRNIZT6sZ4IbmY+ZTGgzE97KRHKZT9uZ6E7mcyET
210283E9zIrpcyX/UziMPO1nFk9yiRPMmuVzLfTTOo8872aWb/IpK8yG7XMj+tM5jbzez2zeZfJPmS2
211Gpk/HjO558yfAJDlN2UFLdl3pKywNfu+PSsiZ8UdWUlndoialXZlh7uzMnpW3pNV9GZHmFmwLzva
212n1Wys6qBrHowO8bNQrzsuCCrEWa1oqxOkp2QZmFZdlKR1YNZgzJrVGenoCyiyU7rsiY4a9ZnLcbs
213DJJFTdlZS9aKZm3WrN2encOymCM778o68KzTnXV5swtEFvdlFwNZdzDrCWW9kexSNEvEsssrWV8i
21461/NBtayH1LZ4Hr240Y2lMmGN7ORreynXDa6nf28k40VsvHd7Mpe9kspm9jPfj3MrpazyaPs2kn2
215WyWbOs1+P8+uV7Ppi+zGVfZHLZu5zv5+m92sZ7N32a2H7B+NbO4x++dzdhsAcoKm3LuWnJCUe9+a
216E7XnxOScpCM31JmTUnPDXTlZd05Ozyl6ciO9OZCZG+3LKftzKnZOPZAbG8xB3Nw4L6cR5LTCnE6U
217m5DkYGluUpbTK3IGMGdU5qbUOQTKTWtyJl3ODOcs+tyMMYciuVlTzmrJ2dCc3Zqbs+cwLDfvyDlc
218OSeec7lzC/9QOZFb9OXcgZwnmPOGckuRHBHNLcdyvpWcP5ELrOY+rOWCqdzH9VxoIxfO5CKbuU9b
219uWgu93k7F9vJxQu5ld3cl71copT7up9bPcwly7m1o9y3k1yqkvt+mls/z6WruY2L3I+rXKaW+/06
220t3mby9ZzW3e5Px5yuUbuz8fc9nMuDwD5d015YUv+PSkvas2L2/MScn6oIy/tzA9T87KuvLw7r6Dn
221R3ryYG9+lJlX9uVV/Xk1Oz82kIcG8+PcvIaX1wryOmF+QpSHJflJaV4vyxsUeSOYn1LmEXV+Gsqb
222NHmzLm+B8zP6PGrMzyJ5qylvs+TtaH7Omsfs+Xks73Dkna68C88vuPO4N79I5N2+vCeQ9wbzS6E8
223EckvR/O+WN6/kg8k8h9W88G1/MdUPrSeD2/kI5n8p818dCv/OZePbefjO/mVQv7Lbj6xl/9ayq/u
22455OH+bVy/ttRPnWS/17Jr5/m0+f5jWr+x0U+c5X/vZbfvM5nb/Nb9fwfd/ncQ/7PRn77MZ9/zu8A
225QEHYVHjfUhCRCuLWgqS9MEQuSDsKw50FGbUg7yoougsj9ALYUxjtLSiZBVVfQd1fGGMXoIHC+GBB
226wy1oeQWdoDAhLMCiwqSkoJcWDLKCUVGYAguIsjCtLpiggllTsOgKM3AB1RdmjQUrUrCZCnZLYQ4t
227YNbCvL3gwApOR8HlKizgBdxdWPQW3EThH2fhDRSWggUiVFiOFHzRgj9WCKwUPiQKwdXCx7VCKFUI
228rxciG4VPmUJ0s/B5qxDLFeLbhZWdwpdCIbFb+LpXWC0VkvuFtcPCt3IhdVT4flJYrxTSp4WN88KP
229aiFzUfj9qrBZK2SvC1u3hT/qhdxd4c+HwnajkH8s7DwX/gKA4vumoqilKCYVJa3FofailFwc7ijK
230OotyalHRVRzpLoL04mhPUdlbVDGL6r7iWH8RYhfHB4qawaKWW9TxihOCIiwsToqKeknRIC0aZcUp
231RREBi9PKokldNENFi6Y4oyuicHFWX7QaizakaDcV5yxFDC3OW4sOe9GJFV2O4oKriOPFRXfR7S16
232iKLXV1wKFIlgcTlU9EWK/mgxECt+WCkGE8WPq8XQWjGcKkbWi582itFM8fNmMbZVjOeKK9vFLzvF
233RKH4dbe4uldMlopr+8Vvh8VUufj9qLh+UkxXihunxR/nxUy1+PtFcfOqmK0Vt66Lf9wWc/Xin3fF
2347YdivlHceSz+9VwsAEBJ1FQSt5QkpNJQa0naXhoml2QdJXlnSUEtjXSVwO7SKL2k7CmpektqZmms
235rwT1l8bZJc1ASTtY0nFLE7wSLChNCkt6UckgKRmlpSlZCVGUpsGSSVkyq0sWqDSjKaG60ixcsupL
236NmPJjpTmTCXMUppHSw5ryWkvubDSgqOEu0qLeMntLnm8JS9RWvKViEBpOVjyhUr+SCkQLX2IlYIr
237pY+JUmi1FF4rRVKlT+ul6Ebpc6YU2yzFt0orudKX7VJip/S1UFrdLSX3Smul0rf9Uuqw9L1cWj8q
238pU9KG5XSj9NS5rz0e7W0eVHKXpW2aqU/rku529Kf9dL2XSn/UNpplP56LBWeS38DwIG46UDScjBE
239OpC2Hgy3H8jIB/KOA0XnwQj1AOw6GO0+UNIPVD0H6t6DMeYB1Hcw3n+gYR9oBw50gwcT3AOYdzAp
240ONALDwyiA6PkYEp6gMgOphUHJvDArDywqA9moANUczCrO7DCBzb9gd14MIccYKaDecuBAz1wWg9c
2419oMF7AB3HCy6Dtz4gcd94PUeLBEHhO9gOXDgCx74QweByMGH6EEwdvBx5SCUOAivHkTWDj6lDqLr
242B583DmKZg/jmwcrWwZfcQWL74OvOwWrhILl7sLZ38K10kNo/+H54sF4+SB8dbJwc/KgcZE4Pfj8/
2432KweZC8Otq4O/qgd5K4P/rw92K4f5O8Odh4O/mocFB4P/n4+2AWAsqSpPNRSlpLKw61lWXtZTi4r
244OsojnWWQWh7tKiu7yyp6Wd1THustQ8zyeF9Z01/Wssu6gfLEYBnmlid5Zb2gbBCWjaLylKSMSMvT
245srJJUTaDZYuyPKMuo1B5VlO26so2uGzXl+eMZQwpz5vKDkvZiZZd1vKCvYxj5UVH2e0qe/Cy111e
2468pYJorzsK/sCZX+wHAiVP0T+0Tnlj7FyaKUcTpQjq+VPa+Voqvx5vRzbKMcz5ZXN8petciJX/rpd
247Xt0pJwvltd3yt71yqlT+vl9ePyyny+WNo/KPk3KmUv79tLx5Xs5Wy1sX5T+uyrla+c/r8vZtOV8v
24879yV/3ooFxrlvx/Lu8/lIgAcDzUdS1uOh0nHstZjefuxgnw80nEMdh6PUo+VXceq7mM1/Xis5xjq
249PR5nHmv6jrX9xzr28cTAMTx4PMk91vOODYJjo/B4SnSMSI6npccm2bFZcWwBj2eUx6j6eBY6tmqO
250bbpjO3w8pz/GjMfzyLHDdOy0HLvQ4wXrMW4/XsSO3Y5jj+vYix8vuY8J7/EycezzHfsDx4Hg8YfQ
251cTBy/DF6HIodh1eOI4njT6vH0bXjz6nj2PpxfON4JXP8ZfM4sXX8NXe8un2c3DleKxx/2z1O7R1/
252Lx2v7x+nD483ysc/jo4zJ8e/V443T4+z58db1eM/Lo5zV8d/1o63r4/zt8c79eO/7o4LD8d/N453
253H4+Lz8d7AFCRNlWGWyoyUkXeWlG0V0bIFbCjMtpZUVIrqq6KursyRq9APZXx3oqGWdH2VXT9lQl2
254BR6oTA5W9NyKgVcxCipTwgoiqkxLKiZpxSyrWBSVGbCCKiuz6ooVqtg0FbuuMgdXMH1l3lhxIBWn
255qeKyVBbQCm6tLNorbqzicVS8rsoSXiHclWVvxUdU/L5KIFD5EKwEQ5WPkUooWgnHKpGVyqdEJbpa
256+bxWiaUq8fXKykblS6aS2Kx83aqs5irJ7craTuVboZLarXzfq6yXKun9ysZh5Ue5kjmq/H5S2axU
257sqeVrfPKH9VK7qLy51Vlu1bJX1d2bit/1SuFu8rfD5XdRqX4WNl7rvwXAM6Gm85kLWdy0pmi9Wyk
258/Qwkn412nCk7z1TUM3XX2Vj3GUQ/G+850/SeaZlnur6zif4zmH02OXCmHzwzcM+MvLMpwRkiPJsW
259nZkkZ2bpmUV2NqM4Q8GzWeWZVX1mg87smrM53RkGn83rzxzGMydy5jKdLVjOcPRs0Xrmtp95sDOv
26042zJdUbgZ8vuM5/3zE+cBXxnHwJnweDZx9BZKHIWjp5FYmefVs6iibPPq2extbN46mxl/ezLxlki
261c/Z182x16yyZO1vbPvu2c5YqnH3fPVvfO0uXzjb2z34cnmXKZ78fnW2enGUrZ1unZ3+cn+WqZ39e
262nG1fneVrZzvXZ3/dnhXqZ3/fne0+nBUbZ3uPZ/99PisBQFXWVJW3VBWk6khrFWyvjpKryo6qqrOq
263plbHuqpQd3WcXtX0VLW9VR2zOtFXhfurk+yqfqBqGKwaudUpXhURVKeFVZOoapZULdLqjKyKKqqz
264YNWqrNrUVTtUndNUMV11Hq469FWnsepCqgumKm6pLqJVt7XqsVe9WHXJUSVc1WW86nNX/d5qgKh+
2658FWDgerHYDUUqoYj1Ui0+ilWja5UPyeqsX9k11p1JVX9sl5NbFS/Zqqrm9XkVnUtV/22XU3tVL8X
266quu71fRedaNU/bFfzRxWfy9XN4+q2ZPqVqX6x2k1d179s1rdvqjmr6o7tepf19XCbfXvenX3rlp8
267qO41qv99rJaeq/8DgEt506Wi5XKEdAm2Xo62XyrJl6qOS3Xn5Rj1Euq6HO++1NAvtT2Xut7LCeYl
2683Hc52X+pZ18aBi6Ng5dT3EuEdzktuDQJL82iS4vkckZ6icouZxWXVvDSpry0qy/noEtMczmvu3TA
269l079pct4uYBc4qbLRculG730WC+99ssl7JJwXC67Ln34pd99GfBefiAug77Lj4HLUPAyHLqMRC4/
270RS+jscvPK5exxGV89XJl7fJL6jKxfvl143I1c5ncvFzbuvyWu0xtX37fuVwvXKZ3Lzf2Ln+ULjP7
271l78fXm6WL7NHl1snl39ULnOnl3+eX25XL/MXlztXl3/VLgvXl3/fXu7WL4t3l3sPl/9tXJYeL//3
272fLkPADVFU22kpQaSaqOtNWV7TUWuqTtqY501iFob76ppumtaek3XU5vorcHM2mRfTd9fM7BrxoHa
2731GAN4dameTWToGYW1iyi2oykhkprs7KaVVGzgTW7sjanrmFQbV5Tc+hqTrjm0tcWjDUcqS2aam5L
274zYPWvNbakr1GYLVlR83nqvnxWsBd++CtBYnaR18tFKiFg7VIqPYpUotGa59jtdhKLZ6orazWvqzV
275/lGBX9drqxu1ZKa2tln7tlVL5Wrft2vrO7V0obaxW/uxV8uUar/v1zYPa9lybeuo9sdJLVep/Xla
2762z6v5au1nYvaX1e1Qq3293Vt97ZWrNf27mr/faiVGrX/Pdb2n2sHAHAz0nQDttyMkm6UrTeq9hs1
277+Was4wbqvBmn3mi6brTdNzr6zUTPDdx7M8m80ffdGPpvjOybqYEbZPBmmntj4t2YBTcW4c2M6AaV
2783MxKb6yyG5vixg7ezClvMPXNPHTj0Nw4dTcu+GZBf4MbbxaRG7fpxmO58aI3S9Ybwn6zjN34HDd+
279100Av/ngvgl6bz4SNyHfTThwEwnefArdRCM3n6M3sdhNfOVmJXHzZfUmsXbzNXWzun6T3LhZy9x8
28027xJbd18z92sb9+kd242Cjc/dm8yeze/l24292+yhzdb5Zs/jm5yJzd/Vm62T2/y5zc71Zu/Lm4K
281Vzd/1252r2+Ktzd79Zv/3t2UHm7+17jZf7w5eL45BIA62FQfbakrSXVVa13dXh8j16GO+nhnXUOt
282a7vquu76BL0O99Qne+t6Zt3QVzf216fYdWSgPj1YN3HrZl7dIqjPCOuoqD4rqVuldZusblfU58A6
283pqzPq+sOqO7U1F26+gJcx/X1RWPdjdQ9prrXUl9C64S1vmyv+7C631EPuOof8HrQXf/orYeIethX
284jwTqn4L1aKj+OVKPRevxWH1lpf4lUU+s1r+u1VdT9eR6fW2j/i1TT23Wv2/V13P19HZ9Y6f+o1DP
2857NZ/36tvlurZ/frWYf2Pcj13VP/zpL5dqedP6zvn9b+q9cJF/e+r+m6tXryu793W/1uvl+7q/3uo
2867zfqB4/1w+f6/wHA/WjTvbLlXkW6V7fej7XfQ+T78Y57Tee9lnqv67qf6L6H6feTPff63nsD897Y
287dz/Vf4+w76cH7k2D92buvYV3PyO4R4X3s6J7q+TeJr23y+7nFPcYeD+vvHeo753QvUtzv6C7x+H7
288Rf2923jvQe69pvslyz2B3i9b7332ez92H3Dcf3DdB/H7j+77kPc+TNxHfPefAvfR4P3n0H0sch+P
2893q/E7r+s3CcS919X71fX7pOp+7X1+28b96nM/ffN+/Wt+3TufmP7/sfOfaZw//vu/ebefbZ0v7V/
290/8fhfa58/+fR/fbJfb5yv3N6/9f5faF6//fF/e7VfbF2v3d9/9/b+1L9/n939/sP9weN+8PH+/97
291vi8DQEPZ1FC1NNSkxlhrA2pvjJMbmo6GtrOhozYmuhpwd2OS3tD3NAy9DSOzMdXXQPob0+yGaaBh
292HmxYuI0ZXgMVNGaFDauoYZM07NLGnKyBKRrzYMOhbDjVDRfUWNA0cF1jEW649Q2PseFFGkumBmFp
293LKMNn7XhtzcCWOODoxF0NT7ijZC7EfY2IkTjk68RDTQ+BxuxUCMeaaxEG19ijcRK42uisbraSK41
2941lKNb+uN1Ebje6axvvmPJW1s5Bo/thuZncbvhcbmbiO719gqNf7Yb+QOG3+WG9tHjfxJY6fS+Ou0
295UThv/F1t7F40ileNvVrjv9eN0m3jf/XG/l3j4KFx2Gj832Oj/Nz4fwDwpGp6Urc8jZGeoNan8fYn
296DflJ2/Gk63yaoD7BXU+T3U96+pOh58nY+zTFfEL6nqb7n0zsJ/PAk2XwaYb7hPKeZgVPVuGTTfRk
297lzzNSZ8w2dO84skBPjmVTy710wL0hGueFnVPbvjJo3/yGp+WkCfC9LRsefKhT37rU8D+9AF7Cjqe
298PrqeQvhT2P0U8T59Ip6ivqfPgadY8CkeelqJPH2JPiViT19XnlYTT8nVp7W1p2+pp9T60/eNp/XM
299U3rzaWPr6UfuKbP99PvO02bhKbv7tLX39EfpKbf/9Ofh03b5KX/0tHPy9FflqXD69Pf50271qXjx
300tHf19N/aU+n66X+3T/v1p4O7p8OHp/9rPJUfn/7f89PR/w8QCy14LJdV2gAAAABJRU5ErkJggg==</one:Data></one:Image></one:Page>
corpus/m6/native-features-01/read/page-016.pdf created
Binary files /dev/null and b/corpus/m6/native-features-01/read/page-016.pdf differ
corpus/m6/native-features-01/read/page-016.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{DB780B77-4E58-040D-04DA-762438F7A4ED}{1}{B0}" name="Task controls" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{898ECCE9-2081-0C39-20A4-29978A6703F9}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Task controls]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{898ECCE9-2081-0C39-20A4-29978A6703F9}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="151.0606994628906" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{898ECCE9-2081-0C39-20A4-29978A6703F9}{40}{B0}" alignment="left" quickStyleIndex="0"><one:OutlookTask startDate="2020-01-02T00:00:00.000Z" dueDate="2020-01-03T00:00:00.000Z" guidTask="{45AF40E3-1D54-463C-90D3-C454F2F71A2E}" completed="false" disabled="true" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[Disabled standalone task]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-features-01/read/page-017.pdf created
Binary files /dev/null and b/corpus/m6/native-features-01/read/page-017.pdf differ
corpus/m6/native-features-01/read/page-017.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E3213304-68E2-07FB-2349-AB7D4B2499EC}{1}{B0}" name="Files and recording" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:MediaPlaylist><one:MediaReference mediaID="{9A418E57-7F64-40C5-87D0-8A8F7C1E5422}"/></one:MediaPlaylist><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:47.000Z" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{F93B0A80-B001-0936-3055-39CC30C35F9B}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Files and recording]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{F93B0A80-B001-0936-3055-39CC30C35F9B}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="136.6015625" height="139.427719116211"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:47.000Z" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{F93B0A80-B001-0936-3055-39CC30C35F9B}{40}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\7d1ab415-649a-43bd-a863-bbef841467de.txt" pathSource="C:\one-tests\runs\capture\notebook\fixture-data\attachment.txt" preferredName="Fictitious attachment.txt"/></one:OE><one:OE creationTime="2026-09-06T02:25:47.000Z" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{F93B0A80-B001-0936-3055-39CC30C35F9B}{44}{B0}" alignment="left"><one:MediaFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\5cdfe8bc-15a0-4ef8-9710-d05c8cbe5118.wav" pathSource="C:\one-tests\runs\capture\notebook\fixture-data\silence.wav" preferredName="silence.wav"><one:MediaReference mediaID="{9A418E57-7F64-40C5-87D0-8A8F7C1E5422}"/></one:MediaFile></one:OE><one:OE creationTime="2026-09-06T02:25:47.000Z" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{F93B0A80-B001-0936-3055-39CC30C35F9B}{48}{B0}" alignment="left" quickStyleIndex="0"><one:MediaIndex timeIndex="500"><one:MediaReference mediaID="{9A418E57-7F64-40C5-87D0-8A8F7C1E5422}"/></one:MediaIndex><one:T><![CDATA[Recording annotation]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-features-01/read/page-018.pdf created
Binary files /dev/null and b/corpus/m6/native-features-01/read/page-018.pdf differ
corpus/m6/native-features-01/read/page-018.xml created+6
...@@ -0,0 +1,6 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{F042B6B6-77F6-00C7-064C-93691F643540}{1}{B0}" name="Image png" dateTime="2026-09-06T02:25:40.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T02:25:42.000Z" objectID="{8F1C13B7-8F46-0421-2511-4FA0771A9C4D}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image png]]></one:T></one:OE></one:Title><one:Image format="png" hyperlink="https://example.invalid/image/png" alt="Pattern png" originalPageNumber="0" lastModifiedTime="2026-09-06T02:25:42.000Z" objectID="{8F1C13B7-8F46-0421-2511-4FA0771A9C4D}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="144.0" height="48.00000381469727" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec
3CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI
4E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp
5oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT
6+wHXVRp4qDc0HQAAAABJRU5ErkJggg==</one:Data></one:Image></one:Page>
corpus/m6/native-features-01/read/page-019.pdf created
Binary files /dev/null and b/corpus/m6/native-features-01/read/page-019.pdf differ
corpus/m6/native-features-01/read/page-019.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{FAB78CB7-A1E6-01C8-11B5-5D267DB87644}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:26:04.000Z" pageLevel="2" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{E9EEE415-923F-089F-12E2-2951FB96A582}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{E9EEE415-923F-089F-12E2-2951FB96A582}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="266.8237915039062" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{E9EEE415-923F-089F-12E2-2951FB96A582}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group B/Nested/Duplicate.one, level 2]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-features-01/read/payloads.json created+18
...@@ -0,0 +1,18 @@
1[
2 {
3 "sha256": "4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2",
4 "name": "Fictitious attachment.txt",
5 "object": "{F93B0A80-B001-0936-3055-39CC30C35F9B}{40}{B0}",
6 "kind": "InsertedFile",
7 "page": "{E3213304-68E2-07FB-2349-AB7D4B2499EC}{1}{B0}",
8 "bytes": 27
9 },
10 {
11 "sha256": "56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9",
12 "name": "silence.wav",
13 "object": "{F93B0A80-B001-0936-3055-39CC30C35F9B}{44}{B0}",
14 "kind": "MediaFile",
15 "page": "{E3213304-68E2-07FB-2349-AB7D4B2499EC}{1}{B0}",
16 "bytes": 16044
17 }
18]
\ No newline at end of file
corpus/m6/native-features-01/run.json created+17
...@@ -0,0 +1,17 @@
1{
2 "notebook": "/Users/clo/dev/one/evidence/m6/feature-input-02/notebook",
3 "expected_pages": 20,
4 "author": "tools/native/pages.ps1",
5 "author_timeout_seconds": 600,
6 "base": {
7 "file": "win7-office-base.qcow2",
8 "format": "qcow2",
9 "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346",
10 "virtual_size": 68719476736
11 },
12 "scripts": {
13 "author.ps1": "dfbf0e016aa4c8486ecea9f39768c633de05ac0db8214139052ca2e9c43bbd02",
14 "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
15 "read.ps1": "fc7199ff4e01a5d18dbc6d472130006ef6f195a8f944daa33eaf6de2ac896553"
16 }
17}
corpus/m6/native-features-01/scripts/author.ps1 created+42
...@@ -0,0 +1,42 @@
1param([Parameter(Mandatory=$true)][string]$Root, [Parameter(Mandatory=$true)][string]$CloneHost)
2Set-StrictMode -Version Latest
3$ErrorActionPreference = 'Stop'
4& "$PSScriptRoot\cold-current.ps1" -Root $Root -CloneHost $CloneHost
5$fixture = Get-Content (Join-Path $Root 'notebook\fixture.json') -Raw -Encoding UTF8 | ConvertFrom-Json
6$inputs = Join-Path $Root 'inputs'
7New-Item -ItemType Directory -Path $inputs | Out-Null
8$app = New-Object -ComObject OneNote.Application
9$notebookId = ''
10try {
11 $app.OpenHierarchy((Join-Path $Root 'notebook'), '', [ref]$notebookId, 0)
12 $sections = @{}
13 foreach ($path in $fixture.sections) {
14 $parts = $path.Split('/')
15 if (@($parts | Where-Object { $_ -in @('', '.', '..') -or $_.Contains('\') -or $_.Contains(':') }).Count) { throw 'Invalid fixture section path.' }
16 $parent = $notebookId
17 for ($index = 0; $index -lt $parts.Count; $index++) {
18 $id = ''
19 $app.OpenHierarchy($parts[$index], $parent, [ref]$id, $(if ($index -eq $parts.Count - 1) {3} else {2}))
20 $parent = $id
21 }
22 $sections[$path] = $id
23 }
24 $index = 0
25 foreach ($item in $fixture.pages) {
26 $pageId = ''
27 $app.CreateNewPage($sections[$item.section], [ref]$pageId, 0)
28 [xml]$xml = $item.xml.Replace('__ASSETS__', [Security.SecurityElement]::Escape((Join-Path $Root 'notebook\fixture-data')))
29 $xml.DocumentElement.SetAttribute('ID', $pageId)
30 [IO.File]::WriteAllText((Join-Path $inputs ('page-{0:d3}.xml' -f $index)), $xml.OuterXml, [Text.Encoding]::UTF8)
31 $app.UpdatePageContent($xml.OuterXml, [DateTime]::MinValue, 1, $true)
32 $index++
33 }
34 $app.SyncHierarchy($notebookId)
35 $app.CloseNotebook($notebookId, $false)
36 $notebookId = ''
37} finally {
38 if ($notebookId) { $app.CloseNotebook($notebookId, $false) }
39 [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
40 [GC]::Collect()
41 [GC]::WaitForPendingFinalizers()
42}
corpus/m6/native-features-01/scripts/cold.ps1 created+27
...@@ -0,0 +1,27 @@
1param([Parameter(Mandatory=$true)][string]$Root, [string]$CloneHost = '')
2Set-StrictMode -Version Latest
3$ErrorActionPreference = 'Stop'
4$root = [IO.Path]::GetFullPath($Root).TrimEnd('\')
5if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') {
6 throw 'Choose a run directly below C:\one-tests\runs.'
7}
8if (Get-Process ONENOTE -ErrorAction SilentlyContinue) { throw 'Close OneNote before resetting its test cache.' }
9$key = 'HKCU:\Software\Microsoft\Office\14.0\OneNote'
10if ($CloneHost) {
11 if ($CloneHost -notmatch '^ONE-[A-Z0-9-]+$' -or [Environment]::MachineName -ne $CloneHost) {
12 throw 'The disposable clone hostname does not match this machine.'
13 }
14 New-Item "$key\Options\Paths" -Force | Out-Null
15 New-ItemProperty "$key\Options\Paths" -Name UnfiledNotesSection -PropertyType ExpandString -Value 'C:\one-tests\Loose.one' -Force | Out-Null
16} elseif ((Get-ItemProperty "$key\Options\Paths").UnfiledNotesSection -ne 'C:\one-tests\Loose.one' -or
17 -not (Test-Path 'C:\one-tests\profile-original-cache')) {
18 throw 'Park the personal OneNote profile before resetting the test cache.'
19}
20$cache = Join-Path $env:LOCALAPPDATA 'Microsoft\OneNote\14.0'
21$parked = Join-Path 'C:\one-tests\caches' ([IO.Path]::GetFileName($root))
22if (Test-Path $parked) { throw 'Choose a new run; its parked cache already exists.' }
23New-Item -ItemType Directory -Path 'C:\one-tests\caches' -Force | Out-Null
24if (Test-Path $cache) { Move-Item -LiteralPath $cache -Destination $parked }
25if (Test-Path "$key\OpenNotebooks") { Remove-Item "$key\OpenNotebooks" -Recurse }
26New-Item "$key\OpenNotebooks" | Out-Null
27New-ItemProperty "$key\OpenNotebooks" -Name '1' -PropertyType String -Value "$root\notebook" | Out-Null
corpus/m6/native-features-01/scripts/read.ps1 created+139
...@@ -0,0 +1,139 @@
1param(
2 [Parameter(Mandatory=$true)][string]$Root,
3 [int]$ExpectedPages = -1,
4 [switch]$UseCurrentCache,
5 [switch]$Pdf,
6 [switch]$KeepOpen,
7 [string]$CloneHost = ''
8)
9Set-StrictMode -Version Latest
10$ErrorActionPreference = 'Stop'
11$root = [IO.Path]::GetFullPath($Root).TrimEnd('\')
12if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') {
13 throw 'Choose a run directly below C:\one-tests\runs.'
14}
15$notebook = Join-Path $root 'notebook'
16$output = Join-Path $root 'read'
17if (Test-Path $output) { throw 'Choose a new read destination.' }
18if ($UseCurrentCache) {
19 if ((Get-ItemProperty 'HKCU:\Software\Microsoft\Office\14.0\OneNote\Options\Paths').UnfiledNotesSection -ne 'C:\one-tests\Loose.one') {
20 throw 'Park the personal OneNote profile before reading test notebooks.'
21 }
22} else {
23 & "$PSScriptRoot\cold-current.ps1" -Root $root -CloneHost $CloneHost
24}
25New-Item -ItemType Directory -Path $output | Out-Null
26$app = New-Object -ComObject OneNote.Application
27$notebookId = ''
28$failure = $null
29try {
30 $app.OpenHierarchy($notebook, '', [ref]$notebookId, 0)
31 $process = Get-Process ONENOTE
32 @{ hostname = [Environment]::MachineName; onenote = $process.MainModule.FileVersionInfo.FileVersion;
33 powershell = $PSVersionTable.PSVersion.ToString(); schema = 'xs2010'; cold = (-not $UseCurrentCache.IsPresent) } |
34 ConvertTo-Json | Set-Content (Join-Path $output 'environment.json') -Encoding UTF8
35 $sections = @()
36 foreach ($file in @(Get-ChildItem $notebook -Recurse | Where-Object { $_.Extension -eq '.one' })) {
37 $id = ''
38 $app.OpenHierarchy($file.FullName, '', [ref]$id, 0)
39 $sections += $id
40 }
41 $deadline = [DateTime]::UtcNow.AddSeconds(300)
42 $previous = ''
43 $stableSince = [DateTime]::UtcNow
44 $settled = $false
45 do {
46 $pages = @{}
47 foreach ($section in $sections) {
48 $hierarchy = ''
49 $app.GetHierarchy($section, 4, [ref]$hierarchy, 1)
50 [xml]$xml = $hierarchy
51 foreach ($node in $xml.SelectNodes('//*[@path]')) {
52 if (-not $node.GetAttribute('path').StartsWith("$notebook\", [StringComparison]::OrdinalIgnoreCase)) {
53 throw 'OneNote opened a section outside the copied notebook.'
54 }
55 }
56 foreach ($node in $xml.SelectNodes('//*[local-name()="Page"]')) {
57 $id = $node.GetAttribute('ID')
58 $content = ''
59 $app.GetPageContent($id, [ref]$content, 3, 1)
60 $pages[$id] = $content
61 }
62 }
63 $signature = [String]::Join('|', @($pages.Keys | Sort-Object | ForEach-Object { $_ + $pages[$_] }))
64 if ($signature -ne $previous) {
65 $previous = $signature
66 $stableSince = [DateTime]::UtcNow
67 }
68 if ((($ExpectedPages -ge 0 -and $pages.Count -eq $ExpectedPages) -or
69 ($ExpectedPages -lt 0 -and $pages.Count -gt 0)) -and
70 ([DateTime]::UtcNow - $stableSince).TotalSeconds -ge 2) { $settled = $true; break }
71 Start-Sleep -Milliseconds 250
72 } while ([DateTime]::UtcNow -lt $deadline)
73 if (-not $settled -or ($ExpectedPages -ge 0 -and $pages.Count -ne $ExpectedPages) -or ($ExpectedPages -lt 0 -and $pages.Count -eq 0)) {
74 $index = 0
75 foreach ($id in @($pages.Keys | Sort-Object)) {
76 [IO.File]::WriteAllText((Join-Path $output ('unsettled-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8)
77 $index++
78 }
79 $hierarchy = ''
80 $app.GetHierarchy($notebookId, 4, [ref]$hierarchy, 1)
81 [IO.File]::WriteAllText((Join-Path $output 'unsettled-hierarchy.xml'), $hierarchy, [Text.Encoding]::UTF8)
82 throw "Expected $ExpectedPages pages; OneNote returned $($pages.Count)."
83 }
84 $index = 0
85 $payloads = @()
86 foreach ($id in @($pages.Keys | Sort-Object)) {
87 [IO.File]::WriteAllText((Join-Path $output ('page-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8)
88 if ($Pdf) {
89 $pdfPath = Join-Path $output ('page-{0:d3}.pdf' -f $index)
90 $app.NavigateTo($id, '', $false)
91 $app.Publish($id, $pdfPath, 3, '')
92 if (-not (Test-Path $pdfPath) -or (Get-Item $pdfPath).Length -eq 0) { throw 'OneNote did not publish the page PDF.' }
93 }
94 [xml]$page = $pages[$id]
95 foreach ($file in $page.SelectNodes('//*[local-name()="InsertedFile" or local-name()="MediaFile"]')) {
96 $bytes = [IO.File]::ReadAllBytes($file.GetAttribute('pathCache'))
97 $hash = [BitConverter]::ToString([Security.Cryptography.SHA256]::Create().ComputeHash($bytes)).Replace('-', '').ToLowerInvariant()
98 [IO.File]::WriteAllBytes((Join-Path $output ($hash + '.attachment')), $bytes)
99 $payloads += @{ page = $id; object = $file.ParentNode.GetAttribute('objectID');
100 kind = $file.LocalName; name = $file.GetAttribute('preferredName');
101 sha256 = $hash; bytes = $bytes.Length }
102 }
103 $index++
104 }
105 [IO.File]::WriteAllText((Join-Path $output 'payloads.json'), (ConvertTo-Json -InputObject $payloads -Depth 4), [Text.Encoding]::UTF8)
106 $all = ''
107 $app.GetHierarchy($notebookId, 4, [ref]$all, 1)
108 [xml]$finalTree = $all
109 $finalIds = @($finalTree.SelectNodes('//*[local-name()="Page"]') | ForEach-Object { $_.GetAttribute('ID') } | Sort-Object -Unique)
110 if ($finalIds.Count -ne $pages.Count -or @($finalIds | Where-Object { -not $pages.ContainsKey($_) }).Count -ne 0) {
111 throw 'The notebook hierarchy changed while collecting page evidence; repeat the cold read.'
112 }
113 [IO.File]::WriteAllText((Join-Path $output 'hierarchy.xml'), $all, [Text.Encoding]::UTF8)
114 Write-Output "Read $($sections.Count) sections and $($pages.Count) pages."
115} catch {
116 $failure = $_
117 [IO.File]::WriteAllText((Join-Path $output 'failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8)
118 throw
119} finally {
120 try {
121 try {
122 if ($notebookId -and $CloneHost) { $app.SyncHierarchy($notebookId) }
123 if ($notebookId -and -not $KeepOpen -and (-not $UseCurrentCache -or $CloneHost)) {
124 $app.CloseNotebook($notebookId, $false)
125 }
126 } catch {
127 if ($null -eq $failure) { throw }
128 [IO.File]::WriteAllText((Join-Path $output 'cleanup-failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8)
129 }
130 } finally {
131 [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
132 }
133 $app = $null
134 [GC]::Collect()
135 [GC]::WaitForPendingFinalizers()
136 if (-not $UseCurrentCache -and -not $CloneHost) {
137 Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10
138 }
139}
corpus/m6/native-features-01/source.json created+62
...@@ -0,0 +1,62 @@
1[
2 {
3 "path": "Open Notebook.onetoc2",
4 "bytes": 1612,
5 "sha256": "fafa5dcb3cd827c7edd30c8ea2fbc957a59fb4d2a8b28b667a3c551c8261ab86",
6 "mtime_ns": 1788592288950419463
7 },
8 {
9 "path": "fixture-data/attachment.txt",
10 "bytes": 27,
11 "sha256": "4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2",
12 "mtime_ns": 1788661433289873149
13 },
14 {
15 "path": "fixture-data/pattern.bmp",
16 "bytes": 18486,
17 "sha256": "d7802912d031a974c277d1500f845faf7d1d5dc3dd9d5a3daf69c44db8d9dbf5",
18 "mtime_ns": 1788661433281066713
19 },
20 {
21 "path": "fixture-data/pattern.gif",
22 "bytes": 3902,
23 "sha256": "e0d351f33d156bf3d77b4912269768e2261c0c4850a8e78a87c245a2db2c5953",
24 "mtime_ns": 1788661433289731365
25 },
26 {
27 "path": "fixture-data/pattern.jpg",
28 "bytes": 1071,
29 "sha256": "bf7ef0fb92642d75f186c27a0ba662138c7c3f9ea85b1c478805a229cda451ed",
30 "mtime_ns": 1788661433280638778
31 },
32 {
33 "path": "fixture-data/pattern.png",
34 "bytes": 250,
35 "sha256": "02065dc5a46ae9a4adc68d0fff2641b62cedaa396f59f93ec6ac79c8b358904a",
36 "mtime_ns": 1788661433279052573
37 },
38 {
39 "path": "fixture-data/pattern.tiff",
40 "bytes": 18572,
41 "sha256": "fbbc74945e085389c3e994bfab64c26144056066e0d631512e62a3007b373427",
42 "mtime_ns": 1788661433282081783
43 },
44 {
45 "path": "fixture-data/silence.wav",
46 "bytes": 16044,
47 "sha256": "56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9",
48 "mtime_ns": 1788661433289972060
49 },
50 {
51 "path": "fixture.json",
52 "bytes": 12415,
53 "sha256": "d3c2142230816e8717c7612a5d2ca816a7551cebc2bc445846f3824d3a44dbc3",
54 "mtime_ns": 1788661433292101944
55 },
56 {
57 "path": "synthetic.one",
58 "bytes": 3348,
59 "sha256": "b0662387c3fdc256d8dbe809e3b8f73b3586559696467fb1fff8f589095fa797",
60 "mtime_ns": 1788592288941514581
61 }
62]
corpus/m6/native-features-01/teardown.json created+1
...@@ -0,0 +1 @@
1{"absent": true}
corpus/m6/native-histories-pilot-01/agent.py created+439
...@@ -0,0 +1,439 @@
1import base64
2import ctypes
3import hashlib
4import json
5import os
6import struct
7import subprocess
8import sys
9import tempfile
10import threading
11import time
12import zlib
13from ctypes import wintypes
14from http.server import ThreadingHTTPServer, BaseHTTPRequestHandler
15
16BASE = os.path.dirname(os.path.abspath(__file__))
17with open(__file__, 'rb') as source:
18 AGENT_SHA256 = hashlib.sha256(source.read()).hexdigest()
19LOCK = threading.Lock()
20
21user32 = ctypes.windll.user32
22gdi32 = ctypes.windll.gdi32
23
24SRCCOPY = 0x00CC0020
25CAPTUREBLT = 0x40000000
26BI_RGB = 0
27DIB_RGB_COLORS = 0
28
29# restype must be set on x64: the default c_int return truncates a 64-bit HANDLE.
30user32.GetDC.restype = wintypes.HDC
31user32.GetDC.argtypes = [wintypes.HWND]
32user32.ReleaseDC.restype = ctypes.c_int
33user32.ReleaseDC.argtypes = [wintypes.HWND, wintypes.HDC]
34user32.GetSystemMetrics.restype = ctypes.c_int
35user32.GetSystemMetrics.argtypes = [ctypes.c_int]
36gdi32.CreateCompatibleDC.restype = wintypes.HDC
37gdi32.CreateCompatibleDC.argtypes = [wintypes.HDC]
38gdi32.CreateCompatibleBitmap.restype = wintypes.HBITMAP
39gdi32.CreateCompatibleBitmap.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int]
40gdi32.SelectObject.restype = wintypes.HGDIOBJ
41gdi32.SelectObject.argtypes = [wintypes.HDC, wintypes.HGDIOBJ]
42gdi32.BitBlt.restype = wintypes.BOOL
43gdi32.BitBlt.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int, ctypes.c_int,
44 ctypes.c_int, wintypes.HDC, ctypes.c_int, ctypes.c_int,
45 wintypes.DWORD]
46gdi32.GetDIBits.restype = ctypes.c_int
47gdi32.GetDIBits.argtypes = [wintypes.HDC, wintypes.HBITMAP, wintypes.UINT,
48 wintypes.UINT, ctypes.c_void_p, ctypes.c_void_p,
49 wintypes.UINT]
50gdi32.DeleteObject.restype = wintypes.BOOL
51gdi32.DeleteObject.argtypes = [wintypes.HGDIOBJ]
52gdi32.DeleteDC.restype = wintypes.BOOL
53gdi32.DeleteDC.argtypes = [wintypes.HDC]
54
55WNDENUMPROC = ctypes.WINFUNCTYPE(wintypes.BOOL, wintypes.HWND, wintypes.LPARAM)
56user32.GetForegroundWindow.restype = wintypes.HWND
57user32.GetForegroundWindow.argtypes = []
58user32.GetWindowTextW.restype = ctypes.c_int
59user32.GetWindowTextW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int]
60user32.GetClassNameW.restype = ctypes.c_int
61user32.GetClassNameW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int]
62user32.GetClientRect.restype = wintypes.BOOL
63user32.GetClientRect.argtypes = [wintypes.HWND, ctypes.POINTER(wintypes.RECT)]
64user32.EnumChildWindows.restype = wintypes.BOOL
65user32.EnumChildWindows.argtypes = [wintypes.HWND, WNDENUMPROC, wintypes.LPARAM]
66
67
68class BITMAPINFOHEADER(ctypes.Structure):
69 _fields_ = [("biSize", wintypes.DWORD),
70 ("biWidth", wintypes.LONG),
71 ("biHeight", wintypes.LONG),
72 ("biPlanes", wintypes.WORD),
73 ("biBitCount", wintypes.WORD),
74 ("biCompression", wintypes.DWORD),
75 ("biSizeImage", wintypes.DWORD),
76 ("biXPelsPerMeter", wintypes.LONG),
77 ("biYPelsPerMeter", wintypes.LONG),
78 ("biClrUsed", wintypes.DWORD),
79 ("biClrImportant", wintypes.DWORD)]
80
81
82PREAMBLE = (
83 "#Requires AutoHotkey v2.0\n"
84 "#SingleInstance Off\n"
85 "#Warn All, Off\n"
86 'FileEncoding "UTF-8-RAW"\n'
87 'SendMode "Input"\n'
88 "SetWorkingDir A_ScriptDir\n"
89 'CoordMode "Mouse", "Screen"\n'
90 'CoordMode "Pixel", "Screen"\n'
91 'CoordMode "ToolTip", "Screen"\n'
92 "SetTitleMatchMode 2\n"
93 "DetectHiddenWindows true\n"
94)
95
96
97def ahk_path():
98 u64 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey64.exe")
99 u32 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey32.exe")
100 return u64 if os.path.exists(u64) else u32
101
102
103def _chunk(tag, data):
104 return (struct.pack(">I", len(data)) + tag + data +
105 struct.pack(">I", zlib.crc32(tag + data) & 0xffffffff))
106
107
108def _to_png(bgra, w, h):
109 arr = bytearray(bgra)
110 r = arr[2::4]
111 arr[2::4] = arr[0::4]
112 arr[0::4] = r
113 del arr[3::4]
114 stride = w * 3
115 mv = memoryview(arr)
116 raw = bytearray()
117 for y in range(h):
118 raw.append(0)
119 raw += mv[y * stride:(y + 1) * stride]
120 ihdr = struct.pack(">IIBBBBB", w, h, 8, 2, 0, 0, 0)
121 return (b"\x89PNG\r\n\x1a\n" + _chunk(b"IHDR", ihdr) +
122 _chunk(b"IDAT", zlib.compress(bytes(raw))) + _chunk(b"IEND", b""))
123
124
125def capture():
126 w = user32.GetSystemMetrics(0)
127 h = user32.GetSystemMetrics(1)
128 hdc = user32.GetDC(None)
129 mem = None
130 hbm = None
131 try:
132 mem = gdi32.CreateCompatibleDC(hdc)
133 hbm = gdi32.CreateCompatibleBitmap(hdc, w, h)
134 old = gdi32.SelectObject(mem, hbm)
135 gdi32.BitBlt(mem, 0, 0, w, h, hdc, 0, 0, SRCCOPY | CAPTUREBLT)
136 gdi32.SelectObject(mem, old)
137 bmi = BITMAPINFOHEADER()
138 bmi.biSize = ctypes.sizeof(BITMAPINFOHEADER)
139 bmi.biWidth = w
140 bmi.biHeight = -h # negative => top-down rows, matches screenshot orientation
141 bmi.biPlanes = 1
142 bmi.biBitCount = 32
143 bmi.biCompression = BI_RGB
144 buf = ctypes.create_string_buffer(w * h * 4)
145 if gdi32.GetDIBits(mem, hbm, 0, h, buf, ctypes.byref(bmi),
146 DIB_RGB_COLORS) == 0:
147 raise RuntimeError("GetDIBits failed")
148 data = buf.raw
149 finally:
150 if hbm:
151 gdi32.DeleteObject(hbm)
152 if mem:
153 gdi32.DeleteDC(mem)
154 user32.ReleaseDC(None, hdc)
155 return _to_png(data, w, h), w, h
156
157
158def _win_text(fn, hwnd, n=512):
159 buf = ctypes.create_unicode_buffer(n)
160 fn(hwnd, buf, n)
161 return buf.value
162
163
164def active_window():
165 hwnd = user32.GetForegroundWindow()
166 if not hwnd:
167 return {"title": "", "class": "", "dialog": False}
168 cls = _win_text(user32.GetClassNameW, hwnd)
169 return {"title": _win_text(user32.GetWindowTextW, hwnd),
170 "class": cls, "dialog": cls == "#32770"}
171
172
173def control_tree():
174 hwnd = user32.GetForegroundWindow()
175 rows = []
176
177 def add(h):
178 rect = wintypes.RECT()
179 user32.GetClientRect(h, ctypes.byref(rect))
180 rows.append((_win_text(user32.GetClassNameW, h),
181 _win_text(user32.GetWindowTextW, h),
182 rect.left, rect.top,
183 rect.right - rect.left, rect.bottom - rect.top))
184
185 if hwnd:
186 add(hwnd)
187
188 def cb(child, _lparam):
189 add(child)
190 return True
191 user32.EnumChildWindows(hwnd, WNDENUMPROC(cb), 0)
192 lines = ["%-24s %-28s %s" % ("class", "text", "l,t,w,h")]
193 for cls, text, l, t, w, h in rows:
194 lines.append("%-24s %-28s %d,%d,%d,%d" % (cls, text, l, t, w, h))
195 return "\n".join(lines)
196
197
198def _run(argv, timeout_ms, encoding, on_timeout=None):
199 def dec(b):
200 return b.decode(encoding, "replace") if b else ""
201
202 p = subprocess.Popen(argv, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
203 try:
204 out, err = p.communicate(timeout=timeout_ms / 1000.0)
205 return p.returncode, dec(out), dec(err), None
206 except subprocess.TimeoutExpired:
207 if on_timeout:
208 on_timeout()
209 subprocess.call(["taskkill", "/F", "/T", "/PID", str(p.pid)])
210 try:
211 # A process the script launched can outlive taskkill still holding the
212 # inherited stdout pipe; an unbounded wait here wedges the agent's lock.
213 out, err = p.communicate(timeout=5)
214 except subprocess.TimeoutExpired:
215 out = err = b""
216 for pipe in (p.stdout, p.stderr):
217 if pipe:
218 pipe.close()
219 msg = "timed out after %d ms, process killed" % timeout_ms
220 return None, dec(out), dec(err), msg
221
222
223def run_ahk(script, timeout_ms, on_timeout=None):
224 fd, path = tempfile.mkstemp(suffix=".ahk")
225 os.close(fd)
226 # AutoHotkey (Unicode-only) needs a UTF-8 BOM to read the file as UTF-8.
227 with open(path, "wb") as f:
228 f.write(b"\xef\xbb\xbf" + (PREAMBLE + script).encode("utf-8"))
229 try:
230 # /ErrorStdOut sends syntax errors to stderr instead of a blocking modal.
231 code, out, err, error = _run([ahk_path(), "/ErrorStdOut", path], timeout_ms,
232 "utf-8", on_timeout)
233 finally:
234 os.remove(path)
235 if error:
236 error = "script " + error
237 return code, out, err, error
238
239
240def _safe_capture(error):
241 try:
242 png, w, h = capture()
243 return base64.b64encode(png).decode("ascii"), w, h, error
244 except Exception as e:
245 note = "screenshot failed: " + repr(e)
246 return "", 0, 0, (error + "; " + note if error else note)
247
248
249LOG_PATH = os.path.join(BASE, "agent.log")
250LOG_LOCK = threading.Lock()
251
252
253def log(text, stamp=True):
254 """Console and agent.log, so a session can be reconstructed after the fact."""
255 line = time.strftime("%Y-%m-%d %H:%M:%S ") + text if stamp else text
256 with LOG_LOCK:
257 print(line, end="" if line.endswith("\n") else "\n", flush=True)
258 try:
259 with open(LOG_PATH, "a", encoding="utf-8") as f:
260 f.write(line if line.endswith("\n") else line + "\n")
261 except OSError:
262 pass # a log that cannot be written must not take the agent down
263
264
265class Handler(BaseHTTPRequestHandler):
266 def log_message(self, *a):
267 pass
268
269 def _send(self, code, obj):
270 body = json.dumps(obj).encode("utf-8")
271 self.send_response(code)
272 self.send_header("Content-Type", "application/json")
273 self.send_header("Content-Length", str(len(body)))
274 self.end_headers()
275 self.wfile.write(body)
276
277 def _log(self, start, code, body=None):
278 log("%s %s %dms exit=%s" % (self.command, self.path,
279 int((time.time() - start) * 1000), code))
280 if body:
281 log("".join(" | %s\n" % l for l in body.splitlines()), stamp=False)
282
283 def _auth_ok(self):
284 token = os.environ.get("WIN7_TOKEN")
285 return not token or self.headers.get("X-Win7-Token") == token
286
287 def _body(self):
288 n = int(self.headers.get("Content-Length") or 0)
289 raw = self.rfile.read(n) if n else b""
290 return json.loads(raw.decode("utf-8")) if raw else {}
291
292 def do_GET(self):
293 start = time.time()
294 if not self._auth_ok():
295 self._send(401, {"error": "bad token"})
296 elif self.path == "/health":
297 self._send(200, {"ok": True, "w": user32.GetSystemMetrics(0),
298 "h": user32.GetSystemMetrics(1),
299 "hostname": os.environ.get("COMPUTERNAME", ""),
300 "ahk": ahk_path(), "python": sys.executable,
301 "agent_sha256": AGENT_SHA256})
302 else:
303 self._send(404, {"error": "not found"})
304 self._log(start, None)
305
306 def do_POST(self):
307 start = time.time()
308 code = None
309 if not self._auth_ok():
310 self._send(401, {"error": "bad token"})
311 self._log(start, None)
312 return
313 try:
314 data = self._body()
315 except Exception:
316 self._send(400, {"error": "bad json"})
317 self._log(start, None)
318 return
319 body = {"/exec": data.get("script"), "/cmd": data.get("command"),
320 "/spawn": data.get("command"),
321 "/put": data.get("path"), "/get": data.get("path")}.get(self.path)
322 try:
323 if self.path == "/exec":
324 resp = self._exec(data)
325 code = resp["exit"]
326 elif self.path == "/cmd":
327 resp = self._cmd(data)
328 code = resp["exit"]
329 elif self.path == "/spawn":
330 resp = self._spawn(data)
331 code = 0
332 elif self.path == "/put":
333 resp = self._put(data)
334 elif self.path == "/get":
335 resp = self._get(data)
336 elif self.path == "/shot":
337 resp = self._shot()
338 elif self.path == "/ui":
339 resp = self._ui()
340 else:
341 self._send(404, {"error": "not found"})
342 self._log(start, None)
343 return
344 self._send(200, resp)
345 except Exception as e:
346 self._send(200, {"error": repr(e), "exit": None, "stdout": "",
347 "stderr": "", "png_b64": "", "w": 0, "h": 0})
348 self._log(start, code, body)
349
350 def _exec(self, data):
351 pre = []
352
353 def grab(): # capture before taskkill so the blocker is still on screen
354 pre.append((_safe_capture(None), active_window()))
355
356 with LOCK:
357 code, out, err, error = run_ahk(data.get("script", ""),
358 data.get("timeout_ms", 60000), grab)
359 if pre:
360 (b64, w, h, note), win = pre[0]
361 else:
362 time.sleep(data.get("shot_delay_ms", 500) / 1000.0)
363 b64, w, h, note = _safe_capture(None)
364 win = active_window()
365 if note:
366 error = error + "; " + note if error else note
367 return {"exit": code, "stdout": out, "stderr": err, "png_b64": b64,
368 "w": w, "h": h, "error": error, "win": win}
369
370 def _put(self, data):
371 path = data.get("path", "")
372 blob = base64.b64decode(data.get("b64", ""))
373 parent = os.path.dirname(path)
374 if parent and not os.path.isdir(parent):
375 os.makedirs(parent)
376 with open(path, "wb") as f:
377 f.write(blob)
378 return {"bytes": len(blob), "path": os.path.abspath(path), "error": None}
379
380 def _get(self, data):
381 with open(data.get("path", ""), "rb") as f:
382 blob = f.read()
383 return {"b64": base64.b64encode(blob).decode("ascii"), "bytes": len(blob),
384 "error": None}
385
386 def _cmd(self, data):
387 with LOCK:
388 # A raw command-line string, not a list: on Windows list2cmdline would
389 # backslash-escape the embedded quotes before cmd.exe ever sees them.
390 code, out, err, error = _run("cmd.exe /c " + data.get("command", ""),
391 data.get("timeout_ms", 60000), "oem")
392 return {"exit": code, "stdout": out, "stderr": err, "error": error}
393
394 def _spawn(self, data):
395 flags = subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS
396 process = subprocess.Popen(data.get("command", ""), stdin=subprocess.DEVNULL,
397 stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL,
398 close_fds=True, creationflags=flags)
399 return {"pid": process.pid, "error": None}
400
401 def _shot(self):
402 b64, w, h, error = _safe_capture(None)
403 win = active_window()
404 return {"png_b64": b64, "w": w, "h": h, "error": error, "win": win}
405
406 def _ui(self):
407 win = active_window()
408 controls = control_tree()
409 return {"win": win, "controls": controls, "error": None}
410
411
412def keep_awake():
413 """Hold the display and system awake for as long as this process lives.
414
415 Screen blanking alone is harmless -- BitBlt still captures the composited
416 desktop -- but sleep kills the agent outright, and a locked session moves
417 the desktop to Winlogon where neither AutoHotkey nor the capture can reach.
418 """
419 ES_CONTINUOUS, ES_SYSTEM_REQUIRED, ES_DISPLAY_REQUIRED = 0x80000000, 0x1, 0x2
420 kernel32 = ctypes.windll.kernel32
421 kernel32.SetThreadExecutionState.restype = wintypes.DWORD
422 kernel32.SetThreadExecutionState.argtypes = [wintypes.DWORD]
423 return kernel32.SetThreadExecutionState(
424 ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED)
425
426
427def main():
428 user32.SetProcessDPIAware()
429 awake = keep_awake()
430 port = int(os.environ.get("WIN7_PORT", "8777"))
431 srv = ThreadingHTTPServer(("0.0.0.0", port), Handler)
432 log("win7-agent listening on 0.0.0.0:%d ahk=%s log=%s%s"
433 % (port, ahk_path(), LOG_PATH,
434 "" if awake else " (WARNING: could not inhibit sleep)"))
435 srv.serve_forever()
436
437
438if __name__ == "__main__":
439 main()
corpus/m6/native-histories-pilot-01/commands.jsonl created+4
...@@ -0,0 +1,4 @@
1{"command": "powershell -NoProfile -Command \"Expand-Archive -LiteralPath C:\\one-tests\\transfer.zip -DestinationPath C:\\one-tests\\runs\\capture\\notebook\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
2{"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\author.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-C757B24A", "exit": 0, "stdout": "", "stderr": "", "error": null}
3{"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-C757B24A -ExpectedPages 4 -UseCurrentCache", "exit": 0, "stdout": "Read 1 sections and 4 pages.\r\n", "stderr": "", "error": null}
4{"command": "powershell -NoProfile -Command \"Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\* -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
corpus/m6/native-histories-pilot-01/health.json created+9
...@@ -0,0 +1,9 @@
1{
2 "ok": true,
3 "w": 800,
4 "h": 600,
5 "hostname": "ONE-M6-C757B24A",
6 "ahk": "C:\\win7-agent\\vendor\\ahk\\AutoHotkey64.exe",
7 "python": "C:\\win7-agent\\vendor\\python\\python.exe",
8 "agent_sha256": "ef7ca89be026695cf4412460a2eec308b0ed253fb9245597a7fe5d6938e49f89"
9}
corpus/m6/native-histories-pilot-01/inputs/000000-00.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000000</one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000000-01.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000000</one:T></one:OE></one:Title><one:Outline objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">simple text</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000000-02.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000000</one:T></one:OE></one:Title><one:Outline objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">simple text</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000000-03.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000000</one:T></one:OE></one:Title><one:Outline objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">simple text</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000000-04.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000000</one:T></one:OE></one:Title><one:Outline objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">simple text</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000000-05.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000000</one:T></one:OE></one:Title><one:Outline objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:line-through;color:#000000;background:#ffff00">simple text</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000000-06.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000000</one:T></one:OE></one:Title><one:Outline objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:line-through;color:#00ffff;background:#ffff00">simple text</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000000-07.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000000</one:T></one:OE></one:Title><one:Outline objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:line-through;color:#00ffff;background:#00ffff">simple text</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000000-08.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000000</one:T></one:OE></one:Title><one:Outline objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:line-through;color:#00ffff;background:#00ffff">simple text</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000000-09.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000000</one:T></one:OE></one:Title><one:Outline objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{51}{B0}"><one:T><![CDATA[<a href="https://example.invalid/0/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 2</span></a>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:line-through;color:#00ffff;background:#00ffff">simple text</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000000-10.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000000</one:T></one:OE></one:Title><one:Outline objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{46}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{51}{B0}"><one:T><![CDATA[<a href="https://example.invalid/0/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 2</span></a>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:line-through;color:#00ffff;background:#00ffff">simple text</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000000-11.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000000</one:T></one:OE></one:Title><one:Outline objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{46}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{51}{B0}"><one:T><![CDATA[<a href="https://example.invalid/0/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 2</span></a>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:line-through;color:#00ffff;background:#00ffff">simple text</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000000-12.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000000</one:T></one:OE></one:Title><one:Outline objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{54C16252-4179-46D1-8DF7-301004515364}{53}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{51}{B0}"><one:T><![CDATA[<a href="https://example.invalid/0/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 2</span></a>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:line-through;color:#00ffff;background:#00ffff">simple text</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000000-13.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000000</one:T></one:OE></one:Title><one:Outline objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{54C16252-4179-46D1-8DF7-301004515364}{53}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{51}{B0}"><one:T><![CDATA[<a href="https://example.invalid/0/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 2</span></a>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:line-through;color:#00ffff;background:#00ffff">simple text</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000000-14.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000000</one:T></one:OE></one:Title><one:Outline objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"><one:Position x="216" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{54C16252-4179-46D1-8DF7-301004515364}{53}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{51}{B0}"><one:T><![CDATA[<a href="https://example.invalid/0/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 2</span></a>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:line-through;color:#00ffff;background:#00ffff">simple text</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000000-15.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000000</one:T></one:OE></one:Title><one:Outline objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"><one:Position x="216" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{54C16252-4179-46D1-8DF7-301004515364}{53}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{51}{B0}"><one:T><![CDATA[<a href="https://example.invalid/0/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 2</span></a>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:line-through;color:#00ffff;background:#00ffff">simple text</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[A😀éZ]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000000-16.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000000</one:T></one:OE></one:Title><one:Outline objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"><one:Position x="216" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{54C16252-4179-46D1-8DF7-301004515364}{53}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{51}{B0}"><one:T><![CDATA[<a href="https://example.invalid/0/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 2</span></a>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:line-through;color:#00ffff;background:#00ffff">A😀éZ</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[A😀éZ]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000000-17.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000000</one:T></one:OE></one:Title><one:Outline objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"><one:Position x="216" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{54C16252-4179-46D1-8DF7-301004515364}{53}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{51}{B0}"><one:T><![CDATA[<a href="https://example.invalid/0/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 2</span></a>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:line-through;color:#00ffff;background:#00ffff">A😀éZ</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[A😀éZ]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000000-18.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000000</one:T></one:OE></one:Title><one:Outline objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"><one:Position x="216" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{54C16252-4179-46D1-8DF7-301004515364}{53}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{51}{B0}"><one:T><![CDATA[<a href="https://example.invalid/0/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 2</span></a>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:italic;text-decoration:line-through;color:#00ffff;background:#00ffff">A😀éZ</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[A😀éZ]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000000-19.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000000</one:T></one:OE></one:Title><one:Outline objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"><one:Position x="216" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{54C16252-4179-46D1-8DF7-301004515364}{53}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{51}{B0}"><one:T><![CDATA[<a href="https://example.invalid/0/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 2</span></a>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:italic;text-decoration:underline line-through;color:#00ffff;background:#00ffff">A😀éZ</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[A😀éZ]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000000-20.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000000</one:T></one:OE></one:Title><one:Outline objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"><one:Position x="216" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{54C16252-4179-46D1-8DF7-301004515364}{53}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{51}{B0}"><one:T><![CDATA[<a href="https://example.invalid/0/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 2</span></a>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:line-through;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:italic;text-decoration:underline line-through;color:#00ffff;background:#00ffff">A😀éZ</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[A😀éZ]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000001-00.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000001</one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000001-01.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000001</one:T></one:OE></one:Title><one:Outline objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000001-02.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000001</one:T></one:OE></one:Title><one:Outline objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000001-03.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000001</one:T></one:OE></one:Title><one:Outline objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000001-04.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000001</one:T></one:OE></one:Title><one:Outline objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000001-05.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000001</one:T></one:OE></one:Title><one:Outline objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:line-through;color:#000000;background:#ffff00">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000001-06.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000001</one:T></one:OE></one:Title><one:Outline objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:line-through;color:#ffff00;background:#ffff00">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000001-07.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000001</one:T></one:OE></one:Title><one:Outline objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:line-through;color:#ffff00;background:#ff0000">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000001-08.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000001</one:T></one:OE></one:Title><one:Outline objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:18pt;font-weight:bold;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:line-through;color:#ffff00;background:#ff0000">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000001-09.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000001</one:T></one:OE></one:Title><one:Outline objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{40}{B0}"><one:T><![CDATA[<a href="https://example.invalid/1/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:18pt;font-weight:bold;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 0</span></a>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:line-through;color:#ffff00;background:#ff0000">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000001-10.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000001</one:T></one:OE></one:Title><one:Outline objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{40}{B0}"><one:T><![CDATA[<a href="https://example.invalid/1/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:18pt;font-weight:bold;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 0</span></a>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{56}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:line-through;color:#ffff00;background:#ff0000">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000001-11.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000001</one:T></one:OE></one:Title><one:Outline objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{40}{B0}"><one:T><![CDATA[<a href="https://example.invalid/1/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:18pt;font-weight:bold;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 0</span></a>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{56}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:line-through;color:#ffff00;background:#ff0000">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000001-12.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000001</one:T></one:OE></one:Title><one:Outline objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{CBBC3E77-1205-41BC-89FF-34FB24E7357F}{66}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{56}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:line-through;color:#ffff00;background:#ff0000">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000001-13.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000001</one:T></one:OE></one:Title><one:Outline objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{56}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:line-through;color:#ffff00;background:#ff0000">Initial 3</span>]]></one:T></one:OE><one:OE objectID="{CBBC3E77-1205-41BC-89FF-34FB24E7357F}{66}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000001-14.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000001</one:T></one:OE></one:Title><one:Outline objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"><one:Position x="180" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{56}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:line-through;color:#ffff00;background:#ff0000">Initial 3</span>]]></one:T></one:OE><one:OE objectID="{CBBC3E77-1205-41BC-89FF-34FB24E7357F}{66}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000001-15.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000001</one:T></one:OE></one:Title><one:Outline objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"><one:Position x="180" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{56}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:line-through;color:#ffff00;background:#ff0000">Initial 3</span>]]></one:T></one:OE><one:OE objectID="{CBBC3E77-1205-41BC-89FF-34FB24E7357F}{66}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Repeated words]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000001-16.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000001</one:T></one:OE></one:Title><one:Outline objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"><one:Position x="180" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">literal &lt;b&gt; &amp; &quot;quotes&quot;</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{56}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:line-through;color:#ffff00;background:#ff0000">Initial 3</span>]]></one:T></one:OE><one:OE objectID="{CBBC3E77-1205-41BC-89FF-34FB24E7357F}{66}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Repeated words]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000001-17.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000001</one:T></one:OE></one:Title><one:Outline objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"><one:Position x="180" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">literal &lt;b&gt; &amp; &quot;quotes&quot;</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{56}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:line-through;color:#ffff00;background:#ff0000">Initial 3</span>]]></one:T></one:OE><one:OE objectID="{CBBC3E77-1205-41BC-89FF-34FB24E7357F}{66}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Repeated words]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000001-18.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000001</one:T></one:OE></one:Title><one:Outline objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"><one:Position x="180" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">literal &lt;b&gt; &amp; &quot;quotes&quot;</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{56}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:line-through;color:#ffff00;background:#ff0000">Initial 3</span>]]></one:T></one:OE><one:OE objectID="{CBBC3E77-1205-41BC-89FF-34FB24E7357F}{66}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Repeated words]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000001-19.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000001</one:T></one:OE></one:Title><one:Outline objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"><one:Position x="180" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">literal &lt;b&gt; &amp; &quot;quotes&quot;</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{56}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:line-through;color:#ffff00;background:#ff0000">Initial 3</span>]]></one:T></one:OE><one:OE objectID="{CBBC3E77-1205-41BC-89FF-34FB24E7357F}{66}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Repeated words]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000001-20.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000001</one:T></one:OE></one:Title><one:Outline objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"><one:Position x="180" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">literal &lt;b&gt; &amp; &quot;quotes&quot;</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:italic;text-decoration:line-through;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{56}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:line-through;color:#ffff00;background:#ff0000">Initial 3</span>]]></one:T></one:OE><one:OE objectID="{CBBC3E77-1205-41BC-89FF-34FB24E7357F}{66}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Repeated words]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000002-00.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000002</one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000002-01.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000002</one:T></one:OE></one:Title><one:Outline objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Repeated words</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000002-02.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000002</one:T></one:OE></one:Title><one:Outline objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Repeated words</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000002-03.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000002</one:T></one:OE></one:Title><one:Outline objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Repeated words</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000002-04.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000002</one:T></one:OE></one:Title><one:Outline objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Repeated words</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000002-05.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000002</one:T></one:OE></one:Title><one:Outline objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Repeated words</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:line-through;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000002-06.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000002</one:T></one:OE></one:Title><one:Outline objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Repeated words</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:line-through;color:#00ff00;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000002-07.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000002</one:T></one:OE></one:Title><one:Outline objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Repeated words</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#00ff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:line-through;color:#00ff00;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000002-08.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000002</one:T></one:OE></one:Title><one:Outline objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Repeated words</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#00ff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:line-through;color:#00ff00;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000002-09.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000002</one:T></one:OE></one:Title><one:Outline objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Repeated words</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#00ff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:line-through;color:#00ff00;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{56}{B0}"><one:T><![CDATA[<a href="https://example.invalid/2/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span></a>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000002-10.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000002</one:T></one:OE></one:Title><one:Outline objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Repeated words</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#00ff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:line-through;color:#00ff00;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{56}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<a href="https://example.invalid/2/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span></a>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000002-11.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000002</one:T></one:OE></one:Title><one:Outline objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Repeated words</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#00ff00">Initial 1</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:line-through;color:#00ff00;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{56}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<a href="https://example.invalid/2/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span></a>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000002-12.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000002</one:T></one:OE></one:Title><one:Outline objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Repeated words</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#00ff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{9F2C1442-692C-41AF-BB4C-F19A9EE56DDC}{61}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{56}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<a href="https://example.invalid/2/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span></a>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000002-13.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000002</one:T></one:OE></one:Title><one:Outline objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{9F2C1442-692C-41AF-BB4C-F19A9EE56DDC}{61}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Repeated words</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#00ff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{56}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<a href="https://example.invalid/2/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span></a>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000002-14.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000002</one:T></one:OE></one:Title><one:Outline objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"><one:Position x="108" y="324"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{9F2C1442-692C-41AF-BB4C-F19A9EE56DDC}{61}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Repeated words</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#00ff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{56}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<a href="https://example.invalid/2/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span></a>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000002-15.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000002</one:T></one:OE></one:Title><one:Outline objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"><one:Position x="108" y="324"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{9F2C1442-692C-41AF-BB4C-F19A9EE56DDC}{61}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Repeated words</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#00ff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{56}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<a href="https://example.invalid/2/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span></a>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[tabs here]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000002-16.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000002</one:T></one:OE></one:Title><one:Outline objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"><one:Position x="108" y="324"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{9F2C1442-692C-41AF-BB4C-F19A9EE56DDC}{61}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#00ff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{56}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<a href="https://example.invalid/2/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span></a>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[tabs here]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000002-17.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000002</one:T></one:OE></one:Title><one:Outline objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"><one:Position x="108" y="324"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{9F2C1442-692C-41AF-BB4C-F19A9EE56DDC}{61}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#00ff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{56}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<a href="https://example.invalid/2/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span></a>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[tabs here]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000002-18.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000002</one:T></one:OE></one:Title><one:Outline objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"><one:Position x="108" y="324"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{9F2C1442-692C-41AF-BB4C-F19A9EE56DDC}{61}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#00ff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{56}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<a href="https://example.invalid/2/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span></a>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[tabs here]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000002-19.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000002</one:T></one:OE></one:Title><one:Outline objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"><one:Position x="108" y="324"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{9F2C1442-692C-41AF-BB4C-F19A9EE56DDC}{61}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:underline;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#00ff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{56}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<a href="https://example.invalid/2/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span></a>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[tabs here]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/inputs/000002-20.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000002</one:T></one:OE></one:Title><one:Outline objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"><one:Position x="108" y="324"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{9F2C1442-692C-41AF-BB4C-F19A9EE56DDC}{61}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:line-through;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:underline;color:#000000;background:#ffff00">tabs here</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#00ff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{56}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<a href="https://example.invalid/2/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span></a>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[tabs here]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-histories-pilot-01/machine.json created+1
...@@ -0,0 +1 @@
1{"name": "m6-c757b24a", "hostname": "ONE-M6-C757B24A"}
corpus/m6/native-histories-pilot-01/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/m6/native-histories-pilot-01/notebook/Open Notebook.onetoc2 differ
corpus/m6/native-histories-pilot-01/notebook/histories.json created+566
...@@ -0,0 +1,566 @@
1[
2 {
3 "seed": 0,
4 "title": "History 000000",
5 "initial": {
6 "paragraphs": [
7 {
8 "id": "p0",
9 "text": "Initial 0",
10 "bold": false,
11 "italic": false,
12 "underline": false,
13 "strike": false,
14 "color": "#000000",
15 "highlight": "#ffff00",
16 "font_size": 11,
17 "link": "",
18 "tag": false
19 },
20 {
21 "id": "p1",
22 "text": "Initial 1",
23 "bold": false,
24 "italic": false,
25 "underline": false,
26 "strike": false,
27 "color": "#000000",
28 "highlight": "#ffff00",
29 "font_size": 11,
30 "link": "",
31 "tag": false
32 },
33 {
34 "id": "p2",
35 "text": "Initial 2",
36 "bold": false,
37 "italic": false,
38 "underline": false,
39 "strike": false,
40 "color": "#000000",
41 "highlight": "#ffff00",
42 "font_size": 11,
43 "link": "",
44 "tag": false
45 },
46 {
47 "id": "p3",
48 "text": "Initial 3",
49 "bold": false,
50 "italic": false,
51 "underline": false,
52 "strike": false,
53 "color": "#000000",
54 "highlight": "#ffff00",
55 "font_size": 11,
56 "link": "",
57 "tag": false
58 }
59 ],
60 "table": [
61 [
62 "Cell 0,0",
63 "Cell 0,1"
64 ],
65 [
66 "Cell 1,0",
67 "Cell 1,1"
68 ]
69 ],
70 "x": 72,
71 "y": 108
72 },
73 "operations": [
74 {
75 "kind": "text",
76 "index": 3,
77 "value": "simple text"
78 },
79 {
80 "kind": "bold",
81 "index": 3,
82 "value": true
83 },
84 {
85 "kind": "italic",
86 "index": 0,
87 "value": true
88 },
89 {
90 "kind": "underline",
91 "index": 2,
92 "value": true
93 },
94 {
95 "kind": "strike",
96 "index": 3,
97 "value": true
98 },
99 {
100 "kind": "color",
101 "index": 3,
102 "value": "#00ffff"
103 },
104 {
105 "kind": "highlight",
106 "index": 3,
107 "value": "#00ffff"
108 },
109 {
110 "kind": "font_size",
111 "index": 1,
112 "value": 11
113 },
114 {
115 "kind": "link",
116 "index": 2,
117 "value": "https://example.invalid/0/8?a=1&b=2"
118 },
119 {
120 "kind": "tag",
121 "index": 1,
122 "value": true
123 },
124 {
125 "kind": "insert",
126 "index": 0,
127 "paragraph": {
128 "id": "new10",
129 "text": "tabs\there",
130 "bold": false,
131 "italic": false,
132 "underline": false,
133 "strike": false,
134 "color": "#000000",
135 "highlight": "#ffff00",
136 "font_size": 11,
137 "link": "",
138 "tag": false
139 }
140 },
141 {
142 "kind": "delete",
143 "index": 2
144 },
145 {
146 "kind": "move",
147 "index": 1,
148 "to": 2
149 },
150 {
151 "kind": "position",
152 "index": 0,
153 "x": 216,
154 "y": 108
155 },
156 {
157 "kind": "cell",
158 "index": 2,
159 "row": 1,
160 "column": 0,
161 "text": "A😀éZ"
162 },
163 {
164 "kind": "text",
165 "index": 3,
166 "value": "A😀éZ"
167 },
168 {
169 "kind": "bold",
170 "index": 1,
171 "value": true
172 },
173 {
174 "kind": "italic",
175 "index": 3,
176 "value": true
177 },
178 {
179 "kind": "underline",
180 "index": 3,
181 "value": true
182 },
183 {
184 "kind": "strike",
185 "index": 2,
186 "value": true
187 }
188 ]
189 },
190 {
191 "seed": 1,
192 "title": "History 000001",
193 "initial": {
194 "paragraphs": [
195 {
196 "id": "p0",
197 "text": "Initial 0",
198 "bold": false,
199 "italic": false,
200 "underline": false,
201 "strike": false,
202 "color": "#000000",
203 "highlight": "#ffff00",
204 "font_size": 11,
205 "link": "",
206 "tag": false
207 },
208 {
209 "id": "p1",
210 "text": "Initial 1",
211 "bold": false,
212 "italic": false,
213 "underline": false,
214 "strike": false,
215 "color": "#000000",
216 "highlight": "#ffff00",
217 "font_size": 11,
218 "link": "",
219 "tag": false
220 },
221 {
222 "id": "p2",
223 "text": "Initial 2",
224 "bold": false,
225 "italic": false,
226 "underline": false,
227 "strike": false,
228 "color": "#000000",
229 "highlight": "#ffff00",
230 "font_size": 11,
231 "link": "",
232 "tag": false
233 },
234 {
235 "id": "p3",
236 "text": "Initial 3",
237 "bold": false,
238 "italic": false,
239 "underline": false,
240 "strike": false,
241 "color": "#000000",
242 "highlight": "#ffff00",
243 "font_size": 11,
244 "link": "",
245 "tag": false
246 }
247 ],
248 "table": [
249 [
250 "Cell 0,0",
251 "Cell 0,1"
252 ],
253 [
254 "Cell 1,0",
255 "Cell 1,1"
256 ]
257 ],
258 "x": 72,
259 "y": 108
260 },
261 "operations": [
262 {
263 "kind": "text",
264 "index": 1,
265 "value": "tabs\there"
266 },
267 {
268 "kind": "bold",
269 "index": 0,
270 "value": true
271 },
272 {
273 "kind": "italic",
274 "index": 2,
275 "value": true
276 },
277 {
278 "kind": "underline",
279 "index": 0,
280 "value": true
281 },
282 {
283 "kind": "strike",
284 "index": 3,
285 "value": true
286 },
287 {
288 "kind": "color",
289 "index": 3,
290 "value": "#ffff00"
291 },
292 {
293 "kind": "highlight",
294 "index": 3,
295 "value": "#ff0000"
296 },
297 {
298 "kind": "font_size",
299 "index": 0,
300 "value": 18
301 },
302 {
303 "kind": "link",
304 "index": 0,
305 "value": "https://example.invalid/1/8?a=1&b=2"
306 },
307 {
308 "kind": "tag",
309 "index": 3,
310 "value": true
311 },
312 {
313 "kind": "insert",
314 "index": 3,
315 "paragraph": {
316 "id": "new10",
317 "text": "tabs\there",
318 "bold": false,
319 "italic": false,
320 "underline": false,
321 "strike": false,
322 "color": "#000000",
323 "highlight": "#ffff00",
324 "font_size": 11,
325 "link": "",
326 "tag": false
327 }
328 },
329 {
330 "kind": "delete",
331 "index": 0
332 },
333 {
334 "kind": "move",
335 "index": 3,
336 "to": 2
337 },
338 {
339 "kind": "position",
340 "index": 1,
341 "x": 180,
342 "y": 108
343 },
344 {
345 "kind": "cell",
346 "index": 2,
347 "row": 0,
348 "column": 0,
349 "text": "Repeated words"
350 },
351 {
352 "kind": "text",
353 "index": 0,
354 "value": "literal <b> & \"quotes\""
355 },
356 {
357 "kind": "bold",
358 "index": 1,
359 "value": true
360 },
361 {
362 "kind": "italic",
363 "index": 3,
364 "value": true
365 },
366 {
367 "kind": "underline",
368 "index": 0,
369 "value": true
370 },
371 {
372 "kind": "strike",
373 "index": 1,
374 "value": true
375 }
376 ]
377 },
378 {
379 "seed": 2,
380 "title": "History 000002",
381 "initial": {
382 "paragraphs": [
383 {
384 "id": "p0",
385 "text": "Initial 0",
386 "bold": false,
387 "italic": false,
388 "underline": false,
389 "strike": false,
390 "color": "#000000",
391 "highlight": "#ffff00",
392 "font_size": 11,
393 "link": "",
394 "tag": false
395 },
396 {
397 "id": "p1",
398 "text": "Initial 1",
399 "bold": false,
400 "italic": false,
401 "underline": false,
402 "strike": false,
403 "color": "#000000",
404 "highlight": "#ffff00",
405 "font_size": 11,
406 "link": "",
407 "tag": false
408 },
409 {
410 "id": "p2",
411 "text": "Initial 2",
412 "bold": false,
413 "italic": false,
414 "underline": false,
415 "strike": false,
416 "color": "#000000",
417 "highlight": "#ffff00",
418 "font_size": 11,
419 "link": "",
420 "tag": false
421 },
422 {
423 "id": "p3",
424 "text": "Initial 3",
425 "bold": false,
426 "italic": false,
427 "underline": false,
428 "strike": false,
429 "color": "#000000",
430 "highlight": "#ffff00",
431 "font_size": 11,
432 "link": "",
433 "tag": false
434 }
435 ],
436 "table": [
437 [
438 "Cell 0,0",
439 "Cell 0,1"
440 ],
441 [
442 "Cell 1,0",
443 "Cell 1,1"
444 ]
445 ],
446 "x": 72,
447 "y": 108
448 },
449 "operations": [
450 {
451 "kind": "text",
452 "index": 0,
453 "value": "Repeated words"
454 },
455 {
456 "kind": "bold",
457 "index": 0,
458 "value": true
459 },
460 {
461 "kind": "italic",
462 "index": 2,
463 "value": true
464 },
465 {
466 "kind": "underline",
467 "index": 1,
468 "value": true
469 },
470 {
471 "kind": "strike",
472 "index": 2,
473 "value": true
474 },
475 {
476 "kind": "color",
477 "index": 2,
478 "value": "#00ff00"
479 },
480 {
481 "kind": "highlight",
482 "index": 1,
483 "value": "#00ff00"
484 },
485 {
486 "kind": "font_size",
487 "index": 0,
488 "value": 11
489 },
490 {
491 "kind": "link",
492 "index": 3,
493 "value": "https://example.invalid/2/8?a=1&b=2"
494 },
495 {
496 "kind": "tag",
497 "index": 3,
498 "value": true
499 },
500 {
501 "kind": "insert",
502 "index": 2,
503 "paragraph": {
504 "id": "new10",
505 "text": "tabs\there",
506 "bold": false,
507 "italic": false,
508 "underline": false,
509 "strike": false,
510 "color": "#000000",
511 "highlight": "#ffff00",
512 "font_size": 11,
513 "link": "",
514 "tag": false
515 }
516 },
517 {
518 "kind": "delete",
519 "index": 3
520 },
521 {
522 "kind": "move",
523 "index": 2,
524 "to": 0
525 },
526 {
527 "kind": "position",
528 "index": 0,
529 "x": 108,
530 "y": 324
531 },
532 {
533 "kind": "cell",
534 "index": 2,
535 "row": 1,
536 "column": 1,
537 "text": "tabs\there"
538 },
539 {
540 "kind": "text",
541 "index": 1,
542 "value": "tabs\there"
543 },
544 {
545 "kind": "bold",
546 "index": 1,
547 "value": false
548 },
549 {
550 "kind": "italic",
551 "index": 1,
552 "value": true
553 },
554 {
555 "kind": "underline",
556 "index": 1,
557 "value": true
558 },
559 {
560 "kind": "strike",
561 "index": 0,
562 "value": true
563 }
564 ]
565 }
566]
\ No newline at end of file
corpus/m6/native-histories-pilot-01/notebook/synthetic.one created
Binary files /dev/null and b/corpus/m6/native-histories-pilot-01/notebook/synthetic.one differ
corpus/m6/native-histories-pilot-01/operations.jsonl created+63
...@@ -0,0 +1,63 @@
1{"step":-1,"seed":0,"page":"{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}","outline":"{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"}
2{"step":0,"seed":0,"page":"{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}","outline":"{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"}
3{"step":1,"seed":0,"page":"{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}","outline":"{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"}
4{"step":2,"seed":0,"page":"{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}","outline":"{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"}
5{"step":3,"seed":0,"page":"{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}","outline":"{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"}
6{"step":4,"seed":0,"page":"{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}","outline":"{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"}
7{"step":5,"seed":0,"page":"{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}","outline":"{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"}
8{"step":6,"seed":0,"page":"{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}","outline":"{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"}
9{"step":7,"seed":0,"page":"{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}","outline":"{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"}
10{"step":8,"seed":0,"page":"{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}","outline":"{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"}
11{"step":9,"seed":0,"page":"{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}","outline":"{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"}
12{"step":10,"seed":0,"page":"{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}","outline":"{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"}
13{"step":11,"seed":0,"page":"{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}","outline":"{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"}
14{"step":12,"seed":0,"page":"{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}","outline":"{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"}
15{"step":13,"seed":0,"page":"{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}","outline":"{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"}
16{"step":14,"seed":0,"page":"{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}","outline":"{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"}
17{"step":15,"seed":0,"page":"{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}","outline":"{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"}
18{"step":16,"seed":0,"page":"{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}","outline":"{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"}
19{"step":17,"seed":0,"page":"{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}","outline":"{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"}
20{"step":18,"seed":0,"page":"{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}","outline":"{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"}
21{"step":19,"seed":0,"page":"{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}","outline":"{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"}
22{"step":-1,"seed":1,"page":"{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}","outline":"{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"}
23{"step":0,"seed":1,"page":"{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}","outline":"{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"}
24{"step":1,"seed":1,"page":"{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}","outline":"{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"}
25{"step":2,"seed":1,"page":"{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}","outline":"{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"}
26{"step":3,"seed":1,"page":"{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}","outline":"{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"}
27{"step":4,"seed":1,"page":"{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}","outline":"{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"}
28{"step":5,"seed":1,"page":"{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}","outline":"{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"}
29{"step":6,"seed":1,"page":"{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}","outline":"{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"}
30{"step":7,"seed":1,"page":"{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}","outline":"{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"}
31{"step":8,"seed":1,"page":"{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}","outline":"{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"}
32{"step":9,"seed":1,"page":"{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}","outline":"{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"}
33{"step":10,"seed":1,"page":"{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}","outline":"{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"}
34{"step":11,"seed":1,"page":"{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}","outline":"{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"}
35{"step":12,"seed":1,"page":"{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}","outline":"{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"}
36{"step":13,"seed":1,"page":"{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}","outline":"{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"}
37{"step":14,"seed":1,"page":"{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}","outline":"{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"}
38{"step":15,"seed":1,"page":"{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}","outline":"{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"}
39{"step":16,"seed":1,"page":"{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}","outline":"{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"}
40{"step":17,"seed":1,"page":"{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}","outline":"{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"}
41{"step":18,"seed":1,"page":"{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}","outline":"{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"}
42{"step":19,"seed":1,"page":"{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}","outline":"{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"}
43{"step":-1,"seed":2,"page":"{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}","outline":"{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"}
44{"step":0,"seed":2,"page":"{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}","outline":"{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"}
45{"step":1,"seed":2,"page":"{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}","outline":"{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"}
46{"step":2,"seed":2,"page":"{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}","outline":"{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"}
47{"step":3,"seed":2,"page":"{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}","outline":"{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"}
48{"step":4,"seed":2,"page":"{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}","outline":"{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"}
49{"step":5,"seed":2,"page":"{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}","outline":"{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"}
50{"step":6,"seed":2,"page":"{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}","outline":"{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"}
51{"step":7,"seed":2,"page":"{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}","outline":"{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"}
52{"step":8,"seed":2,"page":"{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}","outline":"{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"}
53{"step":9,"seed":2,"page":"{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}","outline":"{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"}
54{"step":10,"seed":2,"page":"{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}","outline":"{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"}
55{"step":11,"seed":2,"page":"{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}","outline":"{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"}
56{"step":12,"seed":2,"page":"{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}","outline":"{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"}
57{"step":13,"seed":2,"page":"{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}","outline":"{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"}
58{"step":14,"seed":2,"page":"{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}","outline":"{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"}
59{"step":15,"seed":2,"page":"{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}","outline":"{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"}
60{"step":16,"seed":2,"page":"{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}","outline":"{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"}
61{"step":17,"seed":2,"page":"{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}","outline":"{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"}
62{"step":18,"seed":2,"page":"{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}","outline":"{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"}
63{"step":19,"seed":2,"page":"{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}","outline":"{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"}
corpus/m6/native-histories-pilot-01/read/environment.json created+7
...@@ -0,0 +1,7 @@
1{
2 "powershell": "5.1.14409.1005",
3 "schema": "xs2010",
4 "hostname": "ONE-M6-C757B24A",
5 "cold": false,
6 "onenote": "14.0.4763.1000"
7}
corpus/m6/native-histories-pilot-01/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{70B6F45E-08D5-4452-B2BD-66FFB167393F}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-06T01:39:13.000Z" color="#B49EDE"><one:Section name="synthetic" ID="{15861660-5C67-07C0-10ED-66879A60BBC2}{1}{B0}" path="C:\one-tests\runs\capture\notebook\synthetic.one" lastModifiedTime="2026-09-06T01:39:13.000Z" color="#8AA8E4"><one:Page ID="{7A080B52-5E7A-0430-34B0-46CD64EEF24B}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T01:39:13.000Z" pageLevel="1"/><one:Page ID="{7A714550-499F-419D-A48A-BD3055B17B4A}{1}{B0}" name="History 000000" dateTime="2026-09-06T01:38:33.000Z" lastModifiedTime="2026-09-06T01:39:13.000Z" pageLevel="1"/><one:Page ID="{10213F5F-B769-46C6-83EB-5160D10F9B96}{1}{B0}" name="History 000001" dateTime="2026-09-06T01:38:51.000Z" lastModifiedTime="2026-09-06T01:39:13.000Z" pageLevel="1"/><one:Page ID="{7128F6F8-EA48-4DB4-9B62-28158AAD3028}{1}{B0}" name="History 000002" dateTime="2026-09-06T01:38:58.000Z" lastModifiedTime="2026-09-06T01:39:13.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/m6/native-histories-pilot-01/read/page-000.xml created+7
...@@ -0,0 +1,7 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{10213F5F-B769-46C6-83EB-5160D10F9B96}{1}{B0}" name="History 000001" dateTime="2026-09-06T01:38:51.000Z" lastModifiedTime="2026-09-06T01:39:13.000Z" pageLevel="1" lang="en-US"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T01:38:58.000Z" lastModifiedTime="2026-09-06T01:38:58.000Z" objectID="{C0ADBD03-378B-460E-9666-C968DBA31763}{163}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[History 000001]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T01:38:58.000Z" objectID="{924255E7-4C79-45AC-BF85-BA15C67E6C31}{39}{B0}"><one:Position x="180.0" y="108.0" z="0"/><one:Size width="368.1299438476562" height="94.06629943847656"/><one:OEChildren><one:OE creationTime="2026-09-06T01:38:58.000Z" lastModifiedTime="2026-09-06T01:38:58.000Z" objectID="{924255E7-4C79-45AC-BF85-BA15C67E6C31}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:black"><one:T><![CDATA[<span
3style='text-decoration:underline;background:yellow;mso-highlight:yellow'>literal &lt;b&gt; &amp; &quot;quotes&quot;</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T01:38:58.000Z" lastModifiedTime="2026-09-06T01:38:58.000Z" objectID="{924255E7-4C79-45AC-BF85-BA15C67E6C31}{51}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:black"><one:T><![CDATA[<span
4style='font-weight:bold;font-style:italic;text-decoration:line-through;
5background:yellow;mso-highlight:yellow'>Initial 2</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T01:38:58.000Z" lastModifiedTime="2026-09-06T01:38:58.000Z" objectID="{924255E7-4C79-45AC-BF85-BA15C67E6C31}{56}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#DBDB00"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<span
6style='text-decoration:line-through;background:red;mso-highlight:red'>Initial 3</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T01:38:58.000Z" lastModifiedTime="2026-09-06T01:38:58.000Z" objectID="{5B630EC5-6F64-44FF-B46A-C2BECE067823}{66}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:black"><one:T><![CDATA[<span
7style='font-style:italic;background:yellow;mso-highlight:yellow'>tabs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;here</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T01:38:58.000Z" lastModifiedTime="2026-09-06T01:38:58.000Z" objectID="{C0ADBD03-378B-460E-9666-C968DBA31763}{190}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T01:38:58.000Z" objectID="{C0ADBD03-378B-460E-9666-C968DBA31763}{191}{B0}"><one:Columns><one:Column index="0" width="180.0" isLocked="true"/><one:Column index="1" width="180.0" isLocked="true"/></one:Columns><one:Row objectID="{C0ADBD03-378B-460E-9666-C968DBA31763}{192}{B0}" lastModifiedTime="2026-09-06T01:38:58.000Z"><one:Cell lastModifiedTime="2026-09-06T01:38:58.000Z" objectID="{C0ADBD03-378B-460E-9666-C968DBA31763}{193}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T01:38:58.000Z" lastModifiedTime="2026-09-06T01:38:58.000Z" objectID="{C0ADBD03-378B-460E-9666-C968DBA31763}{196}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Repeated words]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T01:38:58.000Z" objectID="{C0ADBD03-378B-460E-9666-C968DBA31763}{201}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T01:38:58.000Z" lastModifiedTime="2026-09-06T01:38:58.000Z" objectID="{C0ADBD03-378B-460E-9666-C968DBA31763}{204}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row objectID="{C0ADBD03-378B-460E-9666-C968DBA31763}{209}{B0}" lastModifiedTime="2026-09-06T01:38:58.000Z"><one:Cell lastModifiedTime="2026-09-06T01:38:58.000Z" objectID="{C0ADBD03-378B-460E-9666-C968DBA31763}{213}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T01:38:58.000Z" lastModifiedTime="2026-09-06T01:38:58.000Z" objectID="{C0ADBD03-378B-460E-9666-C968DBA31763}{216}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T01:38:58.000Z" objectID="{C0ADBD03-378B-460E-9666-C968DBA31763}{210}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T01:38:58.000Z" lastModifiedTime="2026-09-06T01:38:58.000Z" objectID="{C0ADBD03-378B-460E-9666-C968DBA31763}{221}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-histories-pilot-01/read/page-001.xml created+8
...@@ -0,0 +1,8 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{7128F6F8-EA48-4DB4-9B62-28158AAD3028}{1}{B0}" name="History 000002" dateTime="2026-09-06T01:38:58.000Z" lastModifiedTime="2026-09-06T01:39:13.000Z" pageLevel="1" lang="en-US"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T01:39:05.000Z" lastModifiedTime="2026-09-06T01:39:05.000Z" objectID="{42614A41-5515-44D6-94BE-F6BBBF72DE43}{162}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[History 000002]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T01:39:05.000Z" objectID="{2EDB6CA0-C9F5-4489-AB0A-8D038D3522BF}{39}{B0}"><one:Position x="108.0" y="324.0" z="0"/><one:Size width="368.1299438476562" height="94.06631469726562"/><one:OEChildren><one:OE creationTime="2026-09-06T01:39:05.000Z" lastModifiedTime="2026-09-06T01:39:05.000Z" objectID="{0FF324F0-144D-44EC-86D9-07DF74042080}{61}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:black"><one:T><![CDATA[<span
3style='text-decoration:line-through;background:yellow;mso-highlight:yellow'>tabs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;here</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T01:39:05.000Z" lastModifiedTime="2026-09-06T01:39:05.000Z" objectID="{2EDB6CA0-C9F5-4489-AB0A-8D038D3522BF}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:black"><one:T><![CDATA[<span
4style='font-style:italic;text-decoration:underline;background:yellow;
5mso-highlight:yellow'>tabs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;here</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T01:39:05.000Z" lastModifiedTime="2026-09-06T01:39:05.000Z" objectID="{2EDB6CA0-C9F5-4489-AB0A-8D038D3522BF}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:black"><one:T><![CDATA[<span
6style='text-decoration:underline;background:lime;mso-highlight:lime'>Initial 1</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T01:39:01.000Z" lastModifiedTime="2026-09-06T01:39:05.000Z" objectID="{2EDB6CA0-C9F5-4489-AB0A-8D038D3522BF}{56}{B0}" alignment="left" quickStyleIndex="0"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<a
7href="https://example.invalid/2/8?a=1&amp;b=2"><span style='background:yellow;
8mso-highlight:yellow'>Initial 3</span></a>]]></one:T></one:OE><one:OE creationTime="2026-09-06T01:39:05.000Z" lastModifiedTime="2026-09-06T01:39:05.000Z" objectID="{42614A41-5515-44D6-94BE-F6BBBF72DE43}{189}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T01:39:05.000Z" objectID="{42614A41-5515-44D6-94BE-F6BBBF72DE43}{190}{B0}"><one:Columns><one:Column index="0" width="180.0" isLocked="true"/><one:Column index="1" width="180.0" isLocked="true"/></one:Columns><one:Row objectID="{42614A41-5515-44D6-94BE-F6BBBF72DE43}{191}{B0}" lastModifiedTime="2026-09-06T01:39:05.000Z"><one:Cell lastModifiedTime="2026-09-06T01:39:05.000Z" objectID="{42614A41-5515-44D6-94BE-F6BBBF72DE43}{192}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T01:39:05.000Z" lastModifiedTime="2026-09-06T01:39:05.000Z" objectID="{42614A41-5515-44D6-94BE-F6BBBF72DE43}{195}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T01:39:05.000Z" objectID="{42614A41-5515-44D6-94BE-F6BBBF72DE43}{200}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T01:39:05.000Z" lastModifiedTime="2026-09-06T01:39:05.000Z" objectID="{42614A41-5515-44D6-94BE-F6BBBF72DE43}{203}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row objectID="{42614A41-5515-44D6-94BE-F6BBBF72DE43}{208}{B0}" lastModifiedTime="2026-09-06T01:39:05.000Z"><one:Cell lastModifiedTime="2026-09-06T01:39:05.000Z" objectID="{42614A41-5515-44D6-94BE-F6BBBF72DE43}{212}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T01:39:05.000Z" lastModifiedTime="2026-09-06T01:39:05.000Z" objectID="{42614A41-5515-44D6-94BE-F6BBBF72DE43}{215}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T01:39:05.000Z" objectID="{42614A41-5515-44D6-94BE-F6BBBF72DE43}{209}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T01:39:05.000Z" lastModifiedTime="2026-09-06T01:39:05.000Z" objectID="{42614A41-5515-44D6-94BE-F6BBBF72DE43}{220}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[tabs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;here]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-histories-pilot-01/read/page-002.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{7A080B52-5E7A-0430-34B0-46CD64EEF24B}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T01:39:13.000Z" pageLevel="1" style="font-family:Calibri;font-size:11.0pt" lang="en-US"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="Fixture Author" lastModifiedBy="Fixture Author" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{15861660-5C67-07C0-10ED-66879A60BBC2}{23}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="191.1661224365234" height="13.4277172088623"/><one:Indents><one:Indent level="0" indent="0.0"/></one:Indents><one:OEChildren><one:OE creationTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{15861660-5C67-07C0-10ED-66879A60BBC2}{24}{B0}" alignment="left"><one:T><![CDATA[A notebook created in Rust.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-histories-pilot-01/read/page-003.xml created+9
...@@ -0,0 +1,9 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{7A714550-499F-419D-A48A-BD3055B17B4A}{1}{B0}" name="History 000000" dateTime="2026-09-06T01:38:33.000Z" lastModifiedTime="2026-09-06T01:39:13.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T01:38:51.000Z" lastModifiedTime="2026-09-06T01:38:51.000Z" objectID="{FF7E9742-21C6-4D66-B405-E054C2426F7A}{162}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[History 000000]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T01:38:51.000Z" objectID="{F1E8A581-A0D2-45E2-95A3-B698C072376F}{39}{B0}"><one:Position x="216.0" y="108.0" z="0"/><one:Size width="368.1299438476562" height="94.06629943847656"/><one:OEChildren><one:OE creationTime="2026-09-06T01:38:51.000Z" lastModifiedTime="2026-09-06T01:38:51.000Z" objectID="{C41E52E0-3C18-4392-B062-C655EEB01E38}{53}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:black"><one:T><![CDATA[<span
3style='background:yellow;mso-highlight:yellow'>tabs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;here</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T01:38:43.000Z" lastModifiedTime="2026-09-06T01:38:51.000Z" objectID="{F1E8A581-A0D2-45E2-95A3-B698C072376F}{51}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<a
4href="https://example.invalid/0/8?a=1&amp;b=2"><span style='font-weight:bold;
5background:yellow;mso-highlight:yellow'>Initial 2</span></a>]]></one:T></one:OE><one:OE creationTime="2026-09-06T01:38:51.000Z" lastModifiedTime="2026-09-06T01:38:51.000Z" objectID="{F1E8A581-A0D2-45E2-95A3-B698C072376F}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:black"><one:T><![CDATA[<span
6style='font-style:italic;text-decoration:line-through;background:yellow;
7mso-highlight:yellow'>Initial 0</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T01:38:49.000Z" lastModifiedTime="2026-09-06T01:38:51.000Z" objectID="{F1E8A581-A0D2-45E2-95A3-B698C072376F}{56}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:aqua"><one:T><![CDATA[<span
8style='font-weight:bold;font-style:italic;text-decoration:underline line-through;
9background:aqua;mso-highlight:aqua'>A&#128512;éZ</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T01:38:51.000Z" lastModifiedTime="2026-09-06T01:38:51.000Z" objectID="{FF7E9742-21C6-4D66-B405-E054C2426F7A}{189}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T01:38:51.000Z" objectID="{FF7E9742-21C6-4D66-B405-E054C2426F7A}{190}{B0}"><one:Columns><one:Column index="0" width="180.0" isLocked="true"/><one:Column index="1" width="180.0" isLocked="true"/></one:Columns><one:Row objectID="{FF7E9742-21C6-4D66-B405-E054C2426F7A}{191}{B0}" lastModifiedTime="2026-09-06T01:38:51.000Z"><one:Cell lastModifiedTime="2026-09-06T01:38:51.000Z" objectID="{FF7E9742-21C6-4D66-B405-E054C2426F7A}{192}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T01:38:51.000Z" lastModifiedTime="2026-09-06T01:38:51.000Z" objectID="{FF7E9742-21C6-4D66-B405-E054C2426F7A}{195}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T01:38:51.000Z" objectID="{FF7E9742-21C6-4D66-B405-E054C2426F7A}{200}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T01:38:51.000Z" lastModifiedTime="2026-09-06T01:38:51.000Z" objectID="{FF7E9742-21C6-4D66-B405-E054C2426F7A}{203}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row objectID="{FF7E9742-21C6-4D66-B405-E054C2426F7A}{208}{B0}" lastModifiedTime="2026-09-06T01:38:51.000Z"><one:Cell lastModifiedTime="2026-09-06T01:38:51.000Z" objectID="{FF7E9742-21C6-4D66-B405-E054C2426F7A}{212}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T01:38:51.000Z" lastModifiedTime="2026-09-06T01:38:51.000Z" objectID="{FF7E9742-21C6-4D66-B405-E054C2426F7A}{215}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[A&#128512;éZ]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T01:38:51.000Z" objectID="{FF7E9742-21C6-4D66-B405-E054C2426F7A}{209}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T01:38:51.000Z" lastModifiedTime="2026-09-06T01:38:51.000Z" objectID="{FF7E9742-21C6-4D66-B405-E054C2426F7A}{220}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-histories-pilot-01/read/payloads.json created+3
...@@ -0,0 +1,3 @@
1[
2
3]
\ No newline at end of file
corpus/m6/native-histories-pilot-01/run.json created+16
...@@ -0,0 +1,16 @@
1{
2 "notebook": "/Users/clo/dev/one/evidence/m6/history-input-01/notebook",
3 "expected_pages": 4,
4 "author": "tools/native/history.ps1",
5 "base": {
6 "file": "win7-office-base.qcow2",
7 "format": "qcow2",
8 "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346",
9 "virtual_size": 68719476736
10 },
11 "scripts": {
12 "author.ps1": "397acf4be501afc3c5cd8d64e84f0cf2a828314fb98a1d394ccdf2fe95b870c8",
13 "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
14 "read.ps1": "bec4953cc49b9ccb57041be00d7d7ce8bb88f2c0446c664b0a631e91f0007b45"
15 }
16}
corpus/m6/native-histories-pilot-01/scripts/author.ps1 created+83
...@@ -0,0 +1,83 @@
1param([Parameter(Mandatory=$true)][string]$Root, [Parameter(Mandatory=$true)][string]$CloneHost)
2Set-StrictMode -Version Latest
3$ErrorActionPreference = 'Stop'
4& "$PSScriptRoot\cold-current.ps1" -Root $Root -CloneHost $CloneHost
5$histories = Get-Content (Join-Path $Root 'notebook\histories.json') -Raw -Encoding UTF8 | ConvertFrom-Json
6$inputs = Join-Path $Root 'inputs'
7New-Item -ItemType Directory -Path $inputs | Out-Null
8$app = New-Object -ComObject OneNote.Application
9$notebookId = ''
10$namespace = 'http://schemas.microsoft.com/office/onenote/2010/onenote'
11try {
12 $app.OpenHierarchy((Join-Path $Root 'notebook'), '', [ref]$notebookId, 0)
13 $sectionId = ''
14 $app.OpenHierarchy('synthetic.one', $notebookId, [ref]$sectionId, 0)
15 foreach ($history in $histories) {
16 $pageId = ''
17 $app.CreateNewPage($sectionId, [ref]$pageId, 0)
18 $state = $history.initial
19 $paragraphs = New-Object Collections.ArrayList
20 foreach ($paragraph in $state.paragraphs) { [void]$paragraphs.Add($paragraph) }
21 $ids = @{}
22 $outlineId = ''
23 for ($step = -1; $step -lt $history.operations.Count; $step++) {
24 if ($step -ge 0) {
25 $op = $history.operations[$step]
26 switch ($op.kind) {
27 'insert' { $paragraphs.Insert($op.index, $op.paragraph) }
28 'delete' { $paragraphs.RemoveAt($op.index) }
29 'move' { $paragraph = $paragraphs[$op.index]; $paragraphs.RemoveAt($op.index); $paragraphs.Insert($op.to, $paragraph) }
30 'position' { $state.x = $op.x; $state.y = $op.y }
31 'cell' { $state.table[$op.row][$op.column] = $op.text }
32 default { $property = $op.kind; $paragraphs[$op.index].$property = $op.value }
33 }
34 }
35 $xml = '<one:Page xmlns:one="' + $namespace + '" ID="' + $pageId + '"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>' + $history.title + '</one:T></one:OE></one:Title><one:Outline'
36 if ($outlineId) { $xml += ' objectID="' + $outlineId + '"' }
37 $xml += '><one:Position x="' + $state.x + '" y="' + $state.y + '"/><one:Size width="480" height="100"/><one:OEChildren>'
38 foreach ($paragraph in $paragraphs) {
39 $xml += '<one:OE'
40 if ($ids.ContainsKey($paragraph.id)) { $xml += ' objectID="' + $ids[$paragraph.id] + '"' }
41 $xml += '>'
42 if ($paragraph.tag) { $xml += '<one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/>' }
43 $decoration = @()
44 if ($paragraph.underline) { $decoration += 'underline' }
45 if ($paragraph.strike) { $decoration += 'line-through' }
46 if ($decoration.Count -eq 0) { $decoration = @('none') }
47 $style = 'font-family:Calibri;font-size:' + $paragraph.font_size + 'pt;font-weight:' + $(if ($paragraph.bold) {'bold'} else {'normal'}) + ';font-style:' + $(if ($paragraph.italic) {'italic'} else {'normal'}) + ';text-decoration:' + ($decoration -join ' ') + ';color:' + $paragraph.color + ';background:' + $paragraph.highlight
48 $html = '<span style="' + $style + '">' + [Security.SecurityElement]::Escape($paragraph.text) + '</span>'
49 if ($paragraph.link) { $html = '<a href="' + [Security.SecurityElement]::Escape($paragraph.link) + '">' + $html + '</a>' }
50 $xml += '<one:T><![CDATA[' + $html + ']]></one:T></one:OE>'
51 }
52 $xml += '<one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns>'
53 foreach ($row in $state.table) {
54 $xml += '<one:Row>'
55 foreach ($cell in $row) { $xml += '<one:Cell><one:OEChildren><one:OE><one:T><![CDATA[' + [Security.SecurityElement]::Escape($cell) + ']]></one:T></one:OE></one:OEChildren></one:Cell>' }
56 $xml += '</one:Row>'
57 }
58 $xml += '</one:Table></one:OE></one:OEChildren></one:Outline></one:Page>'
59 [IO.File]::WriteAllText((Join-Path $inputs ('{0:d6}-{1:d2}.xml' -f $history.seed, ($step + 1))), $xml, [Text.Encoding]::UTF8)
60 $app.UpdatePageContent($xml, [DateTime]::MinValue, 1, $true)
61 $content = ''
62 $app.GetPageContent($pageId, [ref]$content, 3, 1)
63 [xml]$document = $content
64 $manager = New-Object Xml.XmlNamespaceManager($document.NameTable)
65 $manager.AddNamespace('one', $namespace)
66 $outline = $document.SelectSingleNode('/one:Page/one:Outline', $manager)
67 $outlineId = $outline.GetAttribute('objectID')
68 $objects = @($outline.SelectNodes('one:OEChildren/one:OE[one:T]', $manager))
69 if ($objects.Count -ne $paragraphs.Count) { throw "Native paragraph count changed at seed $($history.seed), step $step." }
70 for ($index = 0; $index -lt $paragraphs.Count; $index++) { $ids[$paragraphs[$index].id] = $objects[$index].GetAttribute('objectID') }
71 $log = @{ seed = $history.seed; step = $step; page = $pageId; outline = $outlineId } | ConvertTo-Json -Compress
72 [IO.File]::AppendAllText((Join-Path $Root 'operations.jsonl'), $log + [Environment]::NewLine, [Text.Encoding]::UTF8)
73 }
74 }
75 $app.SyncHierarchy($notebookId)
76 $app.CloseNotebook($notebookId, $false)
77 $notebookId = ''
78} finally {
79 if ($notebookId) { $app.CloseNotebook($notebookId, $false) }
80 [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
81 [GC]::Collect()
82 [GC]::WaitForPendingFinalizers()
83}
corpus/m6/native-histories-pilot-01/scripts/cold.ps1 created+27
...@@ -0,0 +1,27 @@
1param([Parameter(Mandatory=$true)][string]$Root, [string]$CloneHost = '')
2Set-StrictMode -Version Latest
3$ErrorActionPreference = 'Stop'
4$root = [IO.Path]::GetFullPath($Root).TrimEnd('\')
5if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') {
6 throw 'Choose a run directly below C:\one-tests\runs.'
7}
8if (Get-Process ONENOTE -ErrorAction SilentlyContinue) { throw 'Close OneNote before resetting its test cache.' }
9$key = 'HKCU:\Software\Microsoft\Office\14.0\OneNote'
10if ($CloneHost) {
11 if ($CloneHost -notmatch '^ONE-[A-Z0-9-]+$' -or [Environment]::MachineName -ne $CloneHost) {
12 throw 'The disposable clone hostname does not match this machine.'
13 }
14 New-Item "$key\Options\Paths" -Force | Out-Null
15 New-ItemProperty "$key\Options\Paths" -Name UnfiledNotesSection -PropertyType ExpandString -Value 'C:\one-tests\Loose.one' -Force | Out-Null
16} elseif ((Get-ItemProperty "$key\Options\Paths").UnfiledNotesSection -ne 'C:\one-tests\Loose.one' -or
17 -not (Test-Path 'C:\one-tests\profile-original-cache')) {
18 throw 'Park the personal OneNote profile before resetting the test cache.'
19}
20$cache = Join-Path $env:LOCALAPPDATA 'Microsoft\OneNote\14.0'
21$parked = Join-Path 'C:\one-tests\caches' ([IO.Path]::GetFileName($root))
22if (Test-Path $parked) { throw 'Choose a new run; its parked cache already exists.' }
23New-Item -ItemType Directory -Path 'C:\one-tests\caches' -Force | Out-Null
24if (Test-Path $cache) { Move-Item -LiteralPath $cache -Destination $parked }
25if (Test-Path "$key\OpenNotebooks") { Remove-Item "$key\OpenNotebooks" -Recurse }
26New-Item "$key\OpenNotebooks" | Out-Null
27New-ItemProperty "$key\OpenNotebooks" -Name '1' -PropertyType String -Value "$root\notebook" | Out-Null
corpus/m6/native-histories-pilot-01/scripts/read.ps1 created+131
...@@ -0,0 +1,131 @@
1param(
2 [Parameter(Mandatory=$true)][string]$Root,
3 [int]$ExpectedPages = -1,
4 [switch]$UseCurrentCache,
5 [switch]$Pdf,
6 [switch]$KeepOpen,
7 [string]$CloneHost = ''
8)
9Set-StrictMode -Version Latest
10$ErrorActionPreference = 'Stop'
11$root = [IO.Path]::GetFullPath($Root).TrimEnd('\')
12if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') {
13 throw 'Choose a run directly below C:\one-tests\runs.'
14}
15$notebook = Join-Path $root 'notebook'
16$output = Join-Path $root 'read'
17if (Test-Path $output) { throw 'Choose a new read destination.' }
18if ($UseCurrentCache) {
19 if ((Get-ItemProperty 'HKCU:\Software\Microsoft\Office\14.0\OneNote\Options\Paths').UnfiledNotesSection -ne 'C:\one-tests\Loose.one') {
20 throw 'Park the personal OneNote profile before reading test notebooks.'
21 }
22} else {
23 & "$PSScriptRoot\cold-current.ps1" -Root $root -CloneHost $CloneHost
24}
25New-Item -ItemType Directory -Path $output | Out-Null
26$app = New-Object -ComObject OneNote.Application
27$notebookId = ''
28$failure = $null
29try {
30 $app.OpenHierarchy($notebook, '', [ref]$notebookId, 0)
31 $process = Get-Process ONENOTE
32 @{ hostname = [Environment]::MachineName; onenote = $process.MainModule.FileVersionInfo.FileVersion;
33 powershell = $PSVersionTable.PSVersion.ToString(); schema = 'xs2010'; cold = (-not $UseCurrentCache.IsPresent) } |
34 ConvertTo-Json | Set-Content (Join-Path $output 'environment.json') -Encoding UTF8
35 $sections = @()
36 foreach ($file in @(Get-ChildItem $notebook -Recurse | Where-Object { $_.Extension -eq '.one' })) {
37 $id = ''
38 $app.OpenHierarchy($file.FullName, '', [ref]$id, 0)
39 $sections += $id
40 }
41 $deadline = [DateTime]::UtcNow.AddSeconds(45)
42 $previous = ''
43 $stableSince = [DateTime]::UtcNow
44 $settled = $false
45 do {
46 $pages = @{}
47 foreach ($section in $sections) {
48 $hierarchy = ''
49 $app.GetHierarchy($section, 4, [ref]$hierarchy, 1)
50 [xml]$xml = $hierarchy
51 foreach ($node in $xml.SelectNodes('//*[@path]')) {
52 if (-not $node.GetAttribute('path').StartsWith("$notebook\", [StringComparison]::OrdinalIgnoreCase)) {
53 throw 'OneNote opened a section outside the copied notebook.'
54 }
55 }
56 foreach ($node in $xml.SelectNodes('//*[local-name()="Page"]')) {
57 $id = $node.GetAttribute('ID')
58 $content = ''
59 $app.GetPageContent($id, [ref]$content, 3, 1)
60 $pages[$id] = $content
61 }
62 }
63 $signature = [String]::Join('|', @($pages.Keys | Sort-Object | ForEach-Object { $_ + $pages[$_] }))
64 if ($signature -ne $previous) {
65 $previous = $signature
66 $stableSince = [DateTime]::UtcNow
67 }
68 if ((($ExpectedPages -ge 0 -and $pages.Count -eq $ExpectedPages) -or
69 ($ExpectedPages -lt 0 -and $pages.Count -gt 0)) -and
70 ([DateTime]::UtcNow - $stableSince).TotalSeconds -ge 2) { $settled = $true; break }
71 Start-Sleep -Milliseconds 250
72 } while ([DateTime]::UtcNow -lt $deadline)
73 if (-not $settled -or ($ExpectedPages -ge 0 -and $pages.Count -ne $ExpectedPages) -or ($ExpectedPages -lt 0 -and $pages.Count -eq 0)) {
74 throw "Expected $ExpectedPages pages; OneNote returned $($pages.Count)."
75 }
76 $index = 0
77 $payloads = @()
78 foreach ($id in @($pages.Keys | Sort-Object)) {
79 [IO.File]::WriteAllText((Join-Path $output ('page-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8)
80 if ($Pdf) {
81 $pdfPath = Join-Path $output ('page-{0:d3}.pdf' -f $index)
82 $app.NavigateTo($id, '', $false)
83 $app.Publish($id, $pdfPath, 3, '')
84 if (-not (Test-Path $pdfPath) -or (Get-Item $pdfPath).Length -eq 0) { throw 'OneNote did not publish the page PDF.' }
85 }
86 [xml]$page = $pages[$id]
87 foreach ($file in $page.SelectNodes('//*[local-name()="InsertedFile" or local-name()="MediaFile"]')) {
88 $bytes = [IO.File]::ReadAllBytes($file.GetAttribute('pathCache'))
89 $hash = [BitConverter]::ToString([Security.Cryptography.SHA256]::Create().ComputeHash($bytes)).Replace('-', '').ToLowerInvariant()
90 [IO.File]::WriteAllBytes((Join-Path $output ($hash + '.attachment')), $bytes)
91 $payloads += @{ page = $id; object = $file.ParentNode.GetAttribute('objectID');
92 kind = $file.LocalName; name = $file.GetAttribute('preferredName');
93 sha256 = $hash; bytes = $bytes.Length }
94 }
95 $index++
96 }
97 [IO.File]::WriteAllText((Join-Path $output 'payloads.json'), (ConvertTo-Json -InputObject $payloads -Depth 4), [Text.Encoding]::UTF8)
98 $all = ''
99 $app.GetHierarchy($notebookId, 4, [ref]$all, 1)
100 [xml]$finalTree = $all
101 $finalIds = @($finalTree.SelectNodes('//*[local-name()="Page"]') | ForEach-Object { $_.GetAttribute('ID') } | Sort-Object -Unique)
102 if ($finalIds.Count -ne $pages.Count -or @($finalIds | Where-Object { -not $pages.ContainsKey($_) }).Count -ne 0) {
103 throw 'The notebook hierarchy changed while collecting page evidence; repeat the cold read.'
104 }
105 [IO.File]::WriteAllText((Join-Path $output 'hierarchy.xml'), $all, [Text.Encoding]::UTF8)
106 Write-Output "Read $($sections.Count) sections and $($pages.Count) pages."
107} catch {
108 $failure = $_
109 [IO.File]::WriteAllText((Join-Path $output 'failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8)
110 throw
111} finally {
112 try {
113 try {
114 if ($notebookId -and $CloneHost) { $app.SyncHierarchy($notebookId) }
115 if ($notebookId -and -not $KeepOpen -and (-not $UseCurrentCache -or $CloneHost)) {
116 $app.CloseNotebook($notebookId, $false)
117 }
118 } catch {
119 if ($null -eq $failure) { throw }
120 [IO.File]::WriteAllText((Join-Path $output 'cleanup-failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8)
121 }
122 } finally {
123 [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
124 }
125 $app = $null
126 [GC]::Collect()
127 [GC]::WaitForPendingFinalizers()
128 if (-not $UseCurrentCache -and -not $CloneHost) {
129 Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10
130 }
131}
corpus/m6/native-histories-pilot-01/source.json created+20
...@@ -0,0 +1,20 @@
1[
2 {
3 "path": "Open Notebook.onetoc2",
4 "bytes": 1612,
5 "sha256": "fafa5dcb3cd827c7edd30c8ea2fbc957a59fb4d2a8b28b667a3c551c8261ab86",
6 "mtime_ns": 1788592288950419463
7 },
8 {
9 "path": "histories.json",
10 "bytes": 11091,
11 "sha256": "b6a7f34ee0bfe8aebd532fc1464e3136ce45663f0a71ab016ae41223c8d9bd1a",
12 "mtime_ns": 1788658359257655599
13 },
14 {
15 "path": "synthetic.one",
16 "bytes": 3348,
17 "sha256": "b0662387c3fdc256d8dbe809e3b8f73b3586559696467fb1fff8f589095fa797",
18 "mtime_ns": 1788592288941514581
19 }
20]
corpus/m6/native-histories-pilot-01/teardown.json created+1
...@@ -0,0 +1 @@
1{"absent": true}
corpus/m6/native-link-controls-01/ORACLE.md created+22
...@@ -0,0 +1,22 @@
1# Native hyperlink boundary controls
2
3`notebook/fixture.json` is the independent authored input; `inputs/page-000.xml`
4records the submitted COM page. `read/page-001.xml` and its PDF are the native
5output. `read/environment.json` identifies the OneNote build and fresh clone;
6`teardown.json` records deletion. The original capture location links here.
7
8Ten labels isolate ASCII spaces, tabs, NBSP, EM space, literal HTML metacharacters,
9and line breaks. Native import places leading ASCII spaces/tabs outside the link,
10keeps trailing spaces/tabs inside it, and keeps NBSP linked at both ends. An
11all-space label has no link. EM spaces are removed during import. Newlines become
12stored CRs outside the hyperlink; the final CR is absent from exported HTML.
13
14Authored red foreground and underline do not survive this hyperlink import:
15native storage and exported XML use automatic foreground and no underline,
16including the leading unlinked text. Bold, 14-point font, and yellow highlight
17remain. These are native import observations, not transformations in the reader.
18
19`native_hyperlink_boundaries_preserve_whitespace_and_literal_labels` checks the
20stored visible text, linked text, exact destinations, and native formatting. The
21seeded-history comparator must apply the evidenced leading ASCII-space/tab rule
22to its independent expectation without stripping Unicode whitespace generally.
corpus/m6/native-link-controls-01/agent.py created+439
...@@ -0,0 +1,439 @@
1import base64
2import ctypes
3import hashlib
4import json
5import os
6import struct
7import subprocess
8import sys
9import tempfile
10import threading
11import time
12import zlib
13from ctypes import wintypes
14from http.server import ThreadingHTTPServer, BaseHTTPRequestHandler
15
16BASE = os.path.dirname(os.path.abspath(__file__))
17with open(__file__, 'rb') as source:
18 AGENT_SHA256 = hashlib.sha256(source.read()).hexdigest()
19LOCK = threading.Lock()
20
21user32 = ctypes.windll.user32
22gdi32 = ctypes.windll.gdi32
23
24SRCCOPY = 0x00CC0020
25CAPTUREBLT = 0x40000000
26BI_RGB = 0
27DIB_RGB_COLORS = 0
28
29# restype must be set on x64: the default c_int return truncates a 64-bit HANDLE.
30user32.GetDC.restype = wintypes.HDC
31user32.GetDC.argtypes = [wintypes.HWND]
32user32.ReleaseDC.restype = ctypes.c_int
33user32.ReleaseDC.argtypes = [wintypes.HWND, wintypes.HDC]
34user32.GetSystemMetrics.restype = ctypes.c_int
35user32.GetSystemMetrics.argtypes = [ctypes.c_int]
36gdi32.CreateCompatibleDC.restype = wintypes.HDC
37gdi32.CreateCompatibleDC.argtypes = [wintypes.HDC]
38gdi32.CreateCompatibleBitmap.restype = wintypes.HBITMAP
39gdi32.CreateCompatibleBitmap.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int]
40gdi32.SelectObject.restype = wintypes.HGDIOBJ
41gdi32.SelectObject.argtypes = [wintypes.HDC, wintypes.HGDIOBJ]
42gdi32.BitBlt.restype = wintypes.BOOL
43gdi32.BitBlt.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int, ctypes.c_int,
44 ctypes.c_int, wintypes.HDC, ctypes.c_int, ctypes.c_int,
45 wintypes.DWORD]
46gdi32.GetDIBits.restype = ctypes.c_int
47gdi32.GetDIBits.argtypes = [wintypes.HDC, wintypes.HBITMAP, wintypes.UINT,
48 wintypes.UINT, ctypes.c_void_p, ctypes.c_void_p,
49 wintypes.UINT]
50gdi32.DeleteObject.restype = wintypes.BOOL
51gdi32.DeleteObject.argtypes = [wintypes.HGDIOBJ]
52gdi32.DeleteDC.restype = wintypes.BOOL
53gdi32.DeleteDC.argtypes = [wintypes.HDC]
54
55WNDENUMPROC = ctypes.WINFUNCTYPE(wintypes.BOOL, wintypes.HWND, wintypes.LPARAM)
56user32.GetForegroundWindow.restype = wintypes.HWND
57user32.GetForegroundWindow.argtypes = []
58user32.GetWindowTextW.restype = ctypes.c_int
59user32.GetWindowTextW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int]
60user32.GetClassNameW.restype = ctypes.c_int
61user32.GetClassNameW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int]
62user32.GetClientRect.restype = wintypes.BOOL
63user32.GetClientRect.argtypes = [wintypes.HWND, ctypes.POINTER(wintypes.RECT)]
64user32.EnumChildWindows.restype = wintypes.BOOL
65user32.EnumChildWindows.argtypes = [wintypes.HWND, WNDENUMPROC, wintypes.LPARAM]
66
67
68class BITMAPINFOHEADER(ctypes.Structure):
69 _fields_ = [("biSize", wintypes.DWORD),
70 ("biWidth", wintypes.LONG),
71 ("biHeight", wintypes.LONG),
72 ("biPlanes", wintypes.WORD),
73 ("biBitCount", wintypes.WORD),
74 ("biCompression", wintypes.DWORD),
75 ("biSizeImage", wintypes.DWORD),
76 ("biXPelsPerMeter", wintypes.LONG),
77 ("biYPelsPerMeter", wintypes.LONG),
78 ("biClrUsed", wintypes.DWORD),
79 ("biClrImportant", wintypes.DWORD)]
80
81
82PREAMBLE = (
83 "#Requires AutoHotkey v2.0\n"
84 "#SingleInstance Off\n"
85 "#Warn All, Off\n"
86 'FileEncoding "UTF-8-RAW"\n'
87 'SendMode "Input"\n'
88 "SetWorkingDir A_ScriptDir\n"
89 'CoordMode "Mouse", "Screen"\n'
90 'CoordMode "Pixel", "Screen"\n'
91 'CoordMode "ToolTip", "Screen"\n'
92 "SetTitleMatchMode 2\n"
93 "DetectHiddenWindows true\n"
94)
95
96
97def ahk_path():
98 u64 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey64.exe")
99 u32 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey32.exe")
100 return u64 if os.path.exists(u64) else u32
101
102
103def _chunk(tag, data):
104 return (struct.pack(">I", len(data)) + tag + data +
105 struct.pack(">I", zlib.crc32(tag + data) & 0xffffffff))
106
107
108def _to_png(bgra, w, h):
109 arr = bytearray(bgra)
110 r = arr[2::4]
111 arr[2::4] = arr[0::4]
112 arr[0::4] = r
113 del arr[3::4]
114 stride = w * 3
115 mv = memoryview(arr)
116 raw = bytearray()
117 for y in range(h):
118 raw.append(0)
119 raw += mv[y * stride:(y + 1) * stride]
120 ihdr = struct.pack(">IIBBBBB", w, h, 8, 2, 0, 0, 0)
121 return (b"\x89PNG\r\n\x1a\n" + _chunk(b"IHDR", ihdr) +
122 _chunk(b"IDAT", zlib.compress(bytes(raw))) + _chunk(b"IEND", b""))
123
124
125def capture():
126 w = user32.GetSystemMetrics(0)
127 h = user32.GetSystemMetrics(1)
128 hdc = user32.GetDC(None)
129 mem = None
130 hbm = None
131 try:
132 mem = gdi32.CreateCompatibleDC(hdc)
133 hbm = gdi32.CreateCompatibleBitmap(hdc, w, h)
134 old = gdi32.SelectObject(mem, hbm)
135 gdi32.BitBlt(mem, 0, 0, w, h, hdc, 0, 0, SRCCOPY | CAPTUREBLT)
136 gdi32.SelectObject(mem, old)
137 bmi = BITMAPINFOHEADER()
138 bmi.biSize = ctypes.sizeof(BITMAPINFOHEADER)
139 bmi.biWidth = w
140 bmi.biHeight = -h # negative => top-down rows, matches screenshot orientation
141 bmi.biPlanes = 1
142 bmi.biBitCount = 32
143 bmi.biCompression = BI_RGB
144 buf = ctypes.create_string_buffer(w * h * 4)
145 if gdi32.GetDIBits(mem, hbm, 0, h, buf, ctypes.byref(bmi),
146 DIB_RGB_COLORS) == 0:
147 raise RuntimeError("GetDIBits failed")
148 data = buf.raw
149 finally:
150 if hbm:
151 gdi32.DeleteObject(hbm)
152 if mem:
153 gdi32.DeleteDC(mem)
154 user32.ReleaseDC(None, hdc)
155 return _to_png(data, w, h), w, h
156
157
158def _win_text(fn, hwnd, n=512):
159 buf = ctypes.create_unicode_buffer(n)
160 fn(hwnd, buf, n)
161 return buf.value
162
163
164def active_window():
165 hwnd = user32.GetForegroundWindow()
166 if not hwnd:
167 return {"title": "", "class": "", "dialog": False}
168 cls = _win_text(user32.GetClassNameW, hwnd)
169 return {"title": _win_text(user32.GetWindowTextW, hwnd),
170 "class": cls, "dialog": cls == "#32770"}
171
172
173def control_tree():
174 hwnd = user32.GetForegroundWindow()
175 rows = []
176
177 def add(h):
178 rect = wintypes.RECT()
179 user32.GetClientRect(h, ctypes.byref(rect))
180 rows.append((_win_text(user32.GetClassNameW, h),
181 _win_text(user32.GetWindowTextW, h),
182 rect.left, rect.top,
183 rect.right - rect.left, rect.bottom - rect.top))
184
185 if hwnd:
186 add(hwnd)
187
188 def cb(child, _lparam):
189 add(child)
190 return True
191 user32.EnumChildWindows(hwnd, WNDENUMPROC(cb), 0)
192 lines = ["%-24s %-28s %s" % ("class", "text", "l,t,w,h")]
193 for cls, text, l, t, w, h in rows:
194 lines.append("%-24s %-28s %d,%d,%d,%d" % (cls, text, l, t, w, h))
195 return "\n".join(lines)
196
197
198def _run(argv, timeout_ms, encoding, on_timeout=None):
199 def dec(b):
200 return b.decode(encoding, "replace") if b else ""
201
202 p = subprocess.Popen(argv, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
203 try:
204 out, err = p.communicate(timeout=timeout_ms / 1000.0)
205 return p.returncode, dec(out), dec(err), None
206 except subprocess.TimeoutExpired:
207 if on_timeout:
208 on_timeout()
209 subprocess.call(["taskkill", "/F", "/T", "/PID", str(p.pid)])
210 try:
211 # A process the script launched can outlive taskkill still holding the
212 # inherited stdout pipe; an unbounded wait here wedges the agent's lock.
213 out, err = p.communicate(timeout=5)
214 except subprocess.TimeoutExpired:
215 out = err = b""
216 for pipe in (p.stdout, p.stderr):
217 if pipe:
218 pipe.close()
219 msg = "timed out after %d ms, process killed" % timeout_ms
220 return None, dec(out), dec(err), msg
221
222
223def run_ahk(script, timeout_ms, on_timeout=None):
224 fd, path = tempfile.mkstemp(suffix=".ahk")
225 os.close(fd)
226 # AutoHotkey (Unicode-only) needs a UTF-8 BOM to read the file as UTF-8.
227 with open(path, "wb") as f:
228 f.write(b"\xef\xbb\xbf" + (PREAMBLE + script).encode("utf-8"))
229 try:
230 # /ErrorStdOut sends syntax errors to stderr instead of a blocking modal.
231 code, out, err, error = _run([ahk_path(), "/ErrorStdOut", path], timeout_ms,
232 "utf-8", on_timeout)
233 finally:
234 os.remove(path)
235 if error:
236 error = "script " + error
237 return code, out, err, error
238
239
240def _safe_capture(error):
241 try:
242 png, w, h = capture()
243 return base64.b64encode(png).decode("ascii"), w, h, error
244 except Exception as e:
245 note = "screenshot failed: " + repr(e)
246 return "", 0, 0, (error + "; " + note if error else note)
247
248
249LOG_PATH = os.path.join(BASE, "agent.log")
250LOG_LOCK = threading.Lock()
251
252
253def log(text, stamp=True):
254 """Console and agent.log, so a session can be reconstructed after the fact."""
255 line = time.strftime("%Y-%m-%d %H:%M:%S ") + text if stamp else text
256 with LOG_LOCK:
257 print(line, end="" if line.endswith("\n") else "\n", flush=True)
258 try:
259 with open(LOG_PATH, "a", encoding="utf-8") as f:
260 f.write(line if line.endswith("\n") else line + "\n")
261 except OSError:
262 pass # a log that cannot be written must not take the agent down
263
264
265class Handler(BaseHTTPRequestHandler):
266 def log_message(self, *a):
267 pass
268
269 def _send(self, code, obj):
270 body = json.dumps(obj).encode("utf-8")
271 self.send_response(code)
272 self.send_header("Content-Type", "application/json")
273 self.send_header("Content-Length", str(len(body)))
274 self.end_headers()
275 self.wfile.write(body)
276
277 def _log(self, start, code, body=None):
278 log("%s %s %dms exit=%s" % (self.command, self.path,
279 int((time.time() - start) * 1000), code))
280 if body:
281 log("".join(" | %s\n" % l for l in body.splitlines()), stamp=False)
282
283 def _auth_ok(self):
284 token = os.environ.get("WIN7_TOKEN")
285 return not token or self.headers.get("X-Win7-Token") == token
286
287 def _body(self):
288 n = int(self.headers.get("Content-Length") or 0)
289 raw = self.rfile.read(n) if n else b""
290 return json.loads(raw.decode("utf-8")) if raw else {}
291
292 def do_GET(self):
293 start = time.time()
294 if not self._auth_ok():
295 self._send(401, {"error": "bad token"})
296 elif self.path == "/health":
297 self._send(200, {"ok": True, "w": user32.GetSystemMetrics(0),
298 "h": user32.GetSystemMetrics(1),
299 "hostname": os.environ.get("COMPUTERNAME", ""),
300 "ahk": ahk_path(), "python": sys.executable,
301 "agent_sha256": AGENT_SHA256})
302 else:
303 self._send(404, {"error": "not found"})
304 self._log(start, None)
305
306 def do_POST(self):
307 start = time.time()
308 code = None
309 if not self._auth_ok():
310 self._send(401, {"error": "bad token"})
311 self._log(start, None)
312 return
313 try:
314 data = self._body()
315 except Exception:
316 self._send(400, {"error": "bad json"})
317 self._log(start, None)
318 return
319 body = {"/exec": data.get("script"), "/cmd": data.get("command"),
320 "/spawn": data.get("command"),
321 "/put": data.get("path"), "/get": data.get("path")}.get(self.path)
322 try:
323 if self.path == "/exec":
324 resp = self._exec(data)
325 code = resp["exit"]
326 elif self.path == "/cmd":
327 resp = self._cmd(data)
328 code = resp["exit"]
329 elif self.path == "/spawn":
330 resp = self._spawn(data)
331 code = 0
332 elif self.path == "/put":
333 resp = self._put(data)
334 elif self.path == "/get":
335 resp = self._get(data)
336 elif self.path == "/shot":
337 resp = self._shot()
338 elif self.path == "/ui":
339 resp = self._ui()
340 else:
341 self._send(404, {"error": "not found"})
342 self._log(start, None)
343 return
344 self._send(200, resp)
345 except Exception as e:
346 self._send(200, {"error": repr(e), "exit": None, "stdout": "",
347 "stderr": "", "png_b64": "", "w": 0, "h": 0})
348 self._log(start, code, body)
349
350 def _exec(self, data):
351 pre = []
352
353 def grab(): # capture before taskkill so the blocker is still on screen
354 pre.append((_safe_capture(None), active_window()))
355
356 with LOCK:
357 code, out, err, error = run_ahk(data.get("script", ""),
358 data.get("timeout_ms", 60000), grab)
359 if pre:
360 (b64, w, h, note), win = pre[0]
361 else:
362 time.sleep(data.get("shot_delay_ms", 500) / 1000.0)
363 b64, w, h, note = _safe_capture(None)
364 win = active_window()
365 if note:
366 error = error + "; " + note if error else note
367 return {"exit": code, "stdout": out, "stderr": err, "png_b64": b64,
368 "w": w, "h": h, "error": error, "win": win}
369
370 def _put(self, data):
371 path = data.get("path", "")
372 blob = base64.b64decode(data.get("b64", ""))
373 parent = os.path.dirname(path)
374 if parent and not os.path.isdir(parent):
375 os.makedirs(parent)
376 with open(path, "wb") as f:
377 f.write(blob)
378 return {"bytes": len(blob), "path": os.path.abspath(path), "error": None}
379
380 def _get(self, data):
381 with open(data.get("path", ""), "rb") as f:
382 blob = f.read()
383 return {"b64": base64.b64encode(blob).decode("ascii"), "bytes": len(blob),
384 "error": None}
385
386 def _cmd(self, data):
387 with LOCK:
388 # A raw command-line string, not a list: on Windows list2cmdline would
389 # backslash-escape the embedded quotes before cmd.exe ever sees them.
390 code, out, err, error = _run("cmd.exe /c " + data.get("command", ""),
391 data.get("timeout_ms", 60000), "oem")
392 return {"exit": code, "stdout": out, "stderr": err, "error": error}
393
394 def _spawn(self, data):
395 flags = subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS
396 process = subprocess.Popen(data.get("command", ""), stdin=subprocess.DEVNULL,
397 stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL,
398 close_fds=True, creationflags=flags)
399 return {"pid": process.pid, "error": None}
400
401 def _shot(self):
402 b64, w, h, error = _safe_capture(None)
403 win = active_window()
404 return {"png_b64": b64, "w": w, "h": h, "error": error, "win": win}
405
406 def _ui(self):
407 win = active_window()
408 controls = control_tree()
409 return {"win": win, "controls": controls, "error": None}
410
411
412def keep_awake():
413 """Hold the display and system awake for as long as this process lives.
414
415 Screen blanking alone is harmless -- BitBlt still captures the composited
416 desktop -- but sleep kills the agent outright, and a locked session moves
417 the desktop to Winlogon where neither AutoHotkey nor the capture can reach.
418 """
419 ES_CONTINUOUS, ES_SYSTEM_REQUIRED, ES_DISPLAY_REQUIRED = 0x80000000, 0x1, 0x2
420 kernel32 = ctypes.windll.kernel32
421 kernel32.SetThreadExecutionState.restype = wintypes.DWORD
422 kernel32.SetThreadExecutionState.argtypes = [wintypes.DWORD]
423 return kernel32.SetThreadExecutionState(
424 ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED)
425
426
427def main():
428 user32.SetProcessDPIAware()
429 awake = keep_awake()
430 port = int(os.environ.get("WIN7_PORT", "8777"))
431 srv = ThreadingHTTPServer(("0.0.0.0", port), Handler)
432 log("win7-agent listening on 0.0.0.0:%d ahk=%s log=%s%s"
433 % (port, ahk_path(), LOG_PATH,
434 "" if awake else " (WARNING: could not inhibit sleep)"))
435 srv.serve_forever()
436
437
438if __name__ == "__main__":
439 main()
corpus/m6/native-link-controls-01/commands.jsonl created+4
...@@ -0,0 +1,4 @@
1{"command": "powershell -NoProfile -Command \"Expand-Archive -LiteralPath C:\\one-tests\\transfer.zip -DestinationPath C:\\one-tests\\runs\\capture\\notebook\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
2{"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\author.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-5025FB31", "exit": 0, "stdout": "", "stderr": "", "error": null}
3{"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-5025FB31 -ExpectedPages 2 -UseCurrentCache -Pdf", "exit": 0, "stdout": "Read 2 sections and 2 pages.\r\n", "stderr": "", "error": null}
4{"command": "powershell -NoProfile -Command \"Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\* -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
corpus/m6/native-link-controls-01/format-differences.json created+1
...@@ -0,0 +1 @@
1[]
\ No newline at end of file
corpus/m6/native-link-controls-01/geometry-differences.json created+1
...@@ -0,0 +1 @@
1[]
\ No newline at end of file
corpus/m6/native-link-controls-01/health.json created+9
...@@ -0,0 +1,9 @@
1{
2 "ok": true,
3 "w": 800,
4 "h": 600,
5 "hostname": "ONE-M6-5025FB31",
6 "ahk": "C:\\win7-agent\\vendor\\ahk\\AutoHotkey64.exe",
7 "python": "C:\\win7-agent\\vendor\\python\\python.exe",
8 "agent_sha256": "ef7ca89be026695cf4412460a2eec308b0ed253fb9245597a7fe5d6938e49f89"
9}
corpus/m6/native-link-controls-01/inputs/page-000.xml created+3
...@@ -0,0 +1,3 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{19F6E5A0-A688-4A61-BF43-8A1106A8A02F}{1}{B0}"><one:Title><one:OE><one:T>Hyperlink boundary controls</one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108" /><one:Size width="480" height="400" /><one:OEChildren><one:OE><one:T>&lt;a href="https://example.invalid/label/0"&gt;&lt;span style="font-family:Calibri;font-size:14pt;font-weight:bold;text-decoration:underline;color:red;background:yellow"&gt; label &lt;/span&gt;&lt;/a&gt;</one:T></one:OE><one:OE><one:T>&lt;a href="https://example.invalid/label/1"&gt;&lt;span style="font-family:Calibri;font-size:14pt;font-weight:bold;text-decoration:underline;color:red;background:yellow"&gt; label &lt;/span&gt;&lt;/a&gt;</one:T></one:OE><one:OE><one:T>&lt;a href="https://example.invalid/label/2"&gt;&lt;span style="font-family:Calibri;font-size:14pt;font-weight:bold;text-decoration:underline;color:red;background:yellow"&gt; label &lt;/span&gt;&lt;/a&gt;</one:T></one:OE><one:OE><one:T>&lt;a href="https://example.invalid/label/3"&gt;&lt;span style="font-family:Calibri;font-size:14pt;font-weight:bold;text-decoration:underline;color:red;background:yellow"&gt; label &lt;/span&gt;&lt;/a&gt;</one:T></one:OE><one:OE><one:T>&lt;a href="https://example.invalid/label/4"&gt;&lt;span style="font-family:Calibri;font-size:14pt;font-weight:bold;text-decoration:underline;color:red;background:yellow"&gt;label&lt;/span&gt;&lt;/a&gt;</one:T></one:OE><one:OE><one:T>&lt;a href="https://example.invalid/label/5"&gt;&lt;span style="font-family:Calibri;font-size:14pt;font-weight:bold;text-decoration:underline;color:red;background:yellow"&gt; &lt;/span&gt;&lt;/a&gt;</one:T></one:OE><one:OE><one:T>&lt;a href="https://example.invalid/label/6"&gt;&lt;span style="font-family:Calibri;font-size:14pt;font-weight:bold;text-decoration:underline;color:red;background:yellow"&gt; label &lt;/span&gt;&lt;/a&gt;</one:T></one:OE><one:OE><one:T>&lt;a href="https://example.invalid/label/7"&gt;&lt;span style="font-family:Calibri;font-size:14pt;font-weight:bold;text-decoration:underline;color:red;background:yellow"&gt; ]]&amp;gt; end&lt;/span&gt;&lt;/a&gt;</one:T></one:OE><one:OE><one:T>&lt;a href="https://example.invalid/label/8"&gt;&lt;span style="font-family:Calibri;font-size:14pt;font-weight:bold;text-decoration:underline;color:red;background:yellow"&gt;&amp;lt;b&amp;gt; &amp;amp; &amp;quot;quoted&amp;quot;&lt;/span&gt;&lt;/a&gt;</one:T></one:OE><one:OE><one:T>&lt;a href="https://example.invalid/label/9"&gt;&lt;span style="font-family:Calibri;font-size:14pt;font-weight:bold;text-decoration:underline;color:red;background:yellow"&gt;
2label
3&lt;/span&gt;&lt;/a&gt;</one:T></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-link-controls-01/machine.json created+1
...@@ -0,0 +1 @@
1{"name": "m6-5025fb31", "hostname": "ONE-M6-5025FB31"}
corpus/m6/native-link-controls-01/notebook/Links.one created
Binary files /dev/null and b/corpus/m6/native-link-controls-01/notebook/Links.one differ
corpus/m6/native-link-controls-01/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/m6/native-link-controls-01/notebook/Open Notebook.onetoc2 differ
corpus/m6/native-link-controls-01/notebook/fixture.json created+11
...@@ -0,0 +1,11 @@
1{
2 "sections": [
3 "Links.one"
4 ],
5 "pages": [
6 {
7 "section": "Links.one",
8 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\"><one:Title><one:OE><one:T>Hyperlink boundary controls</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>&lt;a href=\"https://example.invalid/label/0\"&gt;&lt;span style=\"font-family:Calibri;font-size:14pt;font-weight:bold;text-decoration:underline;color:red;background:yellow\"&gt; label &lt;/span&gt;&lt;/a&gt;</one:T></one:OE><one:OE><one:T>&lt;a href=\"https://example.invalid/label/1\"&gt;&lt;span style=\"font-family:Calibri;font-size:14pt;font-weight:bold;text-decoration:underline;color:red;background:yellow\"&gt;\tlabel\t&lt;/span&gt;&lt;/a&gt;</one:T></one:OE><one:OE><one:T>&lt;a href=\"https://example.invalid/label/2\"&gt;&lt;span style=\"font-family:Calibri;font-size:14pt;font-weight:bold;text-decoration:underline;color:red;background:yellow\"&gt; label &lt;/span&gt;&lt;/a&gt;</one:T></one:OE><one:OE><one:T>&lt;a href=\"https://example.invalid/label/3\"&gt;&lt;span style=\"font-family:Calibri;font-size:14pt;font-weight:bold;text-decoration:underline;color:red;background:yellow\"&gt; \tlabel \t&lt;/span&gt;&lt;/a&gt;</one:T></one:OE><one:OE><one:T>&lt;a href=\"https://example.invalid/label/4\"&gt;&lt;span style=\"font-family:Calibri;font-size:14pt;font-weight:bold;text-decoration:underline;color:red;background:yellow\"&gt;label&lt;/span&gt;&lt;/a&gt;</one:T></one:OE><one:OE><one:T>&lt;a href=\"https://example.invalid/label/5\"&gt;&lt;span style=\"font-family:Calibri;font-size:14pt;font-weight:bold;text-decoration:underline;color:red;background:yellow\"&gt; &lt;/span&gt;&lt;/a&gt;</one:T></one:OE><one:OE><one:T>&lt;a href=\"https://example.invalid/label/6\"&gt;&lt;span style=\"font-family:Calibri;font-size:14pt;font-weight:bold;text-decoration:underline;color:red;background:yellow\"&gt; label &lt;/span&gt;&lt;/a&gt;</one:T></one:OE><one:OE><one:T>&lt;a href=\"https://example.invalid/label/7\"&gt;&lt;span style=\"font-family:Calibri;font-size:14pt;font-weight:bold;text-decoration:underline;color:red;background:yellow\"&gt; ]]&amp;gt; end&lt;/span&gt;&lt;/a&gt;</one:T></one:OE><one:OE><one:T>&lt;a href=\"https://example.invalid/label/8\"&gt;&lt;span style=\"font-family:Calibri;font-size:14pt;font-weight:bold;text-decoration:underline;color:red;background:yellow\"&gt;&amp;lt;b&amp;gt; &amp;amp; &amp;quot;quoted&amp;quot;&lt;/span&gt;&lt;/a&gt;</one:T></one:OE><one:OE><one:T>&lt;a href=\"https://example.invalid/label/9\"&gt;&lt;span style=\"font-family:Calibri;font-size:14pt;font-weight:bold;text-decoration:underline;color:red;background:yellow\"&gt;\nlabel\n&lt;/span&gt;&lt;/a&gt;</one:T></one:OE></one:OEChildren></one:Outline></one:Page>"
9 }
10 ]
11}
\ No newline at end of file
corpus/m6/native-link-controls-01/notebook/synthetic.one created
Binary files /dev/null and b/corpus/m6/native-link-controls-01/notebook/synthetic.one differ
corpus/m6/native-link-controls-01/pdf-format-checks.json created+1
...@@ -0,0 +1 @@
1[]
\ No newline at end of file
corpus/m6/native-link-controls-01/read/environment.json created+7
...@@ -0,0 +1,7 @@
1{
2 "powershell": "5.1.14409.1005",
3 "schema": "xs2010",
4 "hostname": "ONE-M6-5025FB31",
5 "cold": false,
6 "onenote": "14.0.4763.1000"
7}
corpus/m6/native-link-controls-01/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{3F0215DD-2795-41B8-A90B-CEC09D930D3D}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-06T02:46:56.000Z" color="#B49EDE" isCurrentlyViewed="true"><one:Section name="synthetic" ID="{36F4DCC6-466A-0246-2071-9E4794CF3055}{1}{B0}" path="C:\one-tests\runs\capture\notebook\synthetic.one" lastModifiedTime="2026-09-06T02:46:56.000Z" color="#8AA8E4"><one:Page ID="{597AC1F4-4477-01B6-042C-BE0D6A4179DC}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T02:46:56.000Z" pageLevel="1"/></one:Section><one:Section name="Links" ID="{2F6371CB-A951-09E3-22A5-6209FC5B50F2}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Links.one" lastModifiedTime="2026-09-06T02:46:50.000Z" color="#91BAAE" isCurrentlyViewed="true"><one:Page ID="{6DE64CD6-4238-0D26-3663-F35CBC06E046}{1}{B0}" name="Hyperlink boundary controls" dateTime="2026-09-06T02:46:29.000Z" lastModifiedTime="2026-09-06T02:46:50.000Z" pageLevel="1" isCurrentlyViewed="true"/></one:Section></one:Notebook>
corpus/m6/native-link-controls-01/read/page-000.pdf created
Binary files /dev/null and b/corpus/m6/native-link-controls-01/read/page-000.pdf differ
corpus/m6/native-link-controls-01/read/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{597AC1F4-4477-01B6-042C-BE0D6A4179DC}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T02:46:50.000Z" pageLevel="1" style="font-family:Calibri;font-size:11.0pt" lang="en-US"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="Fixture Author" lastModifiedBy="Fixture Author" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{36F4DCC6-466A-0246-2071-9E4794CF3055}{23}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="191.1661224365234" height="13.4277172088623"/><one:Indents><one:Indent level="0" indent="0.0"/></one:Indents><one:OEChildren><one:OE creationTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{36F4DCC6-466A-0246-2071-9E4794CF3055}{24}{B0}" alignment="left"><one:T><![CDATA[A notebook created in Rust.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-link-controls-01/read/page-001.pdf created
Binary files /dev/null and b/corpus/m6/native-link-controls-01/read/page-001.pdf differ
corpus/m6/native-link-controls-01/read/page-001.xml created+27
...@@ -0,0 +1,27 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{6DE64CD6-4238-0D26-3663-F35CBC06E046}{1}{B0}" name="Hyperlink boundary controls" dateTime="2026-09-06T02:46:29.000Z" lastModifiedTime="2026-09-06T02:46:50.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:46:31.000Z" lastModifiedTime="2026-09-06T02:46:31.000Z" objectID="{78B2505E-78FB-0504-3D2A-EA79ACC82B17}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Hyperlink boundary controls]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:46:31.000Z" objectID="{78B2505E-78FB-0504-3D2A-EA79ACC82B17}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="480.0" height="187.9882659912109"/><one:OEChildren><one:OE creationTime="2026-09-06T02:46:31.000Z" lastModifiedTime="2026-09-06T02:46:31.000Z" objectID="{78B2505E-78FB-0504-3D2A-EA79ACC82B17}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<span
3style='font-weight:bold;background:yellow;mso-highlight:yellow'> </span><a
4href="https://example.invalid/label/0"><span style='font-weight:bold;
5background:yellow;mso-highlight:yellow'>label </span></a>]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:46:31.000Z" lastModifiedTime="2026-09-06T02:46:31.000Z" objectID="{78B2505E-78FB-0504-3D2A-EA79ACC82B17}{48}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<span
6style='font-weight:bold;background:yellow;mso-highlight:yellow'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a
7href="https://example.invalid/label/1"><span style='font-weight:bold;
8background:yellow;mso-highlight:yellow'>label&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></a>]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:46:31.000Z" lastModifiedTime="2026-09-06T02:46:31.000Z" objectID="{78B2505E-78FB-0504-3D2A-EA79ACC82B17}{53}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<a
9href="https://example.invalid/label/2"><span style='font-weight:bold;
10font-size:14.0pt;background:yellow;mso-highlight:yellow'>&nbsp;label&nbsp;</span></a>]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:46:31.000Z" lastModifiedTime="2026-09-06T02:46:31.000Z" objectID="{78B2505E-78FB-0504-3D2A-EA79ACC82B17}{59}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<span
11style='font-weight:bold;background:yellow;mso-highlight:yellow'> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a
12href="https://example.invalid/label/3"><span style='font-weight:bold;
13background:yellow;mso-highlight:yellow'>label &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></a>]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:46:31.000Z" lastModifiedTime="2026-09-06T02:46:31.000Z" objectID="{78B2505E-78FB-0504-3D2A-EA79ACC82B17}{64}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<a
14href="https://example.invalid/label/4"><span style='font-weight:bold;
15font-size:14.0pt;background:yellow;mso-highlight:yellow'>label</span></a>]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:46:31.000Z" lastModifiedTime="2026-09-06T02:46:31.000Z" objectID="{78B2505E-78FB-0504-3D2A-EA79ACC82B17}{69}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<span
16style='font-weight:bold;background:yellow;mso-highlight:yellow'> </span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:46:31.000Z" lastModifiedTime="2026-09-06T02:46:31.000Z" objectID="{78B2505E-78FB-0504-3D2A-EA79ACC82B17}{74}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<a
17href="https://example.invalid/label/6"><span style='font-weight:bold;
18font-size:14.0pt;background:yellow;mso-highlight:yellow'>label</span></a>]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:46:31.000Z" lastModifiedTime="2026-09-06T02:46:31.000Z" objectID="{78B2505E-78FB-0504-3D2A-EA79ACC82B17}{79}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<span
19style='font-weight:bold;background:yellow;mso-highlight:yellow'> </span><a
20href="https://example.invalid/label/7"><span style='font-weight:bold;
21background:yellow;mso-highlight:yellow'>]]&gt; end</span></a>]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:46:31.000Z" lastModifiedTime="2026-09-06T02:46:31.000Z" objectID="{78B2505E-78FB-0504-3D2A-EA79ACC82B17}{84}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<a
22href="https://example.invalid/label/8"><span style='font-weight:bold;
23background:yellow;mso-highlight:yellow'>&lt;b&gt; &amp; &quot;quoted&quot;</span></a>]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:46:31.000Z" lastModifiedTime="2026-09-06T02:46:31.000Z" objectID="{78B2505E-78FB-0504-3D2A-EA79ACC82B17}{89}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<span
24style='font-weight:bold;background:yellow;mso-highlight:yellow'><br>
25</span><a
26href="https://example.invalid/label/9"><span style='font-weight:bold;
27background:yellow;mso-highlight:yellow'>label</span></a>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-link-controls-01/read/payloads.json created+3
...@@ -0,0 +1,3 @@
1[
2
3]
\ No newline at end of file
corpus/m6/native-link-controls-01/run.json created+17
...@@ -0,0 +1,17 @@
1{
2 "notebook": "/Users/clo/dev/one/evidence/m6/link-controls-input-01/notebook",
3 "expected_pages": 2,
4 "author": "tools/native/pages.ps1",
5 "author_timeout_seconds": 600,
6 "base": {
7 "file": "win7-office-base.qcow2",
8 "format": "qcow2",
9 "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346",
10 "virtual_size": 68719476736
11 },
12 "scripts": {
13 "author.ps1": "dfbf0e016aa4c8486ecea9f39768c633de05ac0db8214139052ca2e9c43bbd02",
14 "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
15 "read.ps1": "fc7199ff4e01a5d18dbc6d472130006ef6f195a8f944daa33eaf6de2ac896553"
16 }
17}
corpus/m6/native-link-controls-01/scripts/author.ps1 created+42
...@@ -0,0 +1,42 @@
1param([Parameter(Mandatory=$true)][string]$Root, [Parameter(Mandatory=$true)][string]$CloneHost)
2Set-StrictMode -Version Latest
3$ErrorActionPreference = 'Stop'
4& "$PSScriptRoot\cold-current.ps1" -Root $Root -CloneHost $CloneHost
5$fixture = Get-Content (Join-Path $Root 'notebook\fixture.json') -Raw -Encoding UTF8 | ConvertFrom-Json
6$inputs = Join-Path $Root 'inputs'
7New-Item -ItemType Directory -Path $inputs | Out-Null
8$app = New-Object -ComObject OneNote.Application
9$notebookId = ''
10try {
11 $app.OpenHierarchy((Join-Path $Root 'notebook'), '', [ref]$notebookId, 0)
12 $sections = @{}
13 foreach ($path in $fixture.sections) {
14 $parts = $path.Split('/')
15 if (@($parts | Where-Object { $_ -in @('', '.', '..') -or $_.Contains('\') -or $_.Contains(':') }).Count) { throw 'Invalid fixture section path.' }
16 $parent = $notebookId
17 for ($index = 0; $index -lt $parts.Count; $index++) {
18 $id = ''
19 $app.OpenHierarchy($parts[$index], $parent, [ref]$id, $(if ($index -eq $parts.Count - 1) {3} else {2}))
20 $parent = $id
21 }
22 $sections[$path] = $id
23 }
24 $index = 0
25 foreach ($item in $fixture.pages) {
26 $pageId = ''
27 $app.CreateNewPage($sections[$item.section], [ref]$pageId, 0)
28 [xml]$xml = $item.xml.Replace('__ASSETS__', [Security.SecurityElement]::Escape((Join-Path $Root 'notebook\fixture-data')))
29 $xml.DocumentElement.SetAttribute('ID', $pageId)
30 [IO.File]::WriteAllText((Join-Path $inputs ('page-{0:d3}.xml' -f $index)), $xml.OuterXml, [Text.Encoding]::UTF8)
31 $app.UpdatePageContent($xml.OuterXml, [DateTime]::MinValue, 1, $true)
32 $index++
33 }
34 $app.SyncHierarchy($notebookId)
35 $app.CloseNotebook($notebookId, $false)
36 $notebookId = ''
37} finally {
38 if ($notebookId) { $app.CloseNotebook($notebookId, $false) }
39 [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
40 [GC]::Collect()
41 [GC]::WaitForPendingFinalizers()
42}
corpus/m6/native-link-controls-01/scripts/cold.ps1 created+27
...@@ -0,0 +1,27 @@
1param([Parameter(Mandatory=$true)][string]$Root, [string]$CloneHost = '')
2Set-StrictMode -Version Latest
3$ErrorActionPreference = 'Stop'
4$root = [IO.Path]::GetFullPath($Root).TrimEnd('\')
5if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') {
6 throw 'Choose a run directly below C:\one-tests\runs.'
7}
8if (Get-Process ONENOTE -ErrorAction SilentlyContinue) { throw 'Close OneNote before resetting its test cache.' }
9$key = 'HKCU:\Software\Microsoft\Office\14.0\OneNote'
10if ($CloneHost) {
11 if ($CloneHost -notmatch '^ONE-[A-Z0-9-]+$' -or [Environment]::MachineName -ne $CloneHost) {
12 throw 'The disposable clone hostname does not match this machine.'
13 }
14 New-Item "$key\Options\Paths" -Force | Out-Null
15 New-ItemProperty "$key\Options\Paths" -Name UnfiledNotesSection -PropertyType ExpandString -Value 'C:\one-tests\Loose.one' -Force | Out-Null
16} elseif ((Get-ItemProperty "$key\Options\Paths").UnfiledNotesSection -ne 'C:\one-tests\Loose.one' -or
17 -not (Test-Path 'C:\one-tests\profile-original-cache')) {
18 throw 'Park the personal OneNote profile before resetting the test cache.'
19}
20$cache = Join-Path $env:LOCALAPPDATA 'Microsoft\OneNote\14.0'
21$parked = Join-Path 'C:\one-tests\caches' ([IO.Path]::GetFileName($root))
22if (Test-Path $parked) { throw 'Choose a new run; its parked cache already exists.' }
23New-Item -ItemType Directory -Path 'C:\one-tests\caches' -Force | Out-Null
24if (Test-Path $cache) { Move-Item -LiteralPath $cache -Destination $parked }
25if (Test-Path "$key\OpenNotebooks") { Remove-Item "$key\OpenNotebooks" -Recurse }
26New-Item "$key\OpenNotebooks" | Out-Null
27New-ItemProperty "$key\OpenNotebooks" -Name '1' -PropertyType String -Value "$root\notebook" | Out-Null
corpus/m6/native-link-controls-01/scripts/read.ps1 created+139
...@@ -0,0 +1,139 @@
1param(
2 [Parameter(Mandatory=$true)][string]$Root,
3 [int]$ExpectedPages = -1,
4 [switch]$UseCurrentCache,
5 [switch]$Pdf,
6 [switch]$KeepOpen,
7 [string]$CloneHost = ''
8)
9Set-StrictMode -Version Latest
10$ErrorActionPreference = 'Stop'
11$root = [IO.Path]::GetFullPath($Root).TrimEnd('\')
12if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') {
13 throw 'Choose a run directly below C:\one-tests\runs.'
14}
15$notebook = Join-Path $root 'notebook'
16$output = Join-Path $root 'read'
17if (Test-Path $output) { throw 'Choose a new read destination.' }
18if ($UseCurrentCache) {
19 if ((Get-ItemProperty 'HKCU:\Software\Microsoft\Office\14.0\OneNote\Options\Paths').UnfiledNotesSection -ne 'C:\one-tests\Loose.one') {
20 throw 'Park the personal OneNote profile before reading test notebooks.'
21 }
22} else {
23 & "$PSScriptRoot\cold-current.ps1" -Root $root -CloneHost $CloneHost
24}
25New-Item -ItemType Directory -Path $output | Out-Null
26$app = New-Object -ComObject OneNote.Application
27$notebookId = ''
28$failure = $null
29try {
30 $app.OpenHierarchy($notebook, '', [ref]$notebookId, 0)
31 $process = Get-Process ONENOTE
32 @{ hostname = [Environment]::MachineName; onenote = $process.MainModule.FileVersionInfo.FileVersion;
33 powershell = $PSVersionTable.PSVersion.ToString(); schema = 'xs2010'; cold = (-not $UseCurrentCache.IsPresent) } |
34 ConvertTo-Json | Set-Content (Join-Path $output 'environment.json') -Encoding UTF8
35 $sections = @()
36 foreach ($file in @(Get-ChildItem $notebook -Recurse | Where-Object { $_.Extension -eq '.one' })) {
37 $id = ''
38 $app.OpenHierarchy($file.FullName, '', [ref]$id, 0)
39 $sections += $id
40 }
41 $deadline = [DateTime]::UtcNow.AddSeconds(300)
42 $previous = ''
43 $stableSince = [DateTime]::UtcNow
44 $settled = $false
45 do {
46 $pages = @{}
47 foreach ($section in $sections) {
48 $hierarchy = ''
49 $app.GetHierarchy($section, 4, [ref]$hierarchy, 1)
50 [xml]$xml = $hierarchy
51 foreach ($node in $xml.SelectNodes('//*[@path]')) {
52 if (-not $node.GetAttribute('path').StartsWith("$notebook\", [StringComparison]::OrdinalIgnoreCase)) {
53 throw 'OneNote opened a section outside the copied notebook.'
54 }
55 }
56 foreach ($node in $xml.SelectNodes('//*[local-name()="Page"]')) {
57 $id = $node.GetAttribute('ID')
58 $content = ''
59 $app.GetPageContent($id, [ref]$content, 3, 1)
60 $pages[$id] = $content
61 }
62 }
63 $signature = [String]::Join('|', @($pages.Keys | Sort-Object | ForEach-Object { $_ + $pages[$_] }))
64 if ($signature -ne $previous) {
65 $previous = $signature
66 $stableSince = [DateTime]::UtcNow
67 }
68 if ((($ExpectedPages -ge 0 -and $pages.Count -eq $ExpectedPages) -or
69 ($ExpectedPages -lt 0 -and $pages.Count -gt 0)) -and
70 ([DateTime]::UtcNow - $stableSince).TotalSeconds -ge 2) { $settled = $true; break }
71 Start-Sleep -Milliseconds 250
72 } while ([DateTime]::UtcNow -lt $deadline)
73 if (-not $settled -or ($ExpectedPages -ge 0 -and $pages.Count -ne $ExpectedPages) -or ($ExpectedPages -lt 0 -and $pages.Count -eq 0)) {
74 $index = 0
75 foreach ($id in @($pages.Keys | Sort-Object)) {
76 [IO.File]::WriteAllText((Join-Path $output ('unsettled-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8)
77 $index++
78 }
79 $hierarchy = ''
80 $app.GetHierarchy($notebookId, 4, [ref]$hierarchy, 1)
81 [IO.File]::WriteAllText((Join-Path $output 'unsettled-hierarchy.xml'), $hierarchy, [Text.Encoding]::UTF8)
82 throw "Expected $ExpectedPages pages; OneNote returned $($pages.Count)."
83 }
84 $index = 0
85 $payloads = @()
86 foreach ($id in @($pages.Keys | Sort-Object)) {
87 [IO.File]::WriteAllText((Join-Path $output ('page-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8)
88 if ($Pdf) {
89 $pdfPath = Join-Path $output ('page-{0:d3}.pdf' -f $index)
90 $app.NavigateTo($id, '', $false)
91 $app.Publish($id, $pdfPath, 3, '')
92 if (-not (Test-Path $pdfPath) -or (Get-Item $pdfPath).Length -eq 0) { throw 'OneNote did not publish the page PDF.' }
93 }
94 [xml]$page = $pages[$id]
95 foreach ($file in $page.SelectNodes('//*[local-name()="InsertedFile" or local-name()="MediaFile"]')) {
96 $bytes = [IO.File]::ReadAllBytes($file.GetAttribute('pathCache'))
97 $hash = [BitConverter]::ToString([Security.Cryptography.SHA256]::Create().ComputeHash($bytes)).Replace('-', '').ToLowerInvariant()
98 [IO.File]::WriteAllBytes((Join-Path $output ($hash + '.attachment')), $bytes)
99 $payloads += @{ page = $id; object = $file.ParentNode.GetAttribute('objectID');
100 kind = $file.LocalName; name = $file.GetAttribute('preferredName');
101 sha256 = $hash; bytes = $bytes.Length }
102 }
103 $index++
104 }
105 [IO.File]::WriteAllText((Join-Path $output 'payloads.json'), (ConvertTo-Json -InputObject $payloads -Depth 4), [Text.Encoding]::UTF8)
106 $all = ''
107 $app.GetHierarchy($notebookId, 4, [ref]$all, 1)
108 [xml]$finalTree = $all
109 $finalIds = @($finalTree.SelectNodes('//*[local-name()="Page"]') | ForEach-Object { $_.GetAttribute('ID') } | Sort-Object -Unique)
110 if ($finalIds.Count -ne $pages.Count -or @($finalIds | Where-Object { -not $pages.ContainsKey($_) }).Count -ne 0) {
111 throw 'The notebook hierarchy changed while collecting page evidence; repeat the cold read.'
112 }
113 [IO.File]::WriteAllText((Join-Path $output 'hierarchy.xml'), $all, [Text.Encoding]::UTF8)
114 Write-Output "Read $($sections.Count) sections and $($pages.Count) pages."
115} catch {
116 $failure = $_
117 [IO.File]::WriteAllText((Join-Path $output 'failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8)
118 throw
119} finally {
120 try {
121 try {
122 if ($notebookId -and $CloneHost) { $app.SyncHierarchy($notebookId) }
123 if ($notebookId -and -not $KeepOpen -and (-not $UseCurrentCache -or $CloneHost)) {
124 $app.CloseNotebook($notebookId, $false)
125 }
126 } catch {
127 if ($null -eq $failure) { throw }
128 [IO.File]::WriteAllText((Join-Path $output 'cleanup-failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8)
129 }
130 } finally {
131 [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
132 }
133 $app = $null
134 [GC]::Collect()
135 [GC]::WaitForPendingFinalizers()
136 if (-not $UseCurrentCache -and -not $CloneHost) {
137 Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10
138 }
139}
corpus/m6/native-link-controls-01/source.json created+20
...@@ -0,0 +1,20 @@
1[
2 {
3 "path": "Open Notebook.onetoc2",
4 "bytes": 1612,
5 "sha256": "fafa5dcb3cd827c7edd30c8ea2fbc957a59fb4d2a8b28b667a3c551c8261ab86",
6 "mtime_ns": 1788592288950419463
7 },
8 {
9 "path": "fixture.json",
10 "bytes": 2885,
11 "sha256": "d4b15f16ce04576d76e3c4d8f5471faec26b1f30c1755b9b10674f7181108648",
12 "mtime_ns": 1788662692523936849
13 },
14 {
15 "path": "synthetic.one",
16 "bytes": 3348,
17 "sha256": "b0662387c3fdc256d8dbe809e3b8f73b3586559696467fb1fff8f589095fa797",
18 "mtime_ns": 1788592288941514581
19 }
20]
corpus/m6/native-link-controls-01/teardown.json created+1
...@@ -0,0 +1 @@
1{"absent": true}
corpus/m6/native-math-01/ORACLE.md created+20
...@@ -0,0 +1,20 @@
1# Native equation controls
2
3An isolated OneNote 14.0.4763.1000 clone authored a page through the equation UI
4(Alt+=): `x^2+y^2=z^2`, `(a+b)/(c+d)`, and inline `\alpha+\beta`.
5The UI showed superscripts and a stacked fraction; ordinary text follows the
6first equation. `read/page-000.xml` exports three MathML expressions, including
7their structure and display/inline distinction. The clone was deleted.
8
9The source contains mathematical Unicode plus FDD0/FDEE/FDEF structural controls.
10MathFormatting is set on the equation style. The two structured expressions have
1111 and 3 TextRunData property sets respectively. Their private properties remain
12opaque, with a checked one-to-one association to the UTF-16 runs in the model.
13The report identifies these equations and links to the native reference; it does
14not display structural controls as ordinary prose. The inline Greek expression
15contains no structural controls and remains readable.
16
17[A fresh-clone read](../native-math-cold-01/read/page-000.xml) exports identical
18MathML. `tests/document.rs` verifies the stored text, run associations and math
19flags; `tools/test_document_oracle.py` verifies native equation structure and its
20preservation across caches. The public document fuzzer includes this source.
corpus/m6/native-math-01/agent.py created+439
...@@ -0,0 +1,439 @@
1import base64
2import ctypes
3import hashlib
4import json
5import os
6import struct
7import subprocess
8import sys
9import tempfile
10import threading
11import time
12import zlib
13from ctypes import wintypes
14from http.server import ThreadingHTTPServer, BaseHTTPRequestHandler
15
16BASE = os.path.dirname(os.path.abspath(__file__))
17with open(__file__, 'rb') as source:
18 AGENT_SHA256 = hashlib.sha256(source.read()).hexdigest()
19LOCK = threading.Lock()
20
21user32 = ctypes.windll.user32
22gdi32 = ctypes.windll.gdi32
23
24SRCCOPY = 0x00CC0020
25CAPTUREBLT = 0x40000000
26BI_RGB = 0
27DIB_RGB_COLORS = 0
28
29# restype must be set on x64: the default c_int return truncates a 64-bit HANDLE.
30user32.GetDC.restype = wintypes.HDC
31user32.GetDC.argtypes = [wintypes.HWND]
32user32.ReleaseDC.restype = ctypes.c_int
33user32.ReleaseDC.argtypes = [wintypes.HWND, wintypes.HDC]
34user32.GetSystemMetrics.restype = ctypes.c_int
35user32.GetSystemMetrics.argtypes = [ctypes.c_int]
36gdi32.CreateCompatibleDC.restype = wintypes.HDC
37gdi32.CreateCompatibleDC.argtypes = [wintypes.HDC]
38gdi32.CreateCompatibleBitmap.restype = wintypes.HBITMAP
39gdi32.CreateCompatibleBitmap.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int]
40gdi32.SelectObject.restype = wintypes.HGDIOBJ
41gdi32.SelectObject.argtypes = [wintypes.HDC, wintypes.HGDIOBJ]
42gdi32.BitBlt.restype = wintypes.BOOL
43gdi32.BitBlt.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int, ctypes.c_int,
44 ctypes.c_int, wintypes.HDC, ctypes.c_int, ctypes.c_int,
45 wintypes.DWORD]
46gdi32.GetDIBits.restype = ctypes.c_int
47gdi32.GetDIBits.argtypes = [wintypes.HDC, wintypes.HBITMAP, wintypes.UINT,
48 wintypes.UINT, ctypes.c_void_p, ctypes.c_void_p,
49 wintypes.UINT]
50gdi32.DeleteObject.restype = wintypes.BOOL
51gdi32.DeleteObject.argtypes = [wintypes.HGDIOBJ]
52gdi32.DeleteDC.restype = wintypes.BOOL
53gdi32.DeleteDC.argtypes = [wintypes.HDC]
54
55WNDENUMPROC = ctypes.WINFUNCTYPE(wintypes.BOOL, wintypes.HWND, wintypes.LPARAM)
56user32.GetForegroundWindow.restype = wintypes.HWND
57user32.GetForegroundWindow.argtypes = []
58user32.GetWindowTextW.restype = ctypes.c_int
59user32.GetWindowTextW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int]
60user32.GetClassNameW.restype = ctypes.c_int
61user32.GetClassNameW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int]
62user32.GetClientRect.restype = wintypes.BOOL
63user32.GetClientRect.argtypes = [wintypes.HWND, ctypes.POINTER(wintypes.RECT)]
64user32.EnumChildWindows.restype = wintypes.BOOL
65user32.EnumChildWindows.argtypes = [wintypes.HWND, WNDENUMPROC, wintypes.LPARAM]
66
67
68class BITMAPINFOHEADER(ctypes.Structure):
69 _fields_ = [("biSize", wintypes.DWORD),
70 ("biWidth", wintypes.LONG),
71 ("biHeight", wintypes.LONG),
72 ("biPlanes", wintypes.WORD),
73 ("biBitCount", wintypes.WORD),
74 ("biCompression", wintypes.DWORD),
75 ("biSizeImage", wintypes.DWORD),
76 ("biXPelsPerMeter", wintypes.LONG),
77 ("biYPelsPerMeter", wintypes.LONG),
78 ("biClrUsed", wintypes.DWORD),
79 ("biClrImportant", wintypes.DWORD)]
80
81
82PREAMBLE = (
83 "#Requires AutoHotkey v2.0\n"
84 "#SingleInstance Off\n"
85 "#Warn All, Off\n"
86 'FileEncoding "UTF-8-RAW"\n'
87 'SendMode "Input"\n'
88 "SetWorkingDir A_ScriptDir\n"
89 'CoordMode "Mouse", "Screen"\n'
90 'CoordMode "Pixel", "Screen"\n'
91 'CoordMode "ToolTip", "Screen"\n'
92 "SetTitleMatchMode 2\n"
93 "DetectHiddenWindows true\n"
94)
95
96
97def ahk_path():
98 u64 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey64.exe")
99 u32 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey32.exe")
100 return u64 if os.path.exists(u64) else u32
101
102
103def _chunk(tag, data):
104 return (struct.pack(">I", len(data)) + tag + data +
105 struct.pack(">I", zlib.crc32(tag + data) & 0xffffffff))
106
107
108def _to_png(bgra, w, h):
109 arr = bytearray(bgra)
110 r = arr[2::4]
111 arr[2::4] = arr[0::4]
112 arr[0::4] = r
113 del arr[3::4]
114 stride = w * 3
115 mv = memoryview(arr)
116 raw = bytearray()
117 for y in range(h):
118 raw.append(0)
119 raw += mv[y * stride:(y + 1) * stride]
120 ihdr = struct.pack(">IIBBBBB", w, h, 8, 2, 0, 0, 0)
121 return (b"\x89PNG\r\n\x1a\n" + _chunk(b"IHDR", ihdr) +
122 _chunk(b"IDAT", zlib.compress(bytes(raw))) + _chunk(b"IEND", b""))
123
124
125def capture():
126 w = user32.GetSystemMetrics(0)
127 h = user32.GetSystemMetrics(1)
128 hdc = user32.GetDC(None)
129 mem = None
130 hbm = None
131 try:
132 mem = gdi32.CreateCompatibleDC(hdc)
133 hbm = gdi32.CreateCompatibleBitmap(hdc, w, h)
134 old = gdi32.SelectObject(mem, hbm)
135 gdi32.BitBlt(mem, 0, 0, w, h, hdc, 0, 0, SRCCOPY | CAPTUREBLT)
136 gdi32.SelectObject(mem, old)
137 bmi = BITMAPINFOHEADER()
138 bmi.biSize = ctypes.sizeof(BITMAPINFOHEADER)
139 bmi.biWidth = w
140 bmi.biHeight = -h # negative => top-down rows, matches screenshot orientation
141 bmi.biPlanes = 1
142 bmi.biBitCount = 32
143 bmi.biCompression = BI_RGB
144 buf = ctypes.create_string_buffer(w * h * 4)
145 if gdi32.GetDIBits(mem, hbm, 0, h, buf, ctypes.byref(bmi),
146 DIB_RGB_COLORS) == 0:
147 raise RuntimeError("GetDIBits failed")
148 data = buf.raw
149 finally:
150 if hbm:
151 gdi32.DeleteObject(hbm)
152 if mem:
153 gdi32.DeleteDC(mem)
154 user32.ReleaseDC(None, hdc)
155 return _to_png(data, w, h), w, h
156
157
158def _win_text(fn, hwnd, n=512):
159 buf = ctypes.create_unicode_buffer(n)
160 fn(hwnd, buf, n)
161 return buf.value
162
163
164def active_window():
165 hwnd = user32.GetForegroundWindow()
166 if not hwnd:
167 return {"title": "", "class": "", "dialog": False}
168 cls = _win_text(user32.GetClassNameW, hwnd)
169 return {"title": _win_text(user32.GetWindowTextW, hwnd),
170 "class": cls, "dialog": cls == "#32770"}
171
172
173def control_tree():
174 hwnd = user32.GetForegroundWindow()
175 rows = []
176
177 def add(h):
178 rect = wintypes.RECT()
179 user32.GetClientRect(h, ctypes.byref(rect))
180 rows.append((_win_text(user32.GetClassNameW, h),
181 _win_text(user32.GetWindowTextW, h),
182 rect.left, rect.top,
183 rect.right - rect.left, rect.bottom - rect.top))
184
185 if hwnd:
186 add(hwnd)
187
188 def cb(child, _lparam):
189 add(child)
190 return True
191 user32.EnumChildWindows(hwnd, WNDENUMPROC(cb), 0)
192 lines = ["%-24s %-28s %s" % ("class", "text", "l,t,w,h")]
193 for cls, text, l, t, w, h in rows:
194 lines.append("%-24s %-28s %d,%d,%d,%d" % (cls, text, l, t, w, h))
195 return "\n".join(lines)
196
197
198def _run(argv, timeout_ms, encoding, on_timeout=None):
199 def dec(b):
200 return b.decode(encoding, "replace") if b else ""
201
202 p = subprocess.Popen(argv, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
203 try:
204 out, err = p.communicate(timeout=timeout_ms / 1000.0)
205 return p.returncode, dec(out), dec(err), None
206 except subprocess.TimeoutExpired:
207 if on_timeout:
208 on_timeout()
209 subprocess.call(["taskkill", "/F", "/T", "/PID", str(p.pid)])
210 try:
211 # A process the script launched can outlive taskkill still holding the
212 # inherited stdout pipe; an unbounded wait here wedges the agent's lock.
213 out, err = p.communicate(timeout=5)
214 except subprocess.TimeoutExpired:
215 out = err = b""
216 for pipe in (p.stdout, p.stderr):
217 if pipe:
218 pipe.close()
219 msg = "timed out after %d ms, process killed" % timeout_ms
220 return None, dec(out), dec(err), msg
221
222
223def run_ahk(script, timeout_ms, on_timeout=None):
224 fd, path = tempfile.mkstemp(suffix=".ahk")
225 os.close(fd)
226 # AutoHotkey (Unicode-only) needs a UTF-8 BOM to read the file as UTF-8.
227 with open(path, "wb") as f:
228 f.write(b"\xef\xbb\xbf" + (PREAMBLE + script).encode("utf-8"))
229 try:
230 # /ErrorStdOut sends syntax errors to stderr instead of a blocking modal.
231 code, out, err, error = _run([ahk_path(), "/ErrorStdOut", path], timeout_ms,
232 "utf-8", on_timeout)
233 finally:
234 os.remove(path)
235 if error:
236 error = "script " + error
237 return code, out, err, error
238
239
240def _safe_capture(error):
241 try:
242 png, w, h = capture()
243 return base64.b64encode(png).decode("ascii"), w, h, error
244 except Exception as e:
245 note = "screenshot failed: " + repr(e)
246 return "", 0, 0, (error + "; " + note if error else note)
247
248
249LOG_PATH = os.path.join(BASE, "agent.log")
250LOG_LOCK = threading.Lock()
251
252
253def log(text, stamp=True):
254 """Console and agent.log, so a session can be reconstructed after the fact."""
255 line = time.strftime("%Y-%m-%d %H:%M:%S ") + text if stamp else text
256 with LOG_LOCK:
257 print(line, end="" if line.endswith("\n") else "\n", flush=True)
258 try:
259 with open(LOG_PATH, "a", encoding="utf-8") as f:
260 f.write(line if line.endswith("\n") else line + "\n")
261 except OSError:
262 pass # a log that cannot be written must not take the agent down
263
264
265class Handler(BaseHTTPRequestHandler):
266 def log_message(self, *a):
267 pass
268
269 def _send(self, code, obj):
270 body = json.dumps(obj).encode("utf-8")
271 self.send_response(code)
272 self.send_header("Content-Type", "application/json")
273 self.send_header("Content-Length", str(len(body)))
274 self.end_headers()
275 self.wfile.write(body)
276
277 def _log(self, start, code, body=None):
278 log("%s %s %dms exit=%s" % (self.command, self.path,
279 int((time.time() - start) * 1000), code))
280 if body:
281 log("".join(" | %s\n" % l for l in body.splitlines()), stamp=False)
282
283 def _auth_ok(self):
284 token = os.environ.get("WIN7_TOKEN")
285 return not token or self.headers.get("X-Win7-Token") == token
286
287 def _body(self):
288 n = int(self.headers.get("Content-Length") or 0)
289 raw = self.rfile.read(n) if n else b""
290 return json.loads(raw.decode("utf-8")) if raw else {}
291
292 def do_GET(self):
293 start = time.time()
294 if not self._auth_ok():
295 self._send(401, {"error": "bad token"})
296 elif self.path == "/health":
297 self._send(200, {"ok": True, "w": user32.GetSystemMetrics(0),
298 "h": user32.GetSystemMetrics(1),
299 "hostname": os.environ.get("COMPUTERNAME", ""),
300 "ahk": ahk_path(), "python": sys.executable,
301 "agent_sha256": AGENT_SHA256})
302 else:
303 self._send(404, {"error": "not found"})
304 self._log(start, None)
305
306 def do_POST(self):
307 start = time.time()
308 code = None
309 if not self._auth_ok():
310 self._send(401, {"error": "bad token"})
311 self._log(start, None)
312 return
313 try:
314 data = self._body()
315 except Exception:
316 self._send(400, {"error": "bad json"})
317 self._log(start, None)
318 return
319 body = {"/exec": data.get("script"), "/cmd": data.get("command"),
320 "/spawn": data.get("command"),
321 "/put": data.get("path"), "/get": data.get("path")}.get(self.path)
322 try:
323 if self.path == "/exec":
324 resp = self._exec(data)
325 code = resp["exit"]
326 elif self.path == "/cmd":
327 resp = self._cmd(data)
328 code = resp["exit"]
329 elif self.path == "/spawn":
330 resp = self._spawn(data)
331 code = 0
332 elif self.path == "/put":
333 resp = self._put(data)
334 elif self.path == "/get":
335 resp = self._get(data)
336 elif self.path == "/shot":
337 resp = self._shot()
338 elif self.path == "/ui":
339 resp = self._ui()
340 else:
341 self._send(404, {"error": "not found"})
342 self._log(start, None)
343 return
344 self._send(200, resp)
345 except Exception as e:
346 self._send(200, {"error": repr(e), "exit": None, "stdout": "",
347 "stderr": "", "png_b64": "", "w": 0, "h": 0})
348 self._log(start, code, body)
349
350 def _exec(self, data):
351 pre = []
352
353 def grab(): # capture before taskkill so the blocker is still on screen
354 pre.append((_safe_capture(None), active_window()))
355
356 with LOCK:
357 code, out, err, error = run_ahk(data.get("script", ""),
358 data.get("timeout_ms", 60000), grab)
359 if pre:
360 (b64, w, h, note), win = pre[0]
361 else:
362 time.sleep(data.get("shot_delay_ms", 500) / 1000.0)
363 b64, w, h, note = _safe_capture(None)
364 win = active_window()
365 if note:
366 error = error + "; " + note if error else note
367 return {"exit": code, "stdout": out, "stderr": err, "png_b64": b64,
368 "w": w, "h": h, "error": error, "win": win}
369
370 def _put(self, data):
371 path = data.get("path", "")
372 blob = base64.b64decode(data.get("b64", ""))
373 parent = os.path.dirname(path)
374 if parent and not os.path.isdir(parent):
375 os.makedirs(parent)
376 with open(path, "wb") as f:
377 f.write(blob)
378 return {"bytes": len(blob), "path": os.path.abspath(path), "error": None}
379
380 def _get(self, data):
381 with open(data.get("path", ""), "rb") as f:
382 blob = f.read()
383 return {"b64": base64.b64encode(blob).decode("ascii"), "bytes": len(blob),
384 "error": None}
385
386 def _cmd(self, data):
387 with LOCK:
388 # A raw command-line string, not a list: on Windows list2cmdline would
389 # backslash-escape the embedded quotes before cmd.exe ever sees them.
390 code, out, err, error = _run("cmd.exe /c " + data.get("command", ""),
391 data.get("timeout_ms", 60000), "oem")
392 return {"exit": code, "stdout": out, "stderr": err, "error": error}
393
394 def _spawn(self, data):
395 flags = subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS
396 process = subprocess.Popen(data.get("command", ""), stdin=subprocess.DEVNULL,
397 stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL,
398 close_fds=True, creationflags=flags)
399 return {"pid": process.pid, "error": None}
400
401 def _shot(self):
402 b64, w, h, error = _safe_capture(None)
403 win = active_window()
404 return {"png_b64": b64, "w": w, "h": h, "error": error, "win": win}
405
406 def _ui(self):
407 win = active_window()
408 controls = control_tree()
409 return {"win": win, "controls": controls, "error": None}
410
411
412def keep_awake():
413 """Hold the display and system awake for as long as this process lives.
414
415 Screen blanking alone is harmless -- BitBlt still captures the composited
416 desktop -- but sleep kills the agent outright, and a locked session moves
417 the desktop to Winlogon where neither AutoHotkey nor the capture can reach.
418 """
419 ES_CONTINUOUS, ES_SYSTEM_REQUIRED, ES_DISPLAY_REQUIRED = 0x80000000, 0x1, 0x2
420 kernel32 = ctypes.windll.kernel32
421 kernel32.SetThreadExecutionState.restype = wintypes.DWORD
422 kernel32.SetThreadExecutionState.argtypes = [wintypes.DWORD]
423 return kernel32.SetThreadExecutionState(
424 ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED)
425
426
427def main():
428 user32.SetProcessDPIAware()
429 awake = keep_awake()
430 port = int(os.environ.get("WIN7_PORT", "8777"))
431 srv = ThreadingHTTPServer(("0.0.0.0", port), Handler)
432 log("win7-agent listening on 0.0.0.0:%d ahk=%s log=%s%s"
433 % (port, ahk_path(), LOG_PATH,
434 "" if awake else " (WARNING: could not inhibit sleep)"))
435 srv.serve_forever()
436
437
438if __name__ == "__main__":
439 main()
corpus/m6/native-math-01/before-read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment created+1
...@@ -0,0 +1 @@
1Fictitious attachment for native corpus.
\ No newline at end of file
corpus/m6/native-math-01/before-read/environment.json created+7
...@@ -0,0 +1,7 @@
1{
2 "powershell": "5.1.14409.1005",
3 "schema": "xs2010",
4 "hostname": "ONE-M6-FBE8C24F",
5 "cold": true,
6 "onenote": "14.0.4763.1000"
7}
corpus/m6/native-math-01/before-read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{41C0BCB8-520A-4568-959C-091B01345AD4}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-06T05:13:37.000Z" color="#9595AA" isCurrentlyViewed="true"><one:Section name="synthetic" ID="{8278F8F5-FEFB-090C-22FF-FE5FC440532C}{1}{B0}" path="C:\one-tests\runs\capture\notebook\synthetic.one" lastModifiedTime="2026-09-06T05:13:37.000Z" color="#8AA8E4" isCurrentlyViewed="true"><one:Page ID="{AE310B73-7730-4A1D-A598-56CE38784F33}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isCurrentlyViewed="true"/></one:Section><one:Section name="Open Notebook" ID="{FBEE5BEA-1F06-0DB8-108C-D6ED8897F653}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Open Notebook.one" lastModifiedTime="2026-09-06T05:13:37.000Z" color="#F5F96F"/></one:Notebook>
corpus/m6/native-math-01/before-read/page-000.pdf created
Binary files /dev/null and b/corpus/m6/native-math-01/before-read/page-000.pdf differ
corpus/m6/native-math-01/before-read/page-000.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{AE310B73-7730-4A1D-A598-56CE38784F33}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{C9FDA3CF-3C45-49AB-AA6A-DA15C7E4AA52}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{C9FDA3CF-3C45-49AB-AA6A-DA15C7E4AA52}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{EB108F5D-64AD-4718-B7F2-789D0764C786}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{EB108F5D-64AD-4718-B7F2-789D0764C786}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{9F4D7FDA-8F10-43F6-B0DC-589D63E84E1B}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{9F4D7FDA-8F10-43F6-B0DC-589D63E84E1B}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{A2641755-698A-4A58-86AC-F3698F850695}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{A2641755-698A-4A58-86AC-F3698F850695}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{277E0F35-AFF2-499E-A301-9497BB54C9A6}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{277E0F35-AFF2-499E-A301-9497BB54C9A6}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{09A17665-CE62-421E-BC09-76C2930732E0}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{09A17665-CE62-421E-BC09-76C2930732E0}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{09A17665-CE62-421E-BC09-76C2930732E0}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{09A17665-CE62-421E-BC09-76C2930732E0}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{09A17665-CE62-421E-BC09-76C2930732E0}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{09A17665-CE62-421E-BC09-76C2930732E0}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{09A17665-CE62-421E-BC09-76C2930732E0}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{09A17665-CE62-421E-BC09-76C2930732E0}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-math-01/before-read/payloads.json created+10
...@@ -0,0 +1,10 @@
1[
2 {
3 "sha256": "af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7",
4 "name": "fictitious-attachment.txt",
5 "object": "{277E0F35-AFF2-499E-A301-9497BB54C9A6}{11}{B0}",
6 "kind": "InsertedFile",
7 "page": "{AE310B73-7730-4A1D-A598-56CE38784F33}{1}{B0}",
8 "bytes": 43
9 }
10]
\ No newline at end of file
corpus/m6/native-math-01/commands.jsonl created+6
...@@ -0,0 +1,6 @@
1{"command": "powershell -NoProfile -Command \"Expand-Archive -LiteralPath C:\\one-tests\\transfer.zip -DestinationPath C:\\one-tests\\runs\\capture\\notebook\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
2{"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-FBE8C24F -ExpectedPages 1 -Pdf -KeepOpen", "exit": 0, "stdout": "Read 2 sections and 1 pages.\r\n", "stderr": "", "error": null}
3{"command": "powershell -NoProfile -Command \"Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\read -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
4{"command": "powershell -NoProfile -Command \"Rename-Item C:\\one-tests\\runs\\capture\\read before-read\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
5{"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-FBE8C24F -UseCurrentCache -ExpectedPages -1 -Pdf", "exit": 0, "stdout": "Read 2 sections and 2 pages.\r\n", "stderr": "", "error": null}
6{"command": "powershell -NoProfile -Command \"Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\* -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
corpus/m6/native-math-01/finish created
corpus/m6/native-math-01/health.json created+9
...@@ -0,0 +1,9 @@
1{
2 "ok": true,
3 "w": 800,
4 "h": 600,
5 "hostname": "ONE-M6-FBE8C24F",
6 "ahk": "C:\\win7-agent\\vendor\\ahk\\AutoHotkey64.exe",
7 "python": "C:\\win7-agent\\vendor\\python\\python.exe",
8 "agent_sha256": "ef7ca89be026695cf4412460a2eec308b0ed253fb9245597a7fe5d6938e49f89"
9}
corpus/m6/native-math-01/machine.json created+1
...@@ -0,0 +1 @@
1{"name": "m6-fbe8c24f", "hostname": "ONE-M6-FBE8C24F"}
corpus/m6/native-math-01/model/assets.json created+1
...@@ -0,0 +1 @@
1[{"path":"assets/0.bin","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]}},{"path":"assets/1.bin","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]}},{"path":"assets/2.bin","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]}}]
\ No newline at end of file
corpus/m6/native-math-01/model/assets/0.bin created+1
...@@ -0,0 +1 @@
1Fictitious attachment for native corpus.
\ No newline at end of file
corpus/m6/native-math-01/model/assets/1.bin created
Binary files /dev/null and b/corpus/m6/native-math-01/model/assets/1.bin differ
corpus/m6/native-math-01/model/assets/2.bin created
Binary files /dev/null and b/corpus/m6/native-math-01/model/assets/2.bin differ
corpus/m6/native-math-01/model/document.json created+1
...@@ -0,0 +1 @@
1{"file_id":[60,64,135,83,160,135,242,70,172,54,122,51,224,103,190,213],"root":"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1","spaces":{"{CC260C17-7C87-0AF5-0A76-9C7DFAE0898B},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{B3C75306-06D3-02B8-3306-4E0FC24196A2},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{9AEC7F1C-E6DA-0B0A-21E7-B5B554142632},1"},"revisions":{"{B3C75306-06D3-02B8-3306-4E0FC24196A2},1":{"roots":{"1":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},10","2":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},11","4":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},26"},"nodes":{"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},10":{"jcid":393271,"children":[],"content":["{9419695B-68DF-0FDF-3526-F0E2C1D0A141},12"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Equation controls","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"8a3676b48983ce4d81a0f8ba18b4bd9b"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"d035570dbf3ddd01"}}]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},12":{"jcid":393227,"children":["{9419695B-68DF-0FDF-3526-F0E2C1D0A141},28"],"content":[],"structure":["{9419695B-68DF-0FDF-3526-F0E2C1D0A141},13"],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473139067,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":"","level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"7600690072007400750061006c000000"}},{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},13":{"jcid":393260,"children":["{9419695B-68DF-0FDF-3526-F0E2C1D0A141},14","{9419695B-68DF-0FDF-3526-F0E2C1D0A141},20"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473139066,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Title"},"extra":[[{"id":335551550,"value":{"Bytes":"0c000900"}},{"id":335551620,"value":{"Bytes":"00000000"}},{"id":335551729,"value":{"Bytes":"00000000"}}]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},14":{"jcid":393228,"children":["{9419695B-68DF-0FDF-3526-F0E2C1D0A141},15"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473139066,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708793,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"},{"id":2281708689,"value":"NoData"},{"id":335551724,"value":{"Bytes":"00009040"}},{"id":2281708799,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},15":{"jcid":393229,"children":[],"content":["{9419695B-68DF-0FDF-3526-F0E2C1D0A141},16"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473139067,"modified":1473139067,"original_author":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},17","latest_author":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"}]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},16":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473139067,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Equation controls","runs":[{"start":0,"end":17,"format":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},27"}],"paragraph_style":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},19","boilerplate":false},"extra":[[{"id":2281708724,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":2281714909,"value":"NoData"}]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},17":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"virtual"},"extra":[[{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},18":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},19":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":"Calibri","font_size":17.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"PageTitle"},"extra":[[]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},20":{"jcid":393228,"children":["{9419695B-68DF-0FDF-3526-F0E2C1D0A141},21","{9419695B-68DF-0FDF-3526-F0E2C1D0A141},24"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473139066,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708725,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708766,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},21":{"jcid":393229,"children":[],"content":["{9419695B-68DF-0FDF-3526-F0E2C1D0A141},22"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473139066,"modified":1473139066,"original_author":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},17","latest_author":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},22":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473139066,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Saturday, September 05, 2026","runs":[{"start":0,"end":28,"format":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},27"}],"paragraph_style":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}},{"id":2281714909,"value":"NoData"}]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},23":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"PageDateTime"},"extra":[[]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},24":{"jcid":393229,"children":[],"content":["{9419695B-68DF-0FDF-3526-F0E2C1D0A141},25"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473139066,"modified":1473139066,"original_author":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},17","latest_author":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},25":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473139066,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"10:17 PM","runs":[{"start":0,"end":8,"format":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},27"}],"paragraph_style":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}},{"id":2281714909,"value":"NoData"}]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},26":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":134331454990000000},"extra":[[]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},27":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231041,"value":"NoData"},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},28":{"jcid":393228,"children":["{9419695B-68DF-0FDF-3526-F0E2C1D0A141},29","{9419695B-68DF-0FDF-3526-F0E2C1D0A141},33","{9419695B-68DF-0FDF-3526-F0E2C1D0A141},35","{9419695B-68DF-0FDF-3526-F0E2C1D0A141},38"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":126.0,"y":86.4,"max_width":262.8,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473139098,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":335551620,"value":{"Bytes":"09000000"}}]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},29":{"jcid":393229,"children":[],"content":["{9419695B-68DF-0FDF-3526-F0E2C1D0A141},30"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473139067,"modified":1473139084,"original_author":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},17","latest_author":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},30":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473139084,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"﷐𝑥﷮2﷯+﷐𝑦﷮2﷯=﷐𝑧﷮2﷯","runs":[{"start":0,"end":1,"format":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},31"},{"start":1,"end":4,"format":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},31"},{"start":4,"end":6,"format":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},31"},{"start":6,"end":7,"format":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},31"},{"start":7,"end":8,"format":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},31"},{"start":8,"end":11,"format":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},31"},{"start":11,"end":13,"format":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},31"},{"start":13,"end":14,"format":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},31"},{"start":14,"end":15,"format":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},31"},{"start":15,"end":18,"format":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},31"},{"start":18,"end":20,"format":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},31"}],"paragraph_style":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"7f00"}},{"id":1073755289,"value":{"Sets":{"start":1,"end":12}}},{"id":469769416,"value":{"Bytes":"0000000000"}}],[{"id":335557711,"value":{"Bytes":"1f000000"}},{"id":335557712,"value":{"Bytes":"02000000"}},{"id":268448851,"value":{"Bytes":"5e00"}}],[{"id":335557711,"value":{"Bytes":"1f000000"}}],[{"id":335557711,"value":{"Bytes":"1f000000"}},{"id":335557712,"value":{"Bytes":"01000000"}}],[{"id":335557711,"value":{"Bytes":"00000090"}}],[{"id":335557711,"value":{"Bytes":"1f000000"}},{"id":335557712,"value":{"Bytes":"02000000"}},{"id":268448851,"value":{"Bytes":"5e00"}}],[{"id":335557711,"value":{"Bytes":"1f000000"}}],[{"id":335557711,"value":{"Bytes":"1f000000"}},{"id":335557712,"value":{"Bytes":"01000000"}}],[{"id":335557711,"value":{"Bytes":"00000090"}}],[{"id":335557711,"value":{"Bytes":"1f000000"}},{"id":335557712,"value":{"Bytes":"02000000"}},{"id":268448851,"value":{"Bytes":"5e00"}}],[{"id":335557711,"value":{"Bytes":"1f000000"}}],[{"id":335557711,"value":{"Bytes":"1f000000"}},{"id":335557712,"value":{"Bytes":"01000000"}}]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},31":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":true,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Cambria Math","font_size":null,"color":null,"highlight":null,"language":65663,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":2281714689,"value":"NoData"},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"},{"id":2281709090,"value":"NoData"}]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},33":{"jcid":393229,"children":[],"content":["{9419695B-68DF-0FDF-3526-F0E2C1D0A141},34"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473139084,"modified":1473139084,"original_author":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},17","latest_author":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},34":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473139084,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"After equation.","runs":[{"start":0,"end":15,"format":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},27"}],"paragraph_style":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},18","boilerplate":false},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":2281714909,"value":"NoData"}]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},35":{"jcid":393229,"children":[],"content":["{9419695B-68DF-0FDF-3526-F0E2C1D0A141},36"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473139098,"modified":1473139098,"original_author":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},17","latest_author":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},36":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473139098,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"﷐𝑎+𝑏﷮𝑐+𝑑﷯","runs":[{"start":0,"end":1,"format":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},31"},{"start":1,"end":7,"format":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},31"},{"start":7,"end":13,"format":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},31"}],"paragraph_style":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},18","boilerplate":false},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":268442878,"value":{"Bytes":"7f00"}},{"id":1073755289,"value":{"Sets":{"start":1,"end":4}}}],[{"id":335557711,"value":{"Bytes":"10000000"}},{"id":335557712,"value":{"Bytes":"02000000"}},{"id":268448851,"value":{"Bytes":"2f00"}}],[{"id":335557711,"value":{"Bytes":"10000000"}}],[{"id":335557711,"value":{"Bytes":"10000000"}},{"id":335557712,"value":{"Bytes":"01000000"}}]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},38":{"jcid":393229,"children":[],"content":["{9419695B-68DF-0FDF-3526-F0E2C1D0A141},39"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473139098,"modified":1473139099,"original_author":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},17","latest_author":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},39":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473139099,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Inline 𝛼+𝛽","runs":[{"start":0,"end":7,"format":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},27"},{"start":7,"end":12,"format":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},31"}],"paragraph_style":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},18","boilerplate":false},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":268442878,"value":{"Bytes":"0904"}}]]}}},"{9AEC7F1C-E6DA-0B0A-21E7-B5B554142632},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}}}},"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{CE29543B-9E41-0DC2-1E3B-00FDCDF82019},1"},"revisions":{"{CE29543B-9E41-0DC2-1E3B-00FDCDF82019},1":{"roots":{"1":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10","2":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11"},"nodes":{"{C7F40B04-17EF-07C8-0477-F2143775FC8E},10":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"8b3ac8fcf49f714db27dc2cf3ff433a8"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":603993154,"value":{"Objects":["{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1"]}}]]},"{EE8ECC26-4A87-481B-BD62-4BD120C4BC63},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Equation controls","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"8a3676b48983ce4d81a0f8ba18b4bd9b"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"d035570dbf3ddd01"}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10":{"jcid":393223,"children":["{C7F40B04-17EF-07C8-0477-F2143775FC8E},10","{411D5BF3-52F4-0FF8-3262-670DA9026E18},10"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Section","default_template":null},"extra":[[{"id":469769264,"value":{"Bytes":"ad3e51bcb6d1bd448acde95750378bfa"}},{"id":402660453,"value":{"Bytes":"b0804d5df43cdd01"}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11":{"jcid":131121,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"SectionMetadata","name":null,"color":14985354},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]},"{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Fictitious: café, 東京, مرحبا","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}}]]},"{411D5BF3-52F4-0FF8-3262-670DA9026E18},10":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{CC260C17-7C87-0AF5-0A76-9C7DFAE0898B},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"3d8951c1a05fd54d9c16111ec8b743ab"}},{"id":402660453,"value":{"Bytes":"d0c4540dbf3ddd01"}},{"id":603993154,"value":{"Objects":["{EE8ECC26-4A87-481B-BD62-4BD120C4BC63},1"]}}]]}}}}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{74A71964-B70E-0589-3BB3-56F955273024},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1"},"revisions":{"{74A71964-B70E-0589-3BB3-56F955273024},1":{"roots":{"1":"{273DB6C4-A230-0679-389F-9DB750E092E4},10","2":"{273DB6C4-A230-0679-389F-9DB750E092E4},11","4":"{273DB6C4-A230-0679-389F-9DB750E092E4},13"},"nodes":{"{03D49648-056C-0F08-32C9-0424E8496E7D},10":{"jcid":393228,"children":["{03D49648-056C-0F08-32C9-0424E8496E7D},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":36.0,"y":14.400001,"max_width":127.513695,"max_height":14.3},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052016,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},11":{"jcid":393229,"children":[],"content":["{57D959A7-EBAB-0B48-091B-646F994DD19F},18"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052015,"modified":1473052016,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},13":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},17":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{55644A5D-B639-0555-287F-86AC4C458A34},10":{"jcid":393228,"children":["{55644A5D-B639-0555-287F-86AC4C458A34},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":96.0,"max_width":260.0,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052017,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"},{"id":335551707,"value":{"Bytes":"c013e140"}}]]},"{55644A5D-B639-0555-287F-86AC4C458A34},11":{"jcid":393229,"children":[],"content":["{55644A5D-B639-0555-287F-86AC4C458A34},15"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052017,"modified":1473052017,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{55644A5D-B639-0555-287F-86AC4C458A34},15":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052017,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Fictitious positioned outline.","runs":[{"start":0,"end":30,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16"}],"paragraph_style":"{03D49648-056C-0F08-32C9-0424E8496E7D},17","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{55644A5D-B639-0555-287F-86AC4C458A34},16":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231041,"value":"NoData"},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{57D959A7-EBAB-0B48-091B-646F994DD19F},18":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052016,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Fictitious: café, 東京, مرحبا","runs":[{"start":0,"end":18,"format":"{57D959A7-EBAB-0B48-091B-646F994DD19F},19"},{"start":18,"end":20,"format":"{57D959A7-EBAB-0B48-091B-646F994DD19F},20"},{"start":20,"end":22,"format":"{57D959A7-EBAB-0B48-091B-646F994DD19F},19"},{"start":22,"end":27,"format":"{57D959A7-EBAB-0B48-091B-646F994DD19F},21"}],"paragraph_style":"{03D49648-056C-0F08-32C9-0424E8496E7D},17","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{57D959A7-EBAB-0B48-091B-646F994DD19F},19":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":true,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":null,"font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231041,"value":"NoData"},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{57D959A7-EBAB-0B48-091B-646F994DD19F},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":true,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"SimSun","font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":2281714858,"value":"NoData"},{"id":201334017,"value":{"Bytes":"86"}},{"id":134231041,"value":"NoData"},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{57D959A7-EBAB-0B48-091B-646F994DD19F},21":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":true,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Arial","font_size":null,"color":7949855,"highlight":null,"language":1025,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":2281714858,"value":"NoData"},{"id":201334017,"value":{"Bytes":"b2"}},{"id":134231041,"value":"NoData"},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10":{"jcid":393228,"children":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":264.0,"y":192.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11":{"jcid":393229,"children":[],"content":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052019,"modified":1473052019,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12":{"jcid":393269,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Attachment","container":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13","preview":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14","filename":"fictitious-attachment.txt","source_path":"C:\\one-tests\\runs\\20260905-05\\assets\\fictitious-attachment.txt","recording_id":null,"recording_type":null},"extra":[[{"id":335557837,"value":{"Bytes":"abaa2a3f"}},{"id":335557838,"value":{"Bytes":"abaa2a3f"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"66006900630074006900740069006f00750073002d006100740074006100630068006d0065006e0074002e007400780074000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13":{"jcid":524342,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]},"extension":".txt"},"extra":[]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]},"extension":".png"},"extra":[]},"{273DB6C4-A230-0679-389F-9DB750E092E4},10":{"jcid":393271,"children":[],"content":["{273DB6C4-A230-0679-389F-9DB750E092E4},12"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Fictitious: café, 東京, مرحبا","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},12":{"jcid":393227,"children":["{03D49648-056C-0F08-32C9-0424E8496E7D},10","{55644A5D-B639-0555-287F-86AC4C458A34},10","{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10","{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10","{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},20","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":"Fictitious: café, 東京, مرحبا","level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"73006e006f0077000000"}},{"id":469769720,"value":{"Bytes":"53000000"}},{"id":335551836,"value":{"Bytes":"02000000"}},{"id":469769565,"value":{"Bytes":"0310e65e416b931f400000000000000000"}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},13":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":134330587010000000},"extra":[[]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10":{"jcid":393228,"children":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":192.0,"max_width":96.000015,"max_height":0.74999994},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"},{"id":335551707,"value":{"Bytes":"aaaa0640"}}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11":{"jcid":393229,"children":[],"content":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052018,"modified":1473052018,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},13","filename":null,"alt":null,"picture_width":0.75,"picture_height":0.75,"background":null,"printout":false,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb01000000ab6180f822df4542b575c076ce6aaa0c000000000200000000001066000000010000200000002b59212af3023a32dd5b4c71bb1d072124be7a993933c762d8590536da9d37d2000000000e80000000020000200000000595329d755a96366351f1ec57dc25193cca79a8e4e438b31b7451415e4b0482200000003f639ba9e4652c47fc3d06fad88a6844861d447910d32e37fd078583e9a3b590400000006ea7ab72598677e78d2a6b888429c410bb3d31b48adbddfb607788d44d450a674407b51e4209dbf11dc5531e99f797214833a045b38073716b5876053ec85076"}},{"id":469769724,"value":{"Bytes":"f402c1d94636be45d97fa7ab7fbf2c127166c53e"}},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},13":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]},"extension":".png"},"extra":[]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13":{"jcid":1179720,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775370,"value":{"Bytes":"8f6a8a59c052a04b93afaf357411a56100000000800700000200000021e2e241759f3fb5e0049844a7eec30dbb5a90110000000038040000020000008bc5e241"}},{"id":335557644,"value":{"Bytes":"00000c42"}},{"id":335557645,"value":{"Bytes":"00000c42"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},14":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"f407f0f801346a36346a36346a343634363436343600343634003436003436003400363400363400360034360034340036003436003400000000000000000000000000006b6b35356b37356b373537353735353700353735003735003735003700353700353500370035370035370035003735000000000000000000000000000000006b6b35376b35376b35353735373537350037353700353700353500370035370035370035003735003735003700353500000000000000000000000000000000346a34366a34366a34363434363436340036343600343600343600340034360034360034003634003634003600343400360000000000000000000000000000dc2e346a36346a34366a34363436343634340036343600343600343600340036003400003600340000340000360000340000360000340036000034000036000034366a346a3436346a36343634343634360034363400363400363400340036003400003600340000360000340000360000340000360034000036000034000034696b37356b37356b373535373537353700353735003735003537003500370035000037003500003700003500003700003500003500370000350000370000006b6b35376b35356b37353735373537350037353500373500373500370035003700003500370000350000350000370000350000370035000037000035000000"}},{"id":335557657,"value":{"Bytes":"01000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"5e14feeb9973fc488f8bef1216f8ea08"}},{"id":469775389,"value":{"Bytes":"3030bf06f53cdd01"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}},{"id":469775451,"value":{"Bytes":"d91f3b410ad21540"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052300,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},14"]}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},19":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"ac02e89502346a36346a36346a363434363436343600343634003634003436003400363400363400360034360034340036003436003400000000000000000000000000000000000000000000000000ec326a6a6a9e016a6a366a6a6a346a346a3634366a3436343436343634003634360034360034340036003400360000340036000034000036000034000036000034003400003600003400003600"}},{"id":335557657,"value":{"Bytes":"02000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"cf4d0e31c086724ea43c1550db1f178a"}},{"id":469775389,"value":{"Bytes":"b066de08f53cdd01"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}},{"id":469775451,"value":{"Bytes":"2cc95f41d91f2340"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},20":{"jcid":393228,"children":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},21"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":501.52203,"y":139.75984,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":335551620,"value":{"Bytes":"09000000"}},{"id":335551707,"value":{"Bytes":"456f0341"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},21":{"jcid":393229,"children":[],"content":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},22"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052301,"modified":1473052301,"original_author":"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10","latest_author":"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},22":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"","runs":[{"start":0,"end":0,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16"}],"paragraph_style":"{03D49648-056C-0F08-32C9-0424E8496E7D},17","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},19"]}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10":{"jcid":393228,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":312.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},11":{"jcid":393229,"children":[],"content":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},12":{"jcid":393250,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},13"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Table","rows":1,"columns":2,"widths":[39.14614,45.14567],"locked":[false,false],"borders":true},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},13":{"jcid":393251,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},14","{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},22"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Row"},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},14":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"046d6edc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17":{"jcid":393229,"children":[],"content":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},21"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},21":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Left cell","runs":[{"start":0,"end":9,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16"}],"paragraph_style":"{03D49648-056C-0F08-32C9-0424E8496E7D},17","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},22":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"04e242dc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25":{"jcid":393229,"children":[],"content":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},29"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},29":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Right cell","runs":[{"start":0,"end":10,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16"}],"paragraph_style":"{03D49648-056C-0F08-32C9-0424E8496E7D},17","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]}}},"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}}}}}}
\ No newline at end of file
corpus/m6/native-math-01/model/text.json created+1
...@@ -0,0 +1 @@
1{"{CC260C17-7C87-0AF5-0A76-9C7DFAE0898B},1":{"{B3C75306-06D3-02B8-3306-4E0FC24196A2},1":{"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},16":[{"text":"Equation controls","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Calibri","font_size":17.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},22":[{"text":"Saturday, September 05, 2026","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},25":[{"text":"10:17 PM","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},30":[{"text":"﷐","format":{"bold":false,"italic":true,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Cambria Math","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":65663,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"𝑥﷮","format":{"bold":false,"italic":true,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Cambria Math","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":65663,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"2﷯","format":{"bold":false,"italic":true,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Cambria Math","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":65663,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"+","format":{"bold":false,"italic":true,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Cambria Math","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":65663,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"﷐","format":{"bold":false,"italic":true,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Cambria Math","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":65663,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"𝑦﷮","format":{"bold":false,"italic":true,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Cambria Math","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":65663,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"2﷯","format":{"bold":false,"italic":true,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Cambria Math","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":65663,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"=","format":{"bold":false,"italic":true,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Cambria Math","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":65663,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"﷐","format":{"bold":false,"italic":true,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Cambria Math","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":65663,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"𝑧﷮","format":{"bold":false,"italic":true,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Cambria Math","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":65663,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"2﷯","format":{"bold":false,"italic":true,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Cambria Math","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":65663,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},34":[{"text":"After equation.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},36":[{"text":"﷐","format":{"bold":false,"italic":true,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Cambria Math","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":65663,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"𝑎+𝑏﷮","format":{"bold":false,"italic":true,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Cambria Math","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":65663,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"𝑐+𝑑﷯","format":{"bold":false,"italic":true,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Cambria Math","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":65663,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},39":[{"text":"Inline ","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"𝛼+𝛽","format":{"bold":false,"italic":true,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Cambria Math","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":65663,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]},"{9AEC7F1C-E6DA-0B0A-21E7-B5B554142632},1":{}},"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"{CE29543B-9E41-0DC2-1E3B-00FDCDF82019},1":{}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"{74A71964-B70E-0589-3BB3-56F955273024},1":{"{55644A5D-B639-0555-287F-86AC4C458A34},15":[{"text":"Fictitious positioned outline.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{57D959A7-EBAB-0B48-091B-646F994DD19F},18":[{"text":"Fictitious: café, ","format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"東京","format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"SimSun","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":", ","format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"مرحبا","format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Arial","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1025,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},22":[{"text":"","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},21":[{"text":"Left cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},29":[{"text":"Right cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]},"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{}}}
\ No newline at end of file
corpus/m6/native-math-01/notebook/Open Notebook.one created
Binary files /dev/null and b/corpus/m6/native-math-01/notebook/Open Notebook.one differ
corpus/m6/native-math-01/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/m6/native-math-01/notebook/Open Notebook.onetoc2 differ
corpus/m6/native-math-01/notebook/synthetic.one created
Binary files /dev/null and b/corpus/m6/native-math-01/notebook/synthetic.one differ
corpus/m6/native-math-01/read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment created+1
...@@ -0,0 +1 @@
1Fictitious attachment for native corpus.
\ No newline at end of file
corpus/m6/native-math-01/read/environment.json created+7
...@@ -0,0 +1,7 @@
1{
2 "powershell": "5.1.14409.1005",
3 "schema": "xs2010",
4 "hostname": "ONE-M6-FBE8C24F",
5 "cold": false,
6 "onenote": "14.0.4763.1000"
7}
corpus/m6/native-math-01/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{41C0BCB8-520A-4568-959C-091B01345AD4}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-06T05:18:19.000Z" color="#9595AA" isCurrentlyViewed="true"><one:Section name="synthetic" ID="{8278F8F5-FEFB-090C-22FF-FE5FC440532C}{1}{B0}" path="C:\one-tests\runs\capture\notebook\synthetic.one" lastModifiedTime="2026-09-06T05:18:19.000Z" color="#8AA8E4" isCurrentlyViewed="true"><one:Page ID="{AE310B73-7730-4A1D-A598-56CE38784F33}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isCurrentlyViewed="true"/><one:Page ID="{060F3990-45AE-4C56-92D5-424CD54D4DA4}{1}{B0}" name="Equation controls" dateTime="2026-09-06T05:17:46.000Z" lastModifiedTime="2026-09-06T05:18:19.000Z" pageLevel="1"/></one:Section><one:Section name="Open Notebook" ID="{FBEE5BEA-1F06-0DB8-108C-D6ED8897F653}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Open Notebook.one" lastModifiedTime="2026-09-06T05:13:37.000Z" color="#F5F96F"/></one:Notebook>
corpus/m6/native-math-01/read/page-000.pdf created
Binary files /dev/null and b/corpus/m6/native-math-01/read/page-000.pdf differ
corpus/m6/native-math-01/read/page-000.xml created+3
...@@ -0,0 +1,3 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{060F3990-45AE-4C56-92D5-424CD54D4DA4}{1}{B0}" name="Equation controls" dateTime="2026-09-06T05:17:46.000Z" lastModifiedTime="2026-09-06T05:18:19.000Z" pageLevel="1" isCurrentlyViewed="true" lang="en-US"><one:QuickStyleDef index="0" name="PageTitle" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="17.0" spaceBefore="0.0" spaceAfter="0.0"/><one:QuickStyleDef index="1" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T05:17:47.000Z" lastModifiedTime="2026-09-06T05:17:47.000Z" objectID="{5E305CDC-51F6-497C-AD85-2ED3EE7D656E}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Equation controls]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T05:18:19.000Z" objectID="{5E305CDC-51F6-497C-AD85-2ED3EE7D656E}{28}{B0}"><one:Position x="126.0" y="86.4000015258789" z="0"/><one:Size width="107.8178634643555" height="65.31093597412109"/><one:OEChildren><one:OE creationTime="2026-09-06T05:17:47.000Z" lastModifiedTime="2026-09-06T05:18:04.000Z" objectID="{5E305CDC-51F6-497C-AD85-2ED3EE7D656E}{29}{B0}" alignment="left" quickStyleIndex="1" style="font-family:'Cambria Math';font-size:11.0pt"><one:T><![CDATA[<!--[if mathML]><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" display="block"><mml:msup><mml:mi>x</mml:mi><mml:mn>2</mml:mn></mml:msup><mml:mo>+</mml:mo><mml:msup><mml:mi>y</mml:mi><mml:mn>2</mml:mn></mml:msup><mml:mo>=</mml:mo><mml:msup><mml:mi>z</mml:mi><mml:mn>2</mml:mn></mml:msup></mml:math><![endif]-->]]></one:T></one:OE><one:OE creationTime="2026-09-06T05:18:04.000Z" lastModifiedTime="2026-09-06T05:18:04.000Z" objectID="{5E305CDC-51F6-497C-AD85-2ED3EE7D656E}{33}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[After equation.]]></one:T></one:OE><one:OE creationTime="2026-09-06T05:18:18.000Z" lastModifiedTime="2026-09-06T05:18:18.000Z" objectID="{5E305CDC-51F6-497C-AD85-2ED3EE7D656E}{35}{B0}" alignment="left" quickStyleIndex="1" style="font-family:'Cambria Math';font-size:11.0pt"><one:T><![CDATA[<!--[if mathML]><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" display="block"><mml:mfrac><mml:mrow><mml:mi>a</mml:mi><mml:mo>+</mml:mo><mml:mi>b</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi><mml:mo>+</mml:mo><mml:mi>d</mml:mi></mml:mrow></mml:mfrac></mml:math><![endif]-->]]></one:T></one:OE><one:OE creationTime="2026-09-06T05:18:18.000Z" lastModifiedTime="2026-09-06T05:18:19.000Z" objectID="{5E305CDC-51F6-497C-AD85-2ED3EE7D656E}{38}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[<span
3style='font-family:Calibri' lang=en-US>Inline </span><!--[if mathML]><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"><mml:mi>&#120572;</mml:mi><mml:mo>+</mml:mo><mml:mi>&#120573;</mml:mi></mml:math><![endif]-->]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-math-01/read/page-001.pdf created
Binary files /dev/null and b/corpus/m6/native-math-01/read/page-001.pdf differ
corpus/m6/native-math-01/read/page-001.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{AE310B73-7730-4A1D-A598-56CE38784F33}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-06T05:13:52.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{C9FDA3CF-3C45-49AB-AA6A-DA15C7E4AA52}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{C9FDA3CF-3C45-49AB-AA6A-DA15C7E4AA52}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{EB108F5D-64AD-4718-B7F2-789D0764C786}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{EB108F5D-64AD-4718-B7F2-789D0764C786}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{9F4D7FDA-8F10-43F6-B0DC-589D63E84E1B}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{9F4D7FDA-8F10-43F6-B0DC-589D63E84E1B}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{A2641755-698A-4A58-86AC-F3698F850695}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{A2641755-698A-4A58-86AC-F3698F850695}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{277E0F35-AFF2-499E-A301-9497BB54C9A6}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{277E0F35-AFF2-499E-A301-9497BB54C9A6}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{09A17665-CE62-421E-BC09-76C2930732E0}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{09A17665-CE62-421E-BC09-76C2930732E0}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{09A17665-CE62-421E-BC09-76C2930732E0}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{09A17665-CE62-421E-BC09-76C2930732E0}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{09A17665-CE62-421E-BC09-76C2930732E0}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{09A17665-CE62-421E-BC09-76C2930732E0}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{09A17665-CE62-421E-BC09-76C2930732E0}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{09A17665-CE62-421E-BC09-76C2930732E0}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-math-01/read/payloads.json created+10
...@@ -0,0 +1,10 @@
1[
2 {
3 "sha256": "af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7",
4 "name": "fictitious-attachment.txt",
5 "object": "{277E0F35-AFF2-499E-A301-9497BB54C9A6}{11}{B0}",
6 "kind": "InsertedFile",
7 "page": "{AE310B73-7730-4A1D-A598-56CE38784F33}{1}{B0}",
8 "bytes": 43
9 }
10]
\ No newline at end of file
corpus/m6/native-math-01/run.json created+17
...@@ -0,0 +1,17 @@
1{
2 "notebook": "/Users/clo/dev/one/corpus/native-ink/cold-ui-ink/notebook",
3 "expected_pages": 1,
4 "author": null,
5 "author_timeout_seconds": 600,
6 "inspect": true,
7 "base": {
8 "file": "win7-office-base.qcow2",
9 "format": "qcow2",
10 "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346",
11 "virtual_size": 68719476736
12 },
13 "scripts": {
14 "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
15 "read.ps1": "086789e467779add0fc071ad8c524c2b02d3d0d609aea4a41f3128cadba371e8"
16 }
17}
corpus/m6/native-math-01/scripts/cold.ps1 created+27
...@@ -0,0 +1,27 @@
1param([Parameter(Mandatory=$true)][string]$Root, [string]$CloneHost = '')
2Set-StrictMode -Version Latest
3$ErrorActionPreference = 'Stop'
4$root = [IO.Path]::GetFullPath($Root).TrimEnd('\')
5if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') {
6 throw 'Choose a run directly below C:\one-tests\runs.'
7}
8if (Get-Process ONENOTE -ErrorAction SilentlyContinue) { throw 'Close OneNote before resetting its test cache.' }
9$key = 'HKCU:\Software\Microsoft\Office\14.0\OneNote'
10if ($CloneHost) {
11 if ($CloneHost -notmatch '^ONE-[A-Z0-9-]+$' -or [Environment]::MachineName -ne $CloneHost) {
12 throw 'The disposable clone hostname does not match this machine.'
13 }
14 New-Item "$key\Options\Paths" -Force | Out-Null
15 New-ItemProperty "$key\Options\Paths" -Name UnfiledNotesSection -PropertyType ExpandString -Value 'C:\one-tests\Loose.one' -Force | Out-Null
16} elseif ((Get-ItemProperty "$key\Options\Paths").UnfiledNotesSection -ne 'C:\one-tests\Loose.one' -or
17 -not (Test-Path 'C:\one-tests\profile-original-cache')) {
18 throw 'Park the personal OneNote profile before resetting the test cache.'
19}
20$cache = Join-Path $env:LOCALAPPDATA 'Microsoft\OneNote\14.0'
21$parked = Join-Path 'C:\one-tests\caches' ([IO.Path]::GetFileName($root))
22if (Test-Path $parked) { throw 'Choose a new run; its parked cache already exists.' }
23New-Item -ItemType Directory -Path 'C:\one-tests\caches' -Force | Out-Null
24if (Test-Path $cache) { Move-Item -LiteralPath $cache -Destination $parked }
25if (Test-Path "$key\OpenNotebooks") { Remove-Item "$key\OpenNotebooks" -Recurse }
26New-Item "$key\OpenNotebooks" | Out-Null
27New-ItemProperty "$key\OpenNotebooks" -Name '1' -PropertyType String -Value "$root\notebook" | Out-Null
corpus/m6/native-math-01/scripts/read.ps1 created+139
...@@ -0,0 +1,139 @@
1param(
2 [Parameter(Mandatory=$true)][string]$Root,
3 [int]$ExpectedPages = -1,
4 [switch]$UseCurrentCache,
5 [switch]$Pdf,
6 [switch]$KeepOpen,
7 [string]$CloneHost = ''
8)
9Set-StrictMode -Version Latest
10$ErrorActionPreference = 'Stop'
11$root = [IO.Path]::GetFullPath($Root).TrimEnd('\')
12if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') {
13 throw 'Choose a run directly below C:\one-tests\runs.'
14}
15$notebook = Join-Path $root 'notebook'
16$output = Join-Path $root 'read'
17if (Test-Path $output) { throw 'Choose a new read destination.' }
18if ($UseCurrentCache) {
19 if ((Get-ItemProperty 'HKCU:\Software\Microsoft\Office\14.0\OneNote\Options\Paths').UnfiledNotesSection -ne 'C:\one-tests\Loose.one') {
20 throw 'Park the personal OneNote profile before reading test notebooks.'
21 }
22} else {
23 & "$PSScriptRoot\cold-current.ps1" -Root $root -CloneHost $CloneHost
24}
25New-Item -ItemType Directory -Path $output | Out-Null
26$app = New-Object -ComObject OneNote.Application
27$notebookId = ''
28$failure = $null
29try {
30 $app.OpenHierarchy($notebook, '', [ref]$notebookId, 0)
31 $process = Get-Process ONENOTE
32 @{ hostname = [Environment]::MachineName; onenote = $process.MainModule.FileVersionInfo.FileVersion;
33 powershell = $PSVersionTable.PSVersion.ToString(); schema = 'xs2010'; cold = (-not $UseCurrentCache.IsPresent) } |
34 ConvertTo-Json | Set-Content (Join-Path $output 'environment.json') -Encoding UTF8
35 $sections = @()
36 foreach ($file in @(Get-ChildItem $notebook -Recurse | Where-Object { $_.Extension -eq '.one' })) {
37 $id = ''
38 $app.OpenHierarchy($file.FullName, '', [ref]$id, 0)
39 $sections += $id
40 }
41 $deadline = [DateTime]::UtcNow.AddSeconds(300)
42 $previous = ''
43 $stableSince = [DateTime]::UtcNow
44 $settled = $false
45 do {
46 $pages = @{}
47 foreach ($section in $sections) {
48 $hierarchy = ''
49 $app.GetHierarchy($section, 4, [ref]$hierarchy, 1)
50 [xml]$xml = $hierarchy
51 foreach ($node in $xml.SelectNodes('//*[@path]')) {
52 if (-not $node.GetAttribute('path').StartsWith("$notebook\", [StringComparison]::OrdinalIgnoreCase)) {
53 throw 'OneNote opened a section outside the copied notebook.'
54 }
55 }
56 foreach ($node in $xml.SelectNodes('//*[local-name()="Page"]')) {
57 $id = $node.GetAttribute('ID')
58 $content = ''
59 $app.GetPageContent($id, [ref]$content, 1, 1)
60 $pages[$id] = $content
61 }
62 }
63 $signature = [String]::Join('|', @($pages.Keys | Sort-Object | ForEach-Object { $_ + $pages[$_] }))
64 if ($signature -ne $previous) {
65 $previous = $signature
66 $stableSince = [DateTime]::UtcNow
67 }
68 if ((($ExpectedPages -ge 0 -and $pages.Count -eq $ExpectedPages) -or
69 ($ExpectedPages -lt 0 -and $pages.Count -gt 0)) -and
70 ([DateTime]::UtcNow - $stableSince).TotalSeconds -ge 2) { $settled = $true; break }
71 Start-Sleep -Milliseconds 250
72 } while ([DateTime]::UtcNow -lt $deadline)
73 if (-not $settled -or ($ExpectedPages -ge 0 -and $pages.Count -ne $ExpectedPages) -or ($ExpectedPages -lt 0 -and $pages.Count -eq 0)) {
74 $index = 0
75 foreach ($id in @($pages.Keys | Sort-Object)) {
76 [IO.File]::WriteAllText((Join-Path $output ('unsettled-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8)
77 $index++
78 }
79 $hierarchy = ''
80 $app.GetHierarchy($notebookId, 4, [ref]$hierarchy, 1)
81 [IO.File]::WriteAllText((Join-Path $output 'unsettled-hierarchy.xml'), $hierarchy, [Text.Encoding]::UTF8)
82 throw "Expected $ExpectedPages pages; OneNote returned $($pages.Count)."
83 }
84 $index = 0
85 $payloads = @()
86 foreach ($id in @($pages.Keys | Sort-Object)) {
87 [IO.File]::WriteAllText((Join-Path $output ('page-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8)
88 if ($Pdf) {
89 $pdfPath = Join-Path $output ('page-{0:d3}.pdf' -f $index)
90 $app.NavigateTo($id, '', $false)
91 $app.Publish($id, $pdfPath, 3, '')
92 if (-not (Test-Path $pdfPath) -or (Get-Item $pdfPath).Length -eq 0) { throw 'OneNote did not publish the page PDF.' }
93 }
94 [xml]$page = $pages[$id]
95 foreach ($file in $page.SelectNodes('//*[local-name()="InsertedFile" or local-name()="MediaFile"]')) {
96 $bytes = [IO.File]::ReadAllBytes($file.GetAttribute('pathCache'))
97 $hash = [BitConverter]::ToString([Security.Cryptography.SHA256]::Create().ComputeHash($bytes)).Replace('-', '').ToLowerInvariant()
98 [IO.File]::WriteAllBytes((Join-Path $output ($hash + '.attachment')), $bytes)
99 $payloads += @{ page = $id; object = $file.ParentNode.GetAttribute('objectID');
100 kind = $file.LocalName; name = $file.GetAttribute('preferredName');
101 sha256 = $hash; bytes = $bytes.Length }
102 }
103 $index++
104 }
105 [IO.File]::WriteAllText((Join-Path $output 'payloads.json'), (ConvertTo-Json -InputObject $payloads -Depth 4), [Text.Encoding]::UTF8)
106 $all = ''
107 $app.GetHierarchy($notebookId, 4, [ref]$all, 1)
108 [xml]$finalTree = $all
109 $finalIds = @($finalTree.SelectNodes('//*[local-name()="Page"]') | ForEach-Object { $_.GetAttribute('ID') } | Sort-Object -Unique)
110 if ($finalIds.Count -ne $pages.Count -or @($finalIds | Where-Object { -not $pages.ContainsKey($_) }).Count -ne 0) {
111 throw 'The notebook hierarchy changed while collecting page evidence; repeat the cold read.'
112 }
113 [IO.File]::WriteAllText((Join-Path $output 'hierarchy.xml'), $all, [Text.Encoding]::UTF8)
114 Write-Output "Read $($sections.Count) sections and $($pages.Count) pages."
115} catch {
116 $failure = $_
117 [IO.File]::WriteAllText((Join-Path $output 'failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8)
118 throw
119} finally {
120 try {
121 try {
122 if ($notebookId -and $CloneHost) { $app.SyncHierarchy($notebookId) }
123 if ($notebookId -and -not $KeepOpen -and (-not $UseCurrentCache -or $CloneHost)) {
124 $app.CloseNotebook($notebookId, $false)
125 }
126 } catch {
127 if ($null -eq $failure) { throw }
128 [IO.File]::WriteAllText((Join-Path $output 'cleanup-failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8)
129 }
130 } finally {
131 [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
132 }
133 $app = $null
134 [GC]::Collect()
135 [GC]::WaitForPendingFinalizers()
136 if (-not $UseCurrentCache -and -not $CloneHost) {
137 Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10
138 }
139}
corpus/m6/native-math-01/source.json created+20
...@@ -0,0 +1,20 @@
1[
2 {
3 "path": "Open Notebook.one",
4 "bytes": 4016,
5 "sha256": "e2d9f3e4d3e8a57adaff7ba5af5f1e23bea4b3b590a012acd8d1c4f166556c88",
6 "mtime_ns": 1788585164197912114
7 },
8 {
9 "path": "Open Notebook.onetoc2",
10 "bytes": 4944,
11 "sha256": "36274ad5cc077c6b1ad51ee4c4b90d3b6798a45ce446cbfd7c9d7ac504776b28",
12 "mtime_ns": 1788585164198018949
13 },
14 {
15 "path": "synthetic.one",
16 "bytes": 27808,
17 "sha256": "1326c475cc3a9f412ff4d072cf515c1482b3b9e07798921e582767b064401947",
18 "mtime_ns": 1788585164197723028
19 }
20]
corpus/m6/native-math-01/teardown.json created+1
...@@ -0,0 +1 @@
1{"absent": true}
corpus/m6/native-math-cold-01/agent.py created+439
...@@ -0,0 +1,439 @@
1import base64
2import ctypes
3import hashlib
4import json
5import os
6import struct
7import subprocess
8import sys
9import tempfile
10import threading
11import time
12import zlib
13from ctypes import wintypes
14from http.server import ThreadingHTTPServer, BaseHTTPRequestHandler
15
16BASE = os.path.dirname(os.path.abspath(__file__))
17with open(__file__, 'rb') as source:
18 AGENT_SHA256 = hashlib.sha256(source.read()).hexdigest()
19LOCK = threading.Lock()
20
21user32 = ctypes.windll.user32
22gdi32 = ctypes.windll.gdi32
23
24SRCCOPY = 0x00CC0020
25CAPTUREBLT = 0x40000000
26BI_RGB = 0
27DIB_RGB_COLORS = 0
28
29# restype must be set on x64: the default c_int return truncates a 64-bit HANDLE.
30user32.GetDC.restype = wintypes.HDC
31user32.GetDC.argtypes = [wintypes.HWND]
32user32.ReleaseDC.restype = ctypes.c_int
33user32.ReleaseDC.argtypes = [wintypes.HWND, wintypes.HDC]
34user32.GetSystemMetrics.restype = ctypes.c_int
35user32.GetSystemMetrics.argtypes = [ctypes.c_int]
36gdi32.CreateCompatibleDC.restype = wintypes.HDC
37gdi32.CreateCompatibleDC.argtypes = [wintypes.HDC]
38gdi32.CreateCompatibleBitmap.restype = wintypes.HBITMAP
39gdi32.CreateCompatibleBitmap.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int]
40gdi32.SelectObject.restype = wintypes.HGDIOBJ
41gdi32.SelectObject.argtypes = [wintypes.HDC, wintypes.HGDIOBJ]
42gdi32.BitBlt.restype = wintypes.BOOL
43gdi32.BitBlt.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int, ctypes.c_int,
44 ctypes.c_int, wintypes.HDC, ctypes.c_int, ctypes.c_int,
45 wintypes.DWORD]
46gdi32.GetDIBits.restype = ctypes.c_int
47gdi32.GetDIBits.argtypes = [wintypes.HDC, wintypes.HBITMAP, wintypes.UINT,
48 wintypes.UINT, ctypes.c_void_p, ctypes.c_void_p,
49 wintypes.UINT]
50gdi32.DeleteObject.restype = wintypes.BOOL
51gdi32.DeleteObject.argtypes = [wintypes.HGDIOBJ]
52gdi32.DeleteDC.restype = wintypes.BOOL
53gdi32.DeleteDC.argtypes = [wintypes.HDC]
54
55WNDENUMPROC = ctypes.WINFUNCTYPE(wintypes.BOOL, wintypes.HWND, wintypes.LPARAM)
56user32.GetForegroundWindow.restype = wintypes.HWND
57user32.GetForegroundWindow.argtypes = []
58user32.GetWindowTextW.restype = ctypes.c_int
59user32.GetWindowTextW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int]
60user32.GetClassNameW.restype = ctypes.c_int
61user32.GetClassNameW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int]
62user32.GetClientRect.restype = wintypes.BOOL
63user32.GetClientRect.argtypes = [wintypes.HWND, ctypes.POINTER(wintypes.RECT)]
64user32.EnumChildWindows.restype = wintypes.BOOL
65user32.EnumChildWindows.argtypes = [wintypes.HWND, WNDENUMPROC, wintypes.LPARAM]
66
67
68class BITMAPINFOHEADER(ctypes.Structure):
69 _fields_ = [("biSize", wintypes.DWORD),
70 ("biWidth", wintypes.LONG),
71 ("biHeight", wintypes.LONG),
72 ("biPlanes", wintypes.WORD),
73 ("biBitCount", wintypes.WORD),
74 ("biCompression", wintypes.DWORD),
75 ("biSizeImage", wintypes.DWORD),
76 ("biXPelsPerMeter", wintypes.LONG),
77 ("biYPelsPerMeter", wintypes.LONG),
78 ("biClrUsed", wintypes.DWORD),
79 ("biClrImportant", wintypes.DWORD)]
80
81
82PREAMBLE = (
83 "#Requires AutoHotkey v2.0\n"
84 "#SingleInstance Off\n"
85 "#Warn All, Off\n"
86 'FileEncoding "UTF-8-RAW"\n'
87 'SendMode "Input"\n'
88 "SetWorkingDir A_ScriptDir\n"
89 'CoordMode "Mouse", "Screen"\n'
90 'CoordMode "Pixel", "Screen"\n'
91 'CoordMode "ToolTip", "Screen"\n'
92 "SetTitleMatchMode 2\n"
93 "DetectHiddenWindows true\n"
94)
95
96
97def ahk_path():
98 u64 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey64.exe")
99 u32 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey32.exe")
100 return u64 if os.path.exists(u64) else u32
101
102
103def _chunk(tag, data):
104 return (struct.pack(">I", len(data)) + tag + data +
105 struct.pack(">I", zlib.crc32(tag + data) & 0xffffffff))
106
107
108def _to_png(bgra, w, h):
109 arr = bytearray(bgra)
110 r = arr[2::4]
111 arr[2::4] = arr[0::4]
112 arr[0::4] = r
113 del arr[3::4]
114 stride = w * 3
115 mv = memoryview(arr)
116 raw = bytearray()
117 for y in range(h):
118 raw.append(0)
119 raw += mv[y * stride:(y + 1) * stride]
120 ihdr = struct.pack(">IIBBBBB", w, h, 8, 2, 0, 0, 0)
121 return (b"\x89PNG\r\n\x1a\n" + _chunk(b"IHDR", ihdr) +
122 _chunk(b"IDAT", zlib.compress(bytes(raw))) + _chunk(b"IEND", b""))
123
124
125def capture():
126 w = user32.GetSystemMetrics(0)
127 h = user32.GetSystemMetrics(1)
128 hdc = user32.GetDC(None)
129 mem = None
130 hbm = None
131 try:
132 mem = gdi32.CreateCompatibleDC(hdc)
133 hbm = gdi32.CreateCompatibleBitmap(hdc, w, h)
134 old = gdi32.SelectObject(mem, hbm)
135 gdi32.BitBlt(mem, 0, 0, w, h, hdc, 0, 0, SRCCOPY | CAPTUREBLT)
136 gdi32.SelectObject(mem, old)
137 bmi = BITMAPINFOHEADER()
138 bmi.biSize = ctypes.sizeof(BITMAPINFOHEADER)
139 bmi.biWidth = w
140 bmi.biHeight = -h # negative => top-down rows, matches screenshot orientation
141 bmi.biPlanes = 1
142 bmi.biBitCount = 32
143 bmi.biCompression = BI_RGB
144 buf = ctypes.create_string_buffer(w * h * 4)
145 if gdi32.GetDIBits(mem, hbm, 0, h, buf, ctypes.byref(bmi),
146 DIB_RGB_COLORS) == 0:
147 raise RuntimeError("GetDIBits failed")
148 data = buf.raw
149 finally:
150 if hbm:
151 gdi32.DeleteObject(hbm)
152 if mem:
153 gdi32.DeleteDC(mem)
154 user32.ReleaseDC(None, hdc)
155 return _to_png(data, w, h), w, h
156
157
158def _win_text(fn, hwnd, n=512):
159 buf = ctypes.create_unicode_buffer(n)
160 fn(hwnd, buf, n)
161 return buf.value
162
163
164def active_window():
165 hwnd = user32.GetForegroundWindow()
166 if not hwnd:
167 return {"title": "", "class": "", "dialog": False}
168 cls = _win_text(user32.GetClassNameW, hwnd)
169 return {"title": _win_text(user32.GetWindowTextW, hwnd),
170 "class": cls, "dialog": cls == "#32770"}
171
172
173def control_tree():
174 hwnd = user32.GetForegroundWindow()
175 rows = []
176
177 def add(h):
178 rect = wintypes.RECT()
179 user32.GetClientRect(h, ctypes.byref(rect))
180 rows.append((_win_text(user32.GetClassNameW, h),
181 _win_text(user32.GetWindowTextW, h),
182 rect.left, rect.top,
183 rect.right - rect.left, rect.bottom - rect.top))
184
185 if hwnd:
186 add(hwnd)
187
188 def cb(child, _lparam):
189 add(child)
190 return True
191 user32.EnumChildWindows(hwnd, WNDENUMPROC(cb), 0)
192 lines = ["%-24s %-28s %s" % ("class", "text", "l,t,w,h")]
193 for cls, text, l, t, w, h in rows:
194 lines.append("%-24s %-28s %d,%d,%d,%d" % (cls, text, l, t, w, h))
195 return "\n".join(lines)
196
197
198def _run(argv, timeout_ms, encoding, on_timeout=None):
199 def dec(b):
200 return b.decode(encoding, "replace") if b else ""
201
202 p = subprocess.Popen(argv, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
203 try:
204 out, err = p.communicate(timeout=timeout_ms / 1000.0)
205 return p.returncode, dec(out), dec(err), None
206 except subprocess.TimeoutExpired:
207 if on_timeout:
208 on_timeout()
209 subprocess.call(["taskkill", "/F", "/T", "/PID", str(p.pid)])
210 try:
211 # A process the script launched can outlive taskkill still holding the
212 # inherited stdout pipe; an unbounded wait here wedges the agent's lock.
213 out, err = p.communicate(timeout=5)
214 except subprocess.TimeoutExpired:
215 out = err = b""
216 for pipe in (p.stdout, p.stderr):
217 if pipe:
218 pipe.close()
219 msg = "timed out after %d ms, process killed" % timeout_ms
220 return None, dec(out), dec(err), msg
221
222
223def run_ahk(script, timeout_ms, on_timeout=None):
224 fd, path = tempfile.mkstemp(suffix=".ahk")
225 os.close(fd)
226 # AutoHotkey (Unicode-only) needs a UTF-8 BOM to read the file as UTF-8.
227 with open(path, "wb") as f:
228 f.write(b"\xef\xbb\xbf" + (PREAMBLE + script).encode("utf-8"))
229 try:
230 # /ErrorStdOut sends syntax errors to stderr instead of a blocking modal.
231 code, out, err, error = _run([ahk_path(), "/ErrorStdOut", path], timeout_ms,
232 "utf-8", on_timeout)
233 finally:
234 os.remove(path)
235 if error:
236 error = "script " + error
237 return code, out, err, error
238
239
240def _safe_capture(error):
241 try:
242 png, w, h = capture()
243 return base64.b64encode(png).decode("ascii"), w, h, error
244 except Exception as e:
245 note = "screenshot failed: " + repr(e)
246 return "", 0, 0, (error + "; " + note if error else note)
247
248
249LOG_PATH = os.path.join(BASE, "agent.log")
250LOG_LOCK = threading.Lock()
251
252
253def log(text, stamp=True):
254 """Console and agent.log, so a session can be reconstructed after the fact."""
255 line = time.strftime("%Y-%m-%d %H:%M:%S ") + text if stamp else text
256 with LOG_LOCK:
257 print(line, end="" if line.endswith("\n") else "\n", flush=True)
258 try:
259 with open(LOG_PATH, "a", encoding="utf-8") as f:
260 f.write(line if line.endswith("\n") else line + "\n")
261 except OSError:
262 pass # a log that cannot be written must not take the agent down
263
264
265class Handler(BaseHTTPRequestHandler):
266 def log_message(self, *a):
267 pass
268
269 def _send(self, code, obj):
270 body = json.dumps(obj).encode("utf-8")
271 self.send_response(code)
272 self.send_header("Content-Type", "application/json")
273 self.send_header("Content-Length", str(len(body)))
274 self.end_headers()
275 self.wfile.write(body)
276
277 def _log(self, start, code, body=None):
278 log("%s %s %dms exit=%s" % (self.command, self.path,
279 int((time.time() - start) * 1000), code))
280 if body:
281 log("".join(" | %s\n" % l for l in body.splitlines()), stamp=False)
282
283 def _auth_ok(self):
284 token = os.environ.get("WIN7_TOKEN")
285 return not token or self.headers.get("X-Win7-Token") == token
286
287 def _body(self):
288 n = int(self.headers.get("Content-Length") or 0)
289 raw = self.rfile.read(n) if n else b""
290 return json.loads(raw.decode("utf-8")) if raw else {}
291
292 def do_GET(self):
293 start = time.time()
294 if not self._auth_ok():
295 self._send(401, {"error": "bad token"})
296 elif self.path == "/health":
297 self._send(200, {"ok": True, "w": user32.GetSystemMetrics(0),
298 "h": user32.GetSystemMetrics(1),
299 "hostname": os.environ.get("COMPUTERNAME", ""),
300 "ahk": ahk_path(), "python": sys.executable,
301 "agent_sha256": AGENT_SHA256})
302 else:
303 self._send(404, {"error": "not found"})
304 self._log(start, None)
305
306 def do_POST(self):
307 start = time.time()
308 code = None
309 if not self._auth_ok():
310 self._send(401, {"error": "bad token"})
311 self._log(start, None)
312 return
313 try:
314 data = self._body()
315 except Exception:
316 self._send(400, {"error": "bad json"})
317 self._log(start, None)
318 return
319 body = {"/exec": data.get("script"), "/cmd": data.get("command"),
320 "/spawn": data.get("command"),
321 "/put": data.get("path"), "/get": data.get("path")}.get(self.path)
322 try:
323 if self.path == "/exec":
324 resp = self._exec(data)
325 code = resp["exit"]
326 elif self.path == "/cmd":
327 resp = self._cmd(data)
328 code = resp["exit"]
329 elif self.path == "/spawn":
330 resp = self._spawn(data)
331 code = 0
332 elif self.path == "/put":
333 resp = self._put(data)
334 elif self.path == "/get":
335 resp = self._get(data)
336 elif self.path == "/shot":
337 resp = self._shot()
338 elif self.path == "/ui":
339 resp = self._ui()
340 else:
341 self._send(404, {"error": "not found"})
342 self._log(start, None)
343 return
344 self._send(200, resp)
345 except Exception as e:
346 self._send(200, {"error": repr(e), "exit": None, "stdout": "",
347 "stderr": "", "png_b64": "", "w": 0, "h": 0})
348 self._log(start, code, body)
349
350 def _exec(self, data):
351 pre = []
352
353 def grab(): # capture before taskkill so the blocker is still on screen
354 pre.append((_safe_capture(None), active_window()))
355
356 with LOCK:
357 code, out, err, error = run_ahk(data.get("script", ""),
358 data.get("timeout_ms", 60000), grab)
359 if pre:
360 (b64, w, h, note), win = pre[0]
361 else:
362 time.sleep(data.get("shot_delay_ms", 500) / 1000.0)
363 b64, w, h, note = _safe_capture(None)
364 win = active_window()
365 if note:
366 error = error + "; " + note if error else note
367 return {"exit": code, "stdout": out, "stderr": err, "png_b64": b64,
368 "w": w, "h": h, "error": error, "win": win}
369
370 def _put(self, data):
371 path = data.get("path", "")
372 blob = base64.b64decode(data.get("b64", ""))
373 parent = os.path.dirname(path)
374 if parent and not os.path.isdir(parent):
375 os.makedirs(parent)
376 with open(path, "wb") as f:
377 f.write(blob)
378 return {"bytes": len(blob), "path": os.path.abspath(path), "error": None}
379
380 def _get(self, data):
381 with open(data.get("path", ""), "rb") as f:
382 blob = f.read()
383 return {"b64": base64.b64encode(blob).decode("ascii"), "bytes": len(blob),
384 "error": None}
385
386 def _cmd(self, data):
387 with LOCK:
388 # A raw command-line string, not a list: on Windows list2cmdline would
389 # backslash-escape the embedded quotes before cmd.exe ever sees them.
390 code, out, err, error = _run("cmd.exe /c " + data.get("command", ""),
391 data.get("timeout_ms", 60000), "oem")
392 return {"exit": code, "stdout": out, "stderr": err, "error": error}
393
394 def _spawn(self, data):
395 flags = subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS
396 process = subprocess.Popen(data.get("command", ""), stdin=subprocess.DEVNULL,
397 stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL,
398 close_fds=True, creationflags=flags)
399 return {"pid": process.pid, "error": None}
400
401 def _shot(self):
402 b64, w, h, error = _safe_capture(None)
403 win = active_window()
404 return {"png_b64": b64, "w": w, "h": h, "error": error, "win": win}
405
406 def _ui(self):
407 win = active_window()
408 controls = control_tree()
409 return {"win": win, "controls": controls, "error": None}
410
411
412def keep_awake():
413 """Hold the display and system awake for as long as this process lives.
414
415 Screen blanking alone is harmless -- BitBlt still captures the composited
416 desktop -- but sleep kills the agent outright, and a locked session moves
417 the desktop to Winlogon where neither AutoHotkey nor the capture can reach.
418 """
419 ES_CONTINUOUS, ES_SYSTEM_REQUIRED, ES_DISPLAY_REQUIRED = 0x80000000, 0x1, 0x2
420 kernel32 = ctypes.windll.kernel32
421 kernel32.SetThreadExecutionState.restype = wintypes.DWORD
422 kernel32.SetThreadExecutionState.argtypes = [wintypes.DWORD]
423 return kernel32.SetThreadExecutionState(
424 ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED)
425
426
427def main():
428 user32.SetProcessDPIAware()
429 awake = keep_awake()
430 port = int(os.environ.get("WIN7_PORT", "8777"))
431 srv = ThreadingHTTPServer(("0.0.0.0", port), Handler)
432 log("win7-agent listening on 0.0.0.0:%d ahk=%s log=%s%s"
433 % (port, ahk_path(), LOG_PATH,
434 "" if awake else " (WARNING: could not inhibit sleep)"))
435 srv.serve_forever()
436
437
438if __name__ == "__main__":
439 main()
corpus/m6/native-math-cold-01/commands.jsonl created+3
...@@ -0,0 +1,3 @@
1{"command": "powershell -NoProfile -Command \"Expand-Archive -LiteralPath C:\\one-tests\\transfer.zip -DestinationPath C:\\one-tests\\runs\\capture\\notebook\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
2{"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-37A0E999 -ExpectedPages 2 -Pdf", "exit": 0, "stdout": "Read 2 sections and 2 pages.\r\n", "stderr": "", "error": null}
3{"command": "powershell -NoProfile -Command \"Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\read -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
corpus/m6/native-math-cold-01/health.json created+9
...@@ -0,0 +1,9 @@
1{
2 "ok": true,
3 "w": 800,
4 "h": 600,
5 "hostname": "ONE-M6-37A0E999",
6 "ahk": "C:\\win7-agent\\vendor\\ahk\\AutoHotkey64.exe",
7 "python": "C:\\win7-agent\\vendor\\python\\python.exe",
8 "agent_sha256": "ef7ca89be026695cf4412460a2eec308b0ed253fb9245597a7fe5d6938e49f89"
9}
corpus/m6/native-math-cold-01/machine.json created+1
...@@ -0,0 +1 @@
1{"name": "m6-37a0e999", "hostname": "ONE-M6-37A0E999"}
corpus/m6/native-math-cold-01/read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment created+1
...@@ -0,0 +1 @@
1Fictitious attachment for native corpus.
\ No newline at end of file
corpus/m6/native-math-cold-01/read/environment.json created+7
...@@ -0,0 +1,7 @@
1{
2 "powershell": "5.1.14409.1005",
3 "schema": "xs2010",
4 "hostname": "ONE-M6-37A0E999",
5 "cold": true,
6 "onenote": "14.0.4763.1000"
7}
corpus/m6/native-math-cold-01/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{D03899E4-B90F-4659-BB31-24B694FA7CD4}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-06T05:22:19.000Z" color="#9595AA" isCurrentlyViewed="true"><one:Section name="synthetic" ID="{E96CAF3A-E2C7-0FEB-0A05-C21E04826FDD}{1}{B0}" path="C:\one-tests\runs\capture\notebook\synthetic.one" lastModifiedTime="2026-09-06T05:22:19.000Z" color="#8AA8E4" isCurrentlyViewed="true"><one:Page ID="{C5255CBC-6B0C-4CFA-8D62-6A8FF8BA73C2}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isCurrentlyViewed="true"/><one:Page ID="{6D1B6E5F-5992-4AB1-BA2F-7E0D158F7155}{1}{B0}" name="Equation controls" dateTime="2026-09-06T05:17:46.000Z" lastModifiedTime="2026-09-06T05:18:19.000Z" pageLevel="1"/></one:Section><one:Section name="Open Notebook" ID="{DB23B325-1757-0CCF-3CCE-DE5A8553AEB7}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Open Notebook.one" lastModifiedTime="2026-09-06T05:22:19.000Z" color="#F5F96F"/></one:Notebook>
corpus/m6/native-math-cold-01/read/page-000.pdf created
Binary files /dev/null and b/corpus/m6/native-math-cold-01/read/page-000.pdf differ
corpus/m6/native-math-cold-01/read/page-000.xml created+3
...@@ -0,0 +1,3 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{6D1B6E5F-5992-4AB1-BA2F-7E0D158F7155}{1}{B0}" name="Equation controls" dateTime="2026-09-06T05:17:46.000Z" lastModifiedTime="2026-09-06T05:18:19.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="PageTitle" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="17.0" spaceBefore="0.0" spaceAfter="0.0"/><one:QuickStyleDef index="1" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T05:17:47.000Z" lastModifiedTime="2026-09-06T05:17:47.000Z" objectID="{35240B13-4DCA-4F9B-857F-12922EBF599F}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Equation controls]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T05:18:19.000Z" objectID="{35240B13-4DCA-4F9B-857F-12922EBF599F}{28}{B0}"><one:Position x="126.0" y="86.4000015258789" z="0"/><one:Size width="107.8178634643555" height="65.31093597412109"/><one:OEChildren><one:OE creationTime="2026-09-06T05:17:47.000Z" lastModifiedTime="2026-09-06T05:18:04.000Z" objectID="{35240B13-4DCA-4F9B-857F-12922EBF599F}{29}{B0}" alignment="left" quickStyleIndex="1" style="font-family:'Cambria Math';font-size:11.0pt"><one:T><![CDATA[<!--[if mathML]><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" display="block"><mml:msup><mml:mi>x</mml:mi><mml:mn>2</mml:mn></mml:msup><mml:mo>+</mml:mo><mml:msup><mml:mi>y</mml:mi><mml:mn>2</mml:mn></mml:msup><mml:mo>=</mml:mo><mml:msup><mml:mi>z</mml:mi><mml:mn>2</mml:mn></mml:msup></mml:math><![endif]-->]]></one:T></one:OE><one:OE creationTime="2026-09-06T05:18:04.000Z" lastModifiedTime="2026-09-06T05:18:04.000Z" objectID="{35240B13-4DCA-4F9B-857F-12922EBF599F}{33}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[After equation.]]></one:T></one:OE><one:OE creationTime="2026-09-06T05:18:18.000Z" lastModifiedTime="2026-09-06T05:18:18.000Z" objectID="{35240B13-4DCA-4F9B-857F-12922EBF599F}{35}{B0}" alignment="left" quickStyleIndex="1" style="font-family:'Cambria Math';font-size:11.0pt"><one:T><![CDATA[<!--[if mathML]><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" display="block"><mml:mfrac><mml:mrow><mml:mi>a</mml:mi><mml:mo>+</mml:mo><mml:mi>b</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi><mml:mo>+</mml:mo><mml:mi>d</mml:mi></mml:mrow></mml:mfrac></mml:math><![endif]-->]]></one:T></one:OE><one:OE creationTime="2026-09-06T05:18:18.000Z" lastModifiedTime="2026-09-06T05:18:19.000Z" objectID="{35240B13-4DCA-4F9B-857F-12922EBF599F}{38}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[<span
3style='font-family:Calibri' lang=en-US>Inline </span><!--[if mathML]><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"><mml:mi>&#120572;</mml:mi><mml:mo>+</mml:mo><mml:mi>&#120573;</mml:mi></mml:math><![endif]-->]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-math-cold-01/read/page-001.pdf created
Binary files /dev/null and b/corpus/m6/native-math-cold-01/read/page-001.pdf differ
corpus/m6/native-math-cold-01/read/page-001.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{C5255CBC-6B0C-4CFA-8D62-6A8FF8BA73C2}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{A2E9F400-2079-4F4C-8290-E654072696A3}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{A2E9F400-2079-4F4C-8290-E654072696A3}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{8004D892-7891-41FF-9F08-44DCC7A6FB77}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{8004D892-7891-41FF-9F08-44DCC7A6FB77}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{F4592815-932C-4511-9826-64DCA32A72EA}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{F4592815-932C-4511-9826-64DCA32A72EA}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{C970409A-75B6-4CBF-AE56-CF284F473A64}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{C970409A-75B6-4CBF-AE56-CF284F473A64}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{4C6A58FA-B3CE-4F79-8BFB-A8D67B96F557}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{4C6A58FA-B3CE-4F79-8BFB-A8D67B96F557}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{62B521AA-D25E-44F9-94F3-4A8353C50E11}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{62B521AA-D25E-44F9-94F3-4A8353C50E11}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{62B521AA-D25E-44F9-94F3-4A8353C50E11}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{62B521AA-D25E-44F9-94F3-4A8353C50E11}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{62B521AA-D25E-44F9-94F3-4A8353C50E11}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{62B521AA-D25E-44F9-94F3-4A8353C50E11}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{62B521AA-D25E-44F9-94F3-4A8353C50E11}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{62B521AA-D25E-44F9-94F3-4A8353C50E11}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-math-cold-01/read/payloads.json created+10
...@@ -0,0 +1,10 @@
1[
2 {
3 "sha256": "af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7",
4 "name": "fictitious-attachment.txt",
5 "object": "{4C6A58FA-B3CE-4F79-8BFB-A8D67B96F557}{11}{B0}",
6 "kind": "InsertedFile",
7 "page": "{C5255CBC-6B0C-4CFA-8D62-6A8FF8BA73C2}{1}{B0}",
8 "bytes": 43
9 }
10]
\ No newline at end of file
corpus/m6/native-math-cold-01/run.json created+17
...@@ -0,0 +1,17 @@
1{
2 "notebook": "/Users/clo/dev/one/corpus/m6/native-math-01/notebook",
3 "expected_pages": 2,
4 "author": null,
5 "author_timeout_seconds": 600,
6 "inspect": false,
7 "base": {
8 "file": "win7-office-base.qcow2",
9 "format": "qcow2",
10 "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346",
11 "virtual_size": 68719476736
12 },
13 "scripts": {
14 "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
15 "read.ps1": "086789e467779add0fc071ad8c524c2b02d3d0d609aea4a41f3128cadba371e8"
16 }
17}
corpus/m6/native-math-cold-01/scripts/cold.ps1 created+27
...@@ -0,0 +1,27 @@
1param([Parameter(Mandatory=$true)][string]$Root, [string]$CloneHost = '')
2Set-StrictMode -Version Latest
3$ErrorActionPreference = 'Stop'
4$root = [IO.Path]::GetFullPath($Root).TrimEnd('\')
5if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') {
6 throw 'Choose a run directly below C:\one-tests\runs.'
7}
8if (Get-Process ONENOTE -ErrorAction SilentlyContinue) { throw 'Close OneNote before resetting its test cache.' }
9$key = 'HKCU:\Software\Microsoft\Office\14.0\OneNote'
10if ($CloneHost) {
11 if ($CloneHost -notmatch '^ONE-[A-Z0-9-]+$' -or [Environment]::MachineName -ne $CloneHost) {
12 throw 'The disposable clone hostname does not match this machine.'
13 }
14 New-Item "$key\Options\Paths" -Force | Out-Null
15 New-ItemProperty "$key\Options\Paths" -Name UnfiledNotesSection -PropertyType ExpandString -Value 'C:\one-tests\Loose.one' -Force | Out-Null
16} elseif ((Get-ItemProperty "$key\Options\Paths").UnfiledNotesSection -ne 'C:\one-tests\Loose.one' -or
17 -not (Test-Path 'C:\one-tests\profile-original-cache')) {
18 throw 'Park the personal OneNote profile before resetting the test cache.'
19}
20$cache = Join-Path $env:LOCALAPPDATA 'Microsoft\OneNote\14.0'
21$parked = Join-Path 'C:\one-tests\caches' ([IO.Path]::GetFileName($root))
22if (Test-Path $parked) { throw 'Choose a new run; its parked cache already exists.' }
23New-Item -ItemType Directory -Path 'C:\one-tests\caches' -Force | Out-Null
24if (Test-Path $cache) { Move-Item -LiteralPath $cache -Destination $parked }
25if (Test-Path "$key\OpenNotebooks") { Remove-Item "$key\OpenNotebooks" -Recurse }
26New-Item "$key\OpenNotebooks" | Out-Null
27New-ItemProperty "$key\OpenNotebooks" -Name '1' -PropertyType String -Value "$root\notebook" | Out-Null
corpus/m6/native-math-cold-01/scripts/read.ps1 created+139
...@@ -0,0 +1,139 @@
1param(
2 [Parameter(Mandatory=$true)][string]$Root,
3 [int]$ExpectedPages = -1,
4 [switch]$UseCurrentCache,
5 [switch]$Pdf,
6 [switch]$KeepOpen,
7 [string]$CloneHost = ''
8)
9Set-StrictMode -Version Latest
10$ErrorActionPreference = 'Stop'
11$root = [IO.Path]::GetFullPath($Root).TrimEnd('\')
12if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') {
13 throw 'Choose a run directly below C:\one-tests\runs.'
14}
15$notebook = Join-Path $root 'notebook'
16$output = Join-Path $root 'read'
17if (Test-Path $output) { throw 'Choose a new read destination.' }
18if ($UseCurrentCache) {
19 if ((Get-ItemProperty 'HKCU:\Software\Microsoft\Office\14.0\OneNote\Options\Paths').UnfiledNotesSection -ne 'C:\one-tests\Loose.one') {
20 throw 'Park the personal OneNote profile before reading test notebooks.'
21 }
22} else {
23 & "$PSScriptRoot\cold-current.ps1" -Root $root -CloneHost $CloneHost
24}
25New-Item -ItemType Directory -Path $output | Out-Null
26$app = New-Object -ComObject OneNote.Application
27$notebookId = ''
28$failure = $null
29try {
30 $app.OpenHierarchy($notebook, '', [ref]$notebookId, 0)
31 $process = Get-Process ONENOTE
32 @{ hostname = [Environment]::MachineName; onenote = $process.MainModule.FileVersionInfo.FileVersion;
33 powershell = $PSVersionTable.PSVersion.ToString(); schema = 'xs2010'; cold = (-not $UseCurrentCache.IsPresent) } |
34 ConvertTo-Json | Set-Content (Join-Path $output 'environment.json') -Encoding UTF8
35 $sections = @()
36 foreach ($file in @(Get-ChildItem $notebook -Recurse | Where-Object { $_.Extension -eq '.one' })) {
37 $id = ''
38 $app.OpenHierarchy($file.FullName, '', [ref]$id, 0)
39 $sections += $id
40 }
41 $deadline = [DateTime]::UtcNow.AddSeconds(300)
42 $previous = ''
43 $stableSince = [DateTime]::UtcNow
44 $settled = $false
45 do {
46 $pages = @{}
47 foreach ($section in $sections) {
48 $hierarchy = ''
49 $app.GetHierarchy($section, 4, [ref]$hierarchy, 1)
50 [xml]$xml = $hierarchy
51 foreach ($node in $xml.SelectNodes('//*[@path]')) {
52 if (-not $node.GetAttribute('path').StartsWith("$notebook\", [StringComparison]::OrdinalIgnoreCase)) {
53 throw 'OneNote opened a section outside the copied notebook.'
54 }
55 }
56 foreach ($node in $xml.SelectNodes('//*[local-name()="Page"]')) {
57 $id = $node.GetAttribute('ID')
58 $content = ''
59 $app.GetPageContent($id, [ref]$content, 1, 1)
60 $pages[$id] = $content
61 }
62 }
63 $signature = [String]::Join('|', @($pages.Keys | Sort-Object | ForEach-Object { $_ + $pages[$_] }))
64 if ($signature -ne $previous) {
65 $previous = $signature
66 $stableSince = [DateTime]::UtcNow
67 }
68 if ((($ExpectedPages -ge 0 -and $pages.Count -eq $ExpectedPages) -or
69 ($ExpectedPages -lt 0 -and $pages.Count -gt 0)) -and
70 ([DateTime]::UtcNow - $stableSince).TotalSeconds -ge 2) { $settled = $true; break }
71 Start-Sleep -Milliseconds 250
72 } while ([DateTime]::UtcNow -lt $deadline)
73 if (-not $settled -or ($ExpectedPages -ge 0 -and $pages.Count -ne $ExpectedPages) -or ($ExpectedPages -lt 0 -and $pages.Count -eq 0)) {
74 $index = 0
75 foreach ($id in @($pages.Keys | Sort-Object)) {
76 [IO.File]::WriteAllText((Join-Path $output ('unsettled-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8)
77 $index++
78 }
79 $hierarchy = ''
80 $app.GetHierarchy($notebookId, 4, [ref]$hierarchy, 1)
81 [IO.File]::WriteAllText((Join-Path $output 'unsettled-hierarchy.xml'), $hierarchy, [Text.Encoding]::UTF8)
82 throw "Expected $ExpectedPages pages; OneNote returned $($pages.Count)."
83 }
84 $index = 0
85 $payloads = @()
86 foreach ($id in @($pages.Keys | Sort-Object)) {
87 [IO.File]::WriteAllText((Join-Path $output ('page-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8)
88 if ($Pdf) {
89 $pdfPath = Join-Path $output ('page-{0:d3}.pdf' -f $index)
90 $app.NavigateTo($id, '', $false)
91 $app.Publish($id, $pdfPath, 3, '')
92 if (-not (Test-Path $pdfPath) -or (Get-Item $pdfPath).Length -eq 0) { throw 'OneNote did not publish the page PDF.' }
93 }
94 [xml]$page = $pages[$id]
95 foreach ($file in $page.SelectNodes('//*[local-name()="InsertedFile" or local-name()="MediaFile"]')) {
96 $bytes = [IO.File]::ReadAllBytes($file.GetAttribute('pathCache'))
97 $hash = [BitConverter]::ToString([Security.Cryptography.SHA256]::Create().ComputeHash($bytes)).Replace('-', '').ToLowerInvariant()
98 [IO.File]::WriteAllBytes((Join-Path $output ($hash + '.attachment')), $bytes)
99 $payloads += @{ page = $id; object = $file.ParentNode.GetAttribute('objectID');
100 kind = $file.LocalName; name = $file.GetAttribute('preferredName');
101 sha256 = $hash; bytes = $bytes.Length }
102 }
103 $index++
104 }
105 [IO.File]::WriteAllText((Join-Path $output 'payloads.json'), (ConvertTo-Json -InputObject $payloads -Depth 4), [Text.Encoding]::UTF8)
106 $all = ''
107 $app.GetHierarchy($notebookId, 4, [ref]$all, 1)
108 [xml]$finalTree = $all
109 $finalIds = @($finalTree.SelectNodes('//*[local-name()="Page"]') | ForEach-Object { $_.GetAttribute('ID') } | Sort-Object -Unique)
110 if ($finalIds.Count -ne $pages.Count -or @($finalIds | Where-Object { -not $pages.ContainsKey($_) }).Count -ne 0) {
111 throw 'The notebook hierarchy changed while collecting page evidence; repeat the cold read.'
112 }
113 [IO.File]::WriteAllText((Join-Path $output 'hierarchy.xml'), $all, [Text.Encoding]::UTF8)
114 Write-Output "Read $($sections.Count) sections and $($pages.Count) pages."
115} catch {
116 $failure = $_
117 [IO.File]::WriteAllText((Join-Path $output 'failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8)
118 throw
119} finally {
120 try {
121 try {
122 if ($notebookId -and $CloneHost) { $app.SyncHierarchy($notebookId) }
123 if ($notebookId -and -not $KeepOpen -and (-not $UseCurrentCache -or $CloneHost)) {
124 $app.CloseNotebook($notebookId, $false)
125 }
126 } catch {
127 if ($null -eq $failure) { throw }
128 [IO.File]::WriteAllText((Join-Path $output 'cleanup-failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8)
129 }
130 } finally {
131 [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
132 }
133 $app = $null
134 [GC]::Collect()
135 [GC]::WaitForPendingFinalizers()
136 if (-not $UseCurrentCache -and -not $CloneHost) {
137 Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10
138 }
139}
corpus/m6/native-math-cold-01/source.json created+20
...@@ -0,0 +1,20 @@
1[
2 {
3 "path": "Open Notebook.one",
4 "bytes": 4016,
5 "sha256": "e2d9f3e4d3e8a57adaff7ba5af5f1e23bea4b3b590a012acd8d1c4f166556c88",
6 "mtime_ns": 1788671925794591240
7 },
8 {
9 "path": "Open Notebook.onetoc2",
10 "bytes": 4944,
11 "sha256": "36274ad5cc077c6b1ad51ee4c4b90d3b6798a45ce446cbfd7c9d7ac504776b28",
12 "mtime_ns": 1788671925794729825
13 },
14 {
15 "path": "synthetic.one",
16 "bytes": 35448,
17 "sha256": "08c944fba245e5377933341c4f6dd3740f818189f0504896243c78d48137ecc4",
18 "mtime_ns": 1788671925794919452
19 }
20]
corpus/m6/native-math-cold-01/teardown.json created+1
...@@ -0,0 +1 @@
1{"absent": true}
corpus/m6/native-origin-controls-01/ORACLE.md created+16
...@@ -0,0 +1,16 @@
1# Native page-origin control
2
3The input starts from `corpus/native-ink/cold-ui-ink/notebook`. Rust scalar edits
4change only PageMarginOriginX/Y to 3 and -1 half-inches (108 and -36 points).
5`input/operations.json` records the input hash, object identities, and old/new
6property bytes. A fresh OneNote 2010 clone opened that input; `read` contains its
7independent XML/PDF view and `teardown.json` records cleanup.
8
9For non-ink page children, native XML positions equal stored positions plus
10(36, 14.4) minus the stored origin. `origin-observations.json` records all observed
11positions. Ink XML exports stroke bounds, which remain opaque in the model.
12The fixture also contains a 1 by 1 PNG whose native XML omits Size; its stored
13intrinsic size is 0.75 by 0.75 points and it has no explicit layout dimensions.
14
15Run `tools/verify-document.py input/notebook read` from this fixture directory
16using the repository tool path to check every supported object and coordinate.
corpus/m6/native-origin-controls-01/agent.py created+439
...@@ -0,0 +1,439 @@
1import base64
2import ctypes
3import hashlib
4import json
5import os
6import struct
7import subprocess
8import sys
9import tempfile
10import threading
11import time
12import zlib
13from ctypes import wintypes
14from http.server import ThreadingHTTPServer, BaseHTTPRequestHandler
15
16BASE = os.path.dirname(os.path.abspath(__file__))
17with open(__file__, 'rb') as source:
18 AGENT_SHA256 = hashlib.sha256(source.read()).hexdigest()
19LOCK = threading.Lock()
20
21user32 = ctypes.windll.user32
22gdi32 = ctypes.windll.gdi32
23
24SRCCOPY = 0x00CC0020
25CAPTUREBLT = 0x40000000
26BI_RGB = 0
27DIB_RGB_COLORS = 0
28
29# restype must be set on x64: the default c_int return truncates a 64-bit HANDLE.
30user32.GetDC.restype = wintypes.HDC
31user32.GetDC.argtypes = [wintypes.HWND]
32user32.ReleaseDC.restype = ctypes.c_int
33user32.ReleaseDC.argtypes = [wintypes.HWND, wintypes.HDC]
34user32.GetSystemMetrics.restype = ctypes.c_int
35user32.GetSystemMetrics.argtypes = [ctypes.c_int]
36gdi32.CreateCompatibleDC.restype = wintypes.HDC
37gdi32.CreateCompatibleDC.argtypes = [wintypes.HDC]
38gdi32.CreateCompatibleBitmap.restype = wintypes.HBITMAP
39gdi32.CreateCompatibleBitmap.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int]
40gdi32.SelectObject.restype = wintypes.HGDIOBJ
41gdi32.SelectObject.argtypes = [wintypes.HDC, wintypes.HGDIOBJ]
42gdi32.BitBlt.restype = wintypes.BOOL
43gdi32.BitBlt.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int, ctypes.c_int,
44 ctypes.c_int, wintypes.HDC, ctypes.c_int, ctypes.c_int,
45 wintypes.DWORD]
46gdi32.GetDIBits.restype = ctypes.c_int
47gdi32.GetDIBits.argtypes = [wintypes.HDC, wintypes.HBITMAP, wintypes.UINT,
48 wintypes.UINT, ctypes.c_void_p, ctypes.c_void_p,
49 wintypes.UINT]
50gdi32.DeleteObject.restype = wintypes.BOOL
51gdi32.DeleteObject.argtypes = [wintypes.HGDIOBJ]
52gdi32.DeleteDC.restype = wintypes.BOOL
53gdi32.DeleteDC.argtypes = [wintypes.HDC]
54
55WNDENUMPROC = ctypes.WINFUNCTYPE(wintypes.BOOL, wintypes.HWND, wintypes.LPARAM)
56user32.GetForegroundWindow.restype = wintypes.HWND
57user32.GetForegroundWindow.argtypes = []
58user32.GetWindowTextW.restype = ctypes.c_int
59user32.GetWindowTextW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int]
60user32.GetClassNameW.restype = ctypes.c_int
61user32.GetClassNameW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int]
62user32.GetClientRect.restype = wintypes.BOOL
63user32.GetClientRect.argtypes = [wintypes.HWND, ctypes.POINTER(wintypes.RECT)]
64user32.EnumChildWindows.restype = wintypes.BOOL
65user32.EnumChildWindows.argtypes = [wintypes.HWND, WNDENUMPROC, wintypes.LPARAM]
66
67
68class BITMAPINFOHEADER(ctypes.Structure):
69 _fields_ = [("biSize", wintypes.DWORD),
70 ("biWidth", wintypes.LONG),
71 ("biHeight", wintypes.LONG),
72 ("biPlanes", wintypes.WORD),
73 ("biBitCount", wintypes.WORD),
74 ("biCompression", wintypes.DWORD),
75 ("biSizeImage", wintypes.DWORD),
76 ("biXPelsPerMeter", wintypes.LONG),
77 ("biYPelsPerMeter", wintypes.LONG),
78 ("biClrUsed", wintypes.DWORD),
79 ("biClrImportant", wintypes.DWORD)]
80
81
82PREAMBLE = (
83 "#Requires AutoHotkey v2.0\n"
84 "#SingleInstance Off\n"
85 "#Warn All, Off\n"
86 'FileEncoding "UTF-8-RAW"\n'
87 'SendMode "Input"\n'
88 "SetWorkingDir A_ScriptDir\n"
89 'CoordMode "Mouse", "Screen"\n'
90 'CoordMode "Pixel", "Screen"\n'
91 'CoordMode "ToolTip", "Screen"\n'
92 "SetTitleMatchMode 2\n"
93 "DetectHiddenWindows true\n"
94)
95
96
97def ahk_path():
98 u64 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey64.exe")
99 u32 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey32.exe")
100 return u64 if os.path.exists(u64) else u32
101
102
103def _chunk(tag, data):
104 return (struct.pack(">I", len(data)) + tag + data +
105 struct.pack(">I", zlib.crc32(tag + data) & 0xffffffff))
106
107
108def _to_png(bgra, w, h):
109 arr = bytearray(bgra)
110 r = arr[2::4]
111 arr[2::4] = arr[0::4]
112 arr[0::4] = r
113 del arr[3::4]
114 stride = w * 3
115 mv = memoryview(arr)
116 raw = bytearray()
117 for y in range(h):
118 raw.append(0)
119 raw += mv[y * stride:(y + 1) * stride]
120 ihdr = struct.pack(">IIBBBBB", w, h, 8, 2, 0, 0, 0)
121 return (b"\x89PNG\r\n\x1a\n" + _chunk(b"IHDR", ihdr) +
122 _chunk(b"IDAT", zlib.compress(bytes(raw))) + _chunk(b"IEND", b""))
123
124
125def capture():
126 w = user32.GetSystemMetrics(0)
127 h = user32.GetSystemMetrics(1)
128 hdc = user32.GetDC(None)
129 mem = None
130 hbm = None
131 try:
132 mem = gdi32.CreateCompatibleDC(hdc)
133 hbm = gdi32.CreateCompatibleBitmap(hdc, w, h)
134 old = gdi32.SelectObject(mem, hbm)
135 gdi32.BitBlt(mem, 0, 0, w, h, hdc, 0, 0, SRCCOPY | CAPTUREBLT)
136 gdi32.SelectObject(mem, old)
137 bmi = BITMAPINFOHEADER()
138 bmi.biSize = ctypes.sizeof(BITMAPINFOHEADER)
139 bmi.biWidth = w
140 bmi.biHeight = -h # negative => top-down rows, matches screenshot orientation
141 bmi.biPlanes = 1
142 bmi.biBitCount = 32
143 bmi.biCompression = BI_RGB
144 buf = ctypes.create_string_buffer(w * h * 4)
145 if gdi32.GetDIBits(mem, hbm, 0, h, buf, ctypes.byref(bmi),
146 DIB_RGB_COLORS) == 0:
147 raise RuntimeError("GetDIBits failed")
148 data = buf.raw
149 finally:
150 if hbm:
151 gdi32.DeleteObject(hbm)
152 if mem:
153 gdi32.DeleteDC(mem)
154 user32.ReleaseDC(None, hdc)
155 return _to_png(data, w, h), w, h
156
157
158def _win_text(fn, hwnd, n=512):
159 buf = ctypes.create_unicode_buffer(n)
160 fn(hwnd, buf, n)
161 return buf.value
162
163
164def active_window():
165 hwnd = user32.GetForegroundWindow()
166 if not hwnd:
167 return {"title": "", "class": "", "dialog": False}
168 cls = _win_text(user32.GetClassNameW, hwnd)
169 return {"title": _win_text(user32.GetWindowTextW, hwnd),
170 "class": cls, "dialog": cls == "#32770"}
171
172
173def control_tree():
174 hwnd = user32.GetForegroundWindow()
175 rows = []
176
177 def add(h):
178 rect = wintypes.RECT()
179 user32.GetClientRect(h, ctypes.byref(rect))
180 rows.append((_win_text(user32.GetClassNameW, h),
181 _win_text(user32.GetWindowTextW, h),
182 rect.left, rect.top,
183 rect.right - rect.left, rect.bottom - rect.top))
184
185 if hwnd:
186 add(hwnd)
187
188 def cb(child, _lparam):
189 add(child)
190 return True
191 user32.EnumChildWindows(hwnd, WNDENUMPROC(cb), 0)
192 lines = ["%-24s %-28s %s" % ("class", "text", "l,t,w,h")]
193 for cls, text, l, t, w, h in rows:
194 lines.append("%-24s %-28s %d,%d,%d,%d" % (cls, text, l, t, w, h))
195 return "\n".join(lines)
196
197
198def _run(argv, timeout_ms, encoding, on_timeout=None):
199 def dec(b):
200 return b.decode(encoding, "replace") if b else ""
201
202 p = subprocess.Popen(argv, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
203 try:
204 out, err = p.communicate(timeout=timeout_ms / 1000.0)
205 return p.returncode, dec(out), dec(err), None
206 except subprocess.TimeoutExpired:
207 if on_timeout:
208 on_timeout()
209 subprocess.call(["taskkill", "/F", "/T", "/PID", str(p.pid)])
210 try:
211 # A process the script launched can outlive taskkill still holding the
212 # inherited stdout pipe; an unbounded wait here wedges the agent's lock.
213 out, err = p.communicate(timeout=5)
214 except subprocess.TimeoutExpired:
215 out = err = b""
216 for pipe in (p.stdout, p.stderr):
217 if pipe:
218 pipe.close()
219 msg = "timed out after %d ms, process killed" % timeout_ms
220 return None, dec(out), dec(err), msg
221
222
223def run_ahk(script, timeout_ms, on_timeout=None):
224 fd, path = tempfile.mkstemp(suffix=".ahk")
225 os.close(fd)
226 # AutoHotkey (Unicode-only) needs a UTF-8 BOM to read the file as UTF-8.
227 with open(path, "wb") as f:
228 f.write(b"\xef\xbb\xbf" + (PREAMBLE + script).encode("utf-8"))
229 try:
230 # /ErrorStdOut sends syntax errors to stderr instead of a blocking modal.
231 code, out, err, error = _run([ahk_path(), "/ErrorStdOut", path], timeout_ms,
232 "utf-8", on_timeout)
233 finally:
234 os.remove(path)
235 if error:
236 error = "script " + error
237 return code, out, err, error
238
239
240def _safe_capture(error):
241 try:
242 png, w, h = capture()
243 return base64.b64encode(png).decode("ascii"), w, h, error
244 except Exception as e:
245 note = "screenshot failed: " + repr(e)
246 return "", 0, 0, (error + "; " + note if error else note)
247
248
249LOG_PATH = os.path.join(BASE, "agent.log")
250LOG_LOCK = threading.Lock()
251
252
253def log(text, stamp=True):
254 """Console and agent.log, so a session can be reconstructed after the fact."""
255 line = time.strftime("%Y-%m-%d %H:%M:%S ") + text if stamp else text
256 with LOG_LOCK:
257 print(line, end="" if line.endswith("\n") else "\n", flush=True)
258 try:
259 with open(LOG_PATH, "a", encoding="utf-8") as f:
260 f.write(line if line.endswith("\n") else line + "\n")
261 except OSError:
262 pass # a log that cannot be written must not take the agent down
263
264
265class Handler(BaseHTTPRequestHandler):
266 def log_message(self, *a):
267 pass
268
269 def _send(self, code, obj):
270 body = json.dumps(obj).encode("utf-8")
271 self.send_response(code)
272 self.send_header("Content-Type", "application/json")
273 self.send_header("Content-Length", str(len(body)))
274 self.end_headers()
275 self.wfile.write(body)
276
277 def _log(self, start, code, body=None):
278 log("%s %s %dms exit=%s" % (self.command, self.path,
279 int((time.time() - start) * 1000), code))
280 if body:
281 log("".join(" | %s\n" % l for l in body.splitlines()), stamp=False)
282
283 def _auth_ok(self):
284 token = os.environ.get("WIN7_TOKEN")
285 return not token or self.headers.get("X-Win7-Token") == token
286
287 def _body(self):
288 n = int(self.headers.get("Content-Length") or 0)
289 raw = self.rfile.read(n) if n else b""
290 return json.loads(raw.decode("utf-8")) if raw else {}
291
292 def do_GET(self):
293 start = time.time()
294 if not self._auth_ok():
295 self._send(401, {"error": "bad token"})
296 elif self.path == "/health":
297 self._send(200, {"ok": True, "w": user32.GetSystemMetrics(0),
298 "h": user32.GetSystemMetrics(1),
299 "hostname": os.environ.get("COMPUTERNAME", ""),
300 "ahk": ahk_path(), "python": sys.executable,
301 "agent_sha256": AGENT_SHA256})
302 else:
303 self._send(404, {"error": "not found"})
304 self._log(start, None)
305
306 def do_POST(self):
307 start = time.time()
308 code = None
309 if not self._auth_ok():
310 self._send(401, {"error": "bad token"})
311 self._log(start, None)
312 return
313 try:
314 data = self._body()
315 except Exception:
316 self._send(400, {"error": "bad json"})
317 self._log(start, None)
318 return
319 body = {"/exec": data.get("script"), "/cmd": data.get("command"),
320 "/spawn": data.get("command"),
321 "/put": data.get("path"), "/get": data.get("path")}.get(self.path)
322 try:
323 if self.path == "/exec":
324 resp = self._exec(data)
325 code = resp["exit"]
326 elif self.path == "/cmd":
327 resp = self._cmd(data)
328 code = resp["exit"]
329 elif self.path == "/spawn":
330 resp = self._spawn(data)
331 code = 0
332 elif self.path == "/put":
333 resp = self._put(data)
334 elif self.path == "/get":
335 resp = self._get(data)
336 elif self.path == "/shot":
337 resp = self._shot()
338 elif self.path == "/ui":
339 resp = self._ui()
340 else:
341 self._send(404, {"error": "not found"})
342 self._log(start, None)
343 return
344 self._send(200, resp)
345 except Exception as e:
346 self._send(200, {"error": repr(e), "exit": None, "stdout": "",
347 "stderr": "", "png_b64": "", "w": 0, "h": 0})
348 self._log(start, code, body)
349
350 def _exec(self, data):
351 pre = []
352
353 def grab(): # capture before taskkill so the blocker is still on screen
354 pre.append((_safe_capture(None), active_window()))
355
356 with LOCK:
357 code, out, err, error = run_ahk(data.get("script", ""),
358 data.get("timeout_ms", 60000), grab)
359 if pre:
360 (b64, w, h, note), win = pre[0]
361 else:
362 time.sleep(data.get("shot_delay_ms", 500) / 1000.0)
363 b64, w, h, note = _safe_capture(None)
364 win = active_window()
365 if note:
366 error = error + "; " + note if error else note
367 return {"exit": code, "stdout": out, "stderr": err, "png_b64": b64,
368 "w": w, "h": h, "error": error, "win": win}
369
370 def _put(self, data):
371 path = data.get("path", "")
372 blob = base64.b64decode(data.get("b64", ""))
373 parent = os.path.dirname(path)
374 if parent and not os.path.isdir(parent):
375 os.makedirs(parent)
376 with open(path, "wb") as f:
377 f.write(blob)
378 return {"bytes": len(blob), "path": os.path.abspath(path), "error": None}
379
380 def _get(self, data):
381 with open(data.get("path", ""), "rb") as f:
382 blob = f.read()
383 return {"b64": base64.b64encode(blob).decode("ascii"), "bytes": len(blob),
384 "error": None}
385
386 def _cmd(self, data):
387 with LOCK:
388 # A raw command-line string, not a list: on Windows list2cmdline would
389 # backslash-escape the embedded quotes before cmd.exe ever sees them.
390 code, out, err, error = _run("cmd.exe /c " + data.get("command", ""),
391 data.get("timeout_ms", 60000), "oem")
392 return {"exit": code, "stdout": out, "stderr": err, "error": error}
393
394 def _spawn(self, data):
395 flags = subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS
396 process = subprocess.Popen(data.get("command", ""), stdin=subprocess.DEVNULL,
397 stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL,
398 close_fds=True, creationflags=flags)
399 return {"pid": process.pid, "error": None}
400
401 def _shot(self):
402 b64, w, h, error = _safe_capture(None)
403 win = active_window()
404 return {"png_b64": b64, "w": w, "h": h, "error": error, "win": win}
405
406 def _ui(self):
407 win = active_window()
408 controls = control_tree()
409 return {"win": win, "controls": controls, "error": None}
410
411
412def keep_awake():
413 """Hold the display and system awake for as long as this process lives.
414
415 Screen blanking alone is harmless -- BitBlt still captures the composited
416 desktop -- but sleep kills the agent outright, and a locked session moves
417 the desktop to Winlogon where neither AutoHotkey nor the capture can reach.
418 """
419 ES_CONTINUOUS, ES_SYSTEM_REQUIRED, ES_DISPLAY_REQUIRED = 0x80000000, 0x1, 0x2
420 kernel32 = ctypes.windll.kernel32
421 kernel32.SetThreadExecutionState.restype = wintypes.DWORD
422 kernel32.SetThreadExecutionState.argtypes = [wintypes.DWORD]
423 return kernel32.SetThreadExecutionState(
424 ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED)
425
426
427def main():
428 user32.SetProcessDPIAware()
429 awake = keep_awake()
430 port = int(os.environ.get("WIN7_PORT", "8777"))
431 srv = ThreadingHTTPServer(("0.0.0.0", port), Handler)
432 log("win7-agent listening on 0.0.0.0:%d ahk=%s log=%s%s"
433 % (port, ahk_path(), LOG_PATH,
434 "" if awake else " (WARNING: could not inhibit sleep)"))
435 srv.serve_forever()
436
437
438if __name__ == "__main__":
439 main()
corpus/m6/native-origin-controls-01/commands.jsonl created+3
...@@ -0,0 +1,3 @@
1{"command": "powershell -NoProfile -Command \"Expand-Archive -LiteralPath C:\\one-tests\\transfer.zip -DestinationPath C:\\one-tests\\runs\\capture\\notebook\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
2{"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-F3B0587A -ExpectedPages 1 -Pdf", "exit": 0, "stdout": "Read 1 sections and 1 pages.\r\n", "stderr": "", "error": null}
3{"command": "powershell -NoProfile -Command \"Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\read -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
corpus/m6/native-origin-controls-01/format-differences.json created+1
...@@ -0,0 +1 @@
1[]
\ No newline at end of file
corpus/m6/native-origin-controls-01/geometry-differences.json created+1
...@@ -0,0 +1 @@
1[]
\ No newline at end of file
corpus/m6/native-origin-controls-01/health.json created+9
...@@ -0,0 +1,9 @@
1{
2 "ok": true,
3 "w": 800,
4 "h": 600,
5 "hostname": "ONE-M6-F3B0587A",
6 "ahk": "C:\\win7-agent\\vendor\\ahk\\AutoHotkey64.exe",
7 "python": "C:\\win7-agent\\vendor\\python\\python.exe",
8 "agent_sha256": "ef7ca89be026695cf4412460a2eec308b0ed253fb9245597a7fe5d6938e49f89"
9}
corpus/m6/native-origin-controls-01/input/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/m6/native-origin-controls-01/input/notebook/Open Notebook.onetoc2 differ
corpus/m6/native-origin-controls-01/input/notebook/synthetic.one created
Binary files /dev/null and b/corpus/m6/native-origin-controls-01/input/notebook/synthetic.one differ
corpus/m6/native-origin-controls-01/input/operations.json created+18
...@@ -0,0 +1,18 @@
1{
2 "source": "corpus/native-ink/cold-ui-ink/notebook/synthetic.one",
3 "source_sha256": "1326c475cc3a9f412ff4d072cf515c1482b3b9e07798921e582767b064401947",
4 "space": "{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1",
5 "page": "{273DB6C4-A230-0679-389F-9DB750E092E4},12",
6 "steps": [
7 {
8 "property": "0x14001d0f",
9 "old": "0000803f",
10 "new": "00004040"
11 },
12 {
13 "property": "0x14001d10",
14 "old": "cdcccc3e",
15 "new": "000080bf"
16 }
17 ]
18}
\ No newline at end of file
corpus/m6/native-origin-controls-01/input/x.one created
Binary files /dev/null and b/corpus/m6/native-origin-controls-01/input/x.one differ
corpus/m6/native-origin-controls-01/machine.json created+1
...@@ -0,0 +1 @@
1{"name": "m6-f3b0587a", "hostname": "ONE-M6-F3B0587A"}
corpus/m6/native-origin-controls-01/origin-observations.json created+114
...@@ -0,0 +1,114 @@
1[
2 {
3 "kind": "Outline",
4 "z": "0",
5 "axis": "x",
6 "stored": 36.0,
7 "projected": -36.0,
8 "native": -36.0
9 },
10 {
11 "kind": "Outline",
12 "z": "0",
13 "axis": "y",
14 "stored": 14.400001,
15 "projected": 64.80000100000001,
16 "native": 64.79999542236328
17 },
18 {
19 "kind": "Ink",
20 "z": "5",
21 "axis": "x",
22 "stored": 0.0,
23 "projected": -72.0,
24 "native": 349.5118103027344
25 },
26 {
27 "kind": "Ink",
28 "z": "5",
29 "axis": "y",
30 "stored": 0.0,
31 "projected": 50.4,
32 "native": 135.1558990478516
33 },
34 {
35 "kind": "Ink",
36 "z": "7",
37 "axis": "x",
38 "stored": 0.0,
39 "projected": -72.0,
40 "native": 432.0
41 },
42 {
43 "kind": "Ink",
44 "z": "7",
45 "axis": "y",
46 "stored": 0.0,
47 "projected": 50.4,
48 "native": 142.6393585205078
49 },
50 {
51 "kind": "Outline",
52 "z": "1",
53 "axis": "x",
54 "stored": 144.0,
55 "projected": 72.0,
56 "native": 72.0
57 },
58 {
59 "kind": "Outline",
60 "z": "1",
61 "axis": "y",
62 "stored": 96.0,
63 "projected": 146.4,
64 "native": 146.3999938964844
65 },
66 {
67 "kind": "Outline",
68 "z": "2",
69 "axis": "x",
70 "stored": 144.0,
71 "projected": 72.0,
72 "native": 72.0
73 },
74 {
75 "kind": "Outline",
76 "z": "2",
77 "axis": "y",
78 "stored": 192.0,
79 "projected": 242.4,
80 "native": 242.4000091552734
81 },
82 {
83 "kind": "Outline",
84 "z": "3",
85 "axis": "x",
86 "stored": 264.0,
87 "projected": 192.0,
88 "native": 192.0
89 },
90 {
91 "kind": "Outline",
92 "z": "3",
93 "axis": "y",
94 "stored": 192.0,
95 "projected": 242.4,
96 "native": 242.4000091552734
97 },
98 {
99 "kind": "Outline",
100 "z": "4",
101 "axis": "x",
102 "stored": 144.0,
103 "projected": 72.0,
104 "native": 72.0
105 },
106 {
107 "kind": "Outline",
108 "z": "4",
109 "axis": "y",
110 "stored": 312.0,
111 "projected": 362.4,
112 "native": 362.3999938964844
113 }
114]
\ No newline at end of file
corpus/m6/native-origin-controls-01/pdf-format-checks.json created+1
...@@ -0,0 +1 @@
1[]
\ No newline at end of file
corpus/m6/native-origin-controls-01/read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment created+1
...@@ -0,0 +1 @@
1Fictitious attachment for native corpus.
\ No newline at end of file
corpus/m6/native-origin-controls-01/read/environment.json created+7
...@@ -0,0 +1,7 @@
1{
2 "powershell": "5.1.14409.1005",
3 "schema": "xs2010",
4 "hostname": "ONE-M6-F3B0587A",
5 "cold": true,
6 "onenote": "14.0.4763.1000"
7}
corpus/m6/native-origin-controls-01/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{586D8CC0-1759-4BCE-85AE-040C18FE5731}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-06T04:39:54.000Z" color="#9595AA" isCurrentlyViewed="true"><one:Section name="synthetic" ID="{92DF6C78-E9B1-070B-2AEB-C59B9B6F8321}{1}{B0}" path="C:\one-tests\runs\capture\notebook\synthetic.one" lastModifiedTime="2026-09-06T04:39:54.000Z" color="#8AA8E4" isCurrentlyViewed="true"><one:Page ID="{BE969FFE-607A-441A-AD8C-6D0A67579F3E}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isCurrentlyViewed="true"/></one:Section></one:Notebook>
corpus/m6/native-origin-controls-01/read/page-000.pdf created
Binary files /dev/null and b/corpus/m6/native-origin-controls-01/read/page-000.pdf differ
corpus/m6/native-origin-controls-01/read/page-000.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{BE969FFE-607A-441A-AD8C-6D0A67579F3E}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D95A3742-2B0F-47AC-A27E-E1D198CB7A5F}{10}{B0}"><one:Position x="-36.0" y="64.79999542236328" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D95A3742-2B0F-47AC-A27E-E1D198CB7A5F}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{FBB71BD0-73E7-491F-BFE6-4359584B178B}{15}{B0}"><one:Position x="349.5118103027344" y="135.1558990478516" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{FBB71BD0-73E7-491F-BFE6-4359584B178B}{23}{B0}"><one:Position x="432.0" y="142.6393585205078" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{8FEAEB57-985A-4DF1-B8C8-63593CC79E16}{10}{B0}"><one:Position x="72.0" y="146.3999938964844" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{8FEAEB57-985A-4DF1-B8C8-63593CC79E16}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{B2C383D8-7EC0-445F-8EB8-C8ADD0AAD698}{10}{B0}"><one:Position x="72.0" y="242.4000091552734" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{B2C383D8-7EC0-445F-8EB8-C8ADD0AAD698}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{37D99BB8-B8B8-4799-AB15-AF53E47B19AB}{10}{B0}"><one:Position x="192.0" y="242.4000091552734" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{37D99BB8-B8B8-4799-AB15-AF53E47B19AB}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{1906E2E8-D928-4C19-B41D-4D06CC28E2ED}{10}{B0}"><one:Position x="72.0" y="362.3999938964844" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{1906E2E8-D928-4C19-B41D-4D06CC28E2ED}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{1906E2E8-D928-4C19-B41D-4D06CC28E2ED}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{1906E2E8-D928-4C19-B41D-4D06CC28E2ED}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{1906E2E8-D928-4C19-B41D-4D06CC28E2ED}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{1906E2E8-D928-4C19-B41D-4D06CC28E2ED}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{1906E2E8-D928-4C19-B41D-4D06CC28E2ED}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{1906E2E8-D928-4C19-B41D-4D06CC28E2ED}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-origin-controls-01/read/payloads.json created+10
...@@ -0,0 +1,10 @@
1[
2 {
3 "sha256": "af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7",
4 "name": "fictitious-attachment.txt",
5 "object": "{37D99BB8-B8B8-4799-AB15-AF53E47B19AB}{11}{B0}",
6 "kind": "InsertedFile",
7 "page": "{BE969FFE-607A-441A-AD8C-6D0A67579F3E}{1}{B0}",
8 "bytes": 43
9 }
10]
\ No newline at end of file
corpus/m6/native-origin-controls-01/run.json created+17
...@@ -0,0 +1,17 @@
1{
2 "notebook": "/Users/clo/dev/one/evidence/m6/origin-controls-input/notebook",
3 "expected_pages": 1,
4 "author": null,
5 "author_timeout_seconds": 600,
6 "inspect": false,
7 "base": {
8 "file": "win7-office-base.qcow2",
9 "format": "qcow2",
10 "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346",
11 "virtual_size": 68719476736
12 },
13 "scripts": {
14 "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
15 "read.ps1": "086789e467779add0fc071ad8c524c2b02d3d0d609aea4a41f3128cadba371e8"
16 }
17}
corpus/m6/native-origin-controls-01/scripts/cold.ps1 created+27
...@@ -0,0 +1,27 @@
1param([Parameter(Mandatory=$true)][string]$Root, [string]$CloneHost = '')
2Set-StrictMode -Version Latest
3$ErrorActionPreference = 'Stop'
4$root = [IO.Path]::GetFullPath($Root).TrimEnd('\')
5if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') {
6 throw 'Choose a run directly below C:\one-tests\runs.'
7}
8if (Get-Process ONENOTE -ErrorAction SilentlyContinue) { throw 'Close OneNote before resetting its test cache.' }
9$key = 'HKCU:\Software\Microsoft\Office\14.0\OneNote'
10if ($CloneHost) {
11 if ($CloneHost -notmatch '^ONE-[A-Z0-9-]+$' -or [Environment]::MachineName -ne $CloneHost) {
12 throw 'The disposable clone hostname does not match this machine.'
13 }
14 New-Item "$key\Options\Paths" -Force | Out-Null
15 New-ItemProperty "$key\Options\Paths" -Name UnfiledNotesSection -PropertyType ExpandString -Value 'C:\one-tests\Loose.one' -Force | Out-Null
16} elseif ((Get-ItemProperty "$key\Options\Paths").UnfiledNotesSection -ne 'C:\one-tests\Loose.one' -or
17 -not (Test-Path 'C:\one-tests\profile-original-cache')) {
18 throw 'Park the personal OneNote profile before resetting the test cache.'
19}
20$cache = Join-Path $env:LOCALAPPDATA 'Microsoft\OneNote\14.0'
21$parked = Join-Path 'C:\one-tests\caches' ([IO.Path]::GetFileName($root))
22if (Test-Path $parked) { throw 'Choose a new run; its parked cache already exists.' }
23New-Item -ItemType Directory -Path 'C:\one-tests\caches' -Force | Out-Null
24if (Test-Path $cache) { Move-Item -LiteralPath $cache -Destination $parked }
25if (Test-Path "$key\OpenNotebooks") { Remove-Item "$key\OpenNotebooks" -Recurse }
26New-Item "$key\OpenNotebooks" | Out-Null
27New-ItemProperty "$key\OpenNotebooks" -Name '1' -PropertyType String -Value "$root\notebook" | Out-Null
corpus/m6/native-origin-controls-01/scripts/read.ps1 created+139
...@@ -0,0 +1,139 @@
1param(
2 [Parameter(Mandatory=$true)][string]$Root,
3 [int]$ExpectedPages = -1,
4 [switch]$UseCurrentCache,
5 [switch]$Pdf,
6 [switch]$KeepOpen,
7 [string]$CloneHost = ''
8)
9Set-StrictMode -Version Latest
10$ErrorActionPreference = 'Stop'
11$root = [IO.Path]::GetFullPath($Root).TrimEnd('\')
12if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') {
13 throw 'Choose a run directly below C:\one-tests\runs.'
14}
15$notebook = Join-Path $root 'notebook'
16$output = Join-Path $root 'read'
17if (Test-Path $output) { throw 'Choose a new read destination.' }
18if ($UseCurrentCache) {
19 if ((Get-ItemProperty 'HKCU:\Software\Microsoft\Office\14.0\OneNote\Options\Paths').UnfiledNotesSection -ne 'C:\one-tests\Loose.one') {
20 throw 'Park the personal OneNote profile before reading test notebooks.'
21 }
22} else {
23 & "$PSScriptRoot\cold-current.ps1" -Root $root -CloneHost $CloneHost
24}
25New-Item -ItemType Directory -Path $output | Out-Null
26$app = New-Object -ComObject OneNote.Application
27$notebookId = ''
28$failure = $null
29try {
30 $app.OpenHierarchy($notebook, '', [ref]$notebookId, 0)
31 $process = Get-Process ONENOTE
32 @{ hostname = [Environment]::MachineName; onenote = $process.MainModule.FileVersionInfo.FileVersion;
33 powershell = $PSVersionTable.PSVersion.ToString(); schema = 'xs2010'; cold = (-not $UseCurrentCache.IsPresent) } |
34 ConvertTo-Json | Set-Content (Join-Path $output 'environment.json') -Encoding UTF8
35 $sections = @()
36 foreach ($file in @(Get-ChildItem $notebook -Recurse | Where-Object { $_.Extension -eq '.one' })) {
37 $id = ''
38 $app.OpenHierarchy($file.FullName, '', [ref]$id, 0)
39 $sections += $id
40 }
41 $deadline = [DateTime]::UtcNow.AddSeconds(300)
42 $previous = ''
43 $stableSince = [DateTime]::UtcNow
44 $settled = $false
45 do {
46 $pages = @{}
47 foreach ($section in $sections) {
48 $hierarchy = ''
49 $app.GetHierarchy($section, 4, [ref]$hierarchy, 1)
50 [xml]$xml = $hierarchy
51 foreach ($node in $xml.SelectNodes('//*[@path]')) {
52 if (-not $node.GetAttribute('path').StartsWith("$notebook\", [StringComparison]::OrdinalIgnoreCase)) {
53 throw 'OneNote opened a section outside the copied notebook.'
54 }
55 }
56 foreach ($node in $xml.SelectNodes('//*[local-name()="Page"]')) {
57 $id = $node.GetAttribute('ID')
58 $content = ''
59 $app.GetPageContent($id, [ref]$content, 1, 1)
60 $pages[$id] = $content
61 }
62 }
63 $signature = [String]::Join('|', @($pages.Keys | Sort-Object | ForEach-Object { $_ + $pages[$_] }))
64 if ($signature -ne $previous) {
65 $previous = $signature
66 $stableSince = [DateTime]::UtcNow
67 }
68 if ((($ExpectedPages -ge 0 -and $pages.Count -eq $ExpectedPages) -or
69 ($ExpectedPages -lt 0 -and $pages.Count -gt 0)) -and
70 ([DateTime]::UtcNow - $stableSince).TotalSeconds -ge 2) { $settled = $true; break }
71 Start-Sleep -Milliseconds 250
72 } while ([DateTime]::UtcNow -lt $deadline)
73 if (-not $settled -or ($ExpectedPages -ge 0 -and $pages.Count -ne $ExpectedPages) -or ($ExpectedPages -lt 0 -and $pages.Count -eq 0)) {
74 $index = 0
75 foreach ($id in @($pages.Keys | Sort-Object)) {
76 [IO.File]::WriteAllText((Join-Path $output ('unsettled-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8)
77 $index++
78 }
79 $hierarchy = ''
80 $app.GetHierarchy($notebookId, 4, [ref]$hierarchy, 1)
81 [IO.File]::WriteAllText((Join-Path $output 'unsettled-hierarchy.xml'), $hierarchy, [Text.Encoding]::UTF8)
82 throw "Expected $ExpectedPages pages; OneNote returned $($pages.Count)."
83 }
84 $index = 0
85 $payloads = @()
86 foreach ($id in @($pages.Keys | Sort-Object)) {
87 [IO.File]::WriteAllText((Join-Path $output ('page-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8)
88 if ($Pdf) {
89 $pdfPath = Join-Path $output ('page-{0:d3}.pdf' -f $index)
90 $app.NavigateTo($id, '', $false)
91 $app.Publish($id, $pdfPath, 3, '')
92 if (-not (Test-Path $pdfPath) -or (Get-Item $pdfPath).Length -eq 0) { throw 'OneNote did not publish the page PDF.' }
93 }
94 [xml]$page = $pages[$id]
95 foreach ($file in $page.SelectNodes('//*[local-name()="InsertedFile" or local-name()="MediaFile"]')) {
96 $bytes = [IO.File]::ReadAllBytes($file.GetAttribute('pathCache'))
97 $hash = [BitConverter]::ToString([Security.Cryptography.SHA256]::Create().ComputeHash($bytes)).Replace('-', '').ToLowerInvariant()
98 [IO.File]::WriteAllBytes((Join-Path $output ($hash + '.attachment')), $bytes)
99 $payloads += @{ page = $id; object = $file.ParentNode.GetAttribute('objectID');
100 kind = $file.LocalName; name = $file.GetAttribute('preferredName');
101 sha256 = $hash; bytes = $bytes.Length }
102 }
103 $index++
104 }
105 [IO.File]::WriteAllText((Join-Path $output 'payloads.json'), (ConvertTo-Json -InputObject $payloads -Depth 4), [Text.Encoding]::UTF8)
106 $all = ''
107 $app.GetHierarchy($notebookId, 4, [ref]$all, 1)
108 [xml]$finalTree = $all
109 $finalIds = @($finalTree.SelectNodes('//*[local-name()="Page"]') | ForEach-Object { $_.GetAttribute('ID') } | Sort-Object -Unique)
110 if ($finalIds.Count -ne $pages.Count -or @($finalIds | Where-Object { -not $pages.ContainsKey($_) }).Count -ne 0) {
111 throw 'The notebook hierarchy changed while collecting page evidence; repeat the cold read.'
112 }
113 [IO.File]::WriteAllText((Join-Path $output 'hierarchy.xml'), $all, [Text.Encoding]::UTF8)
114 Write-Output "Read $($sections.Count) sections and $($pages.Count) pages."
115} catch {
116 $failure = $_
117 [IO.File]::WriteAllText((Join-Path $output 'failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8)
118 throw
119} finally {
120 try {
121 try {
122 if ($notebookId -and $CloneHost) { $app.SyncHierarchy($notebookId) }
123 if ($notebookId -and -not $KeepOpen -and (-not $UseCurrentCache -or $CloneHost)) {
124 $app.CloseNotebook($notebookId, $false)
125 }
126 } catch {
127 if ($null -eq $failure) { throw }
128 [IO.File]::WriteAllText((Join-Path $output 'cleanup-failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8)
129 }
130 } finally {
131 [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
132 }
133 $app = $null
134 [GC]::Collect()
135 [GC]::WaitForPendingFinalizers()
136 if (-not $UseCurrentCache -and -not $CloneHost) {
137 Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10
138 }
139}
corpus/m6/native-origin-controls-01/source.json created+14
...@@ -0,0 +1,14 @@
1[
2 {
3 "path": "Open Notebook.onetoc2",
4 "bytes": 4944,
5 "sha256": "36274ad5cc077c6b1ad51ee4c4b90d3b6798a45ce446cbfd7c9d7ac504776b28",
6 "mtime_ns": 1788669502375289236
7 },
8 {
9 "path": "synthetic.one",
10 "bytes": 29264,
11 "sha256": "5403b858894d45969d1d28b0ae5747ad5e1bbc403fc5a7f859117475ceb2a77f",
12 "mtime_ns": 1788669502370041037
13 }
14]
corpus/m6/native-origin-controls-01/teardown.json created+1
...@@ -0,0 +1 @@
1{"absent": true}
corpus/m6/native-page-direction-03/ORACLE.md created+17
...@@ -0,0 +1,17 @@
1# Native right-to-left page control
2
3`scripts/author.ps1` changes PageSettings RTL to true and locks the existing
4table columns to 96 and 144 points through OneNote COM. `before.xml`, `after.xml`
5and `read/page-000.xml` retain the native observations. The saved store uses
6visual left-to-right column order [Right cell, Left cell], with widths [144, 96].
7COM exports cells in page direction [Left cell, Right cell], with widths [96, 144].
8The native PDF independently confirms the physical cell order. Default outline alignment anchors the right edge:
9store x + LayoutMaxWidth - PageMarginOriginX - 36 equals native x + native width.
10The native table outline measures wider than its stored suggested maximum width.
11Vertical coordinates retain the 14.4-point canonical origin.
12
13The public fixture includes images, a file and two opaque ink objects. All
14supported text, object order, payloads, formats and coordinates pass
15`tools/verify-document.py`. Ink stroke bounds remain distinct from the stored
16container position; the comparator checks ink count and excludes stroke geometry.
17`teardown.json` records deletion of the authoring clone.
corpus/m6/native-page-direction-03/after.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{60E7FA13-E94C-42DA-AF14-6DC4527F7F88}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="true" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{072B52AF-A239-416C-A0E6-E11FADE39AE9}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.513916015625" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{072B52AF-A239-416C-A0E6-E11FADE39AE9}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing inkOriginX="0.01318359375" lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{25C67E3D-FAD1-4FDF-BD7E-43976D63F73D}{15}{B0}"><one:Position x="421.51025390625" y="84.75590515136718" z="5"/><one:Size width="60.009521484375" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing inkOriginX="0.0494384765625" lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{25C67E3D-FAD1-4FDF-BD7E-43976D63F73D}{23}{B0}"><one:Position x="503.997802734375" y="92.23936462402343" z="6"/><one:Size width="30.01904296875" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{519B8EBA-116C-4B31-BA50-639709EF7EA0}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.044921875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T04:58:23.000Z" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{519B8EBA-116C-4B31-BA50-639709EF7EA0}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{E9A8FE55-318E-4159-A98D-AF9DD153F91D}{10}{B0}"><one:Position x="264.0003662109375" y="192.0" z="3"/><one:Size width="72.0" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{E9A8FE55-318E-4159-A98D-AF9DD153F91D}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{6CB2E635-F7F6-429F-8C20-C863E582362E}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{6CB2E635-F7F6-429F-8C20-C863E582362E}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{C7778705-501E-4AD9-B685-4DC8F900025B}{10}{B0}"><one:Position x="-236.94873046875" y="312.0" z="4"/><one:Size width="253.4996337890625" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-06T04:58:23.000Z" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{B58ED44C-77F1-46F3-BF2F-B82ABF3F037F}{48}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{B58ED44C-77F1-46F3-BF2F-B82ABF3F037F}{49}{B0}"><one:Columns><one:Column index="0" width="96.0" isLocked="true"/><one:Column index="1" width="144.0" isLocked="true"/></one:Columns><one:Row objectID="{B58ED44C-77F1-46F3-BF2F-B82ABF3F037F}{50}{B0}" lastModifiedTime="2026-09-06T04:58:23.000Z"><one:Cell lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{B58ED44C-77F1-46F3-BF2F-B82ABF3F037F}{51}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T04:58:23.000Z" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{C7778705-501E-4AD9-B685-4DC8F900025B}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{B58ED44C-77F1-46F3-BF2F-B82ABF3F037F}{58}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T04:58:23.000Z" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{C7778705-501E-4AD9-B685-4DC8F900025B}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-page-direction-03/agent.py created+439
...@@ -0,0 +1,439 @@
1import base64
2import ctypes
3import hashlib
4import json
5import os
6import struct
7import subprocess
8import sys
9import tempfile
10import threading
11import time
12import zlib
13from ctypes import wintypes
14from http.server import ThreadingHTTPServer, BaseHTTPRequestHandler
15
16BASE = os.path.dirname(os.path.abspath(__file__))
17with open(__file__, 'rb') as source:
18 AGENT_SHA256 = hashlib.sha256(source.read()).hexdigest()
19LOCK = threading.Lock()
20
21user32 = ctypes.windll.user32
22gdi32 = ctypes.windll.gdi32
23
24SRCCOPY = 0x00CC0020
25CAPTUREBLT = 0x40000000
26BI_RGB = 0
27DIB_RGB_COLORS = 0
28
29# restype must be set on x64: the default c_int return truncates a 64-bit HANDLE.
30user32.GetDC.restype = wintypes.HDC
31user32.GetDC.argtypes = [wintypes.HWND]
32user32.ReleaseDC.restype = ctypes.c_int
33user32.ReleaseDC.argtypes = [wintypes.HWND, wintypes.HDC]
34user32.GetSystemMetrics.restype = ctypes.c_int
35user32.GetSystemMetrics.argtypes = [ctypes.c_int]
36gdi32.CreateCompatibleDC.restype = wintypes.HDC
37gdi32.CreateCompatibleDC.argtypes = [wintypes.HDC]
38gdi32.CreateCompatibleBitmap.restype = wintypes.HBITMAP
39gdi32.CreateCompatibleBitmap.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int]
40gdi32.SelectObject.restype = wintypes.HGDIOBJ
41gdi32.SelectObject.argtypes = [wintypes.HDC, wintypes.HGDIOBJ]
42gdi32.BitBlt.restype = wintypes.BOOL
43gdi32.BitBlt.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int, ctypes.c_int,
44 ctypes.c_int, wintypes.HDC, ctypes.c_int, ctypes.c_int,
45 wintypes.DWORD]
46gdi32.GetDIBits.restype = ctypes.c_int
47gdi32.GetDIBits.argtypes = [wintypes.HDC, wintypes.HBITMAP, wintypes.UINT,
48 wintypes.UINT, ctypes.c_void_p, ctypes.c_void_p,
49 wintypes.UINT]
50gdi32.DeleteObject.restype = wintypes.BOOL
51gdi32.DeleteObject.argtypes = [wintypes.HGDIOBJ]
52gdi32.DeleteDC.restype = wintypes.BOOL
53gdi32.DeleteDC.argtypes = [wintypes.HDC]
54
55WNDENUMPROC = ctypes.WINFUNCTYPE(wintypes.BOOL, wintypes.HWND, wintypes.LPARAM)
56user32.GetForegroundWindow.restype = wintypes.HWND
57user32.GetForegroundWindow.argtypes = []
58user32.GetWindowTextW.restype = ctypes.c_int
59user32.GetWindowTextW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int]
60user32.GetClassNameW.restype = ctypes.c_int
61user32.GetClassNameW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int]
62user32.GetClientRect.restype = wintypes.BOOL
63user32.GetClientRect.argtypes = [wintypes.HWND, ctypes.POINTER(wintypes.RECT)]
64user32.EnumChildWindows.restype = wintypes.BOOL
65user32.EnumChildWindows.argtypes = [wintypes.HWND, WNDENUMPROC, wintypes.LPARAM]
66
67
68class BITMAPINFOHEADER(ctypes.Structure):
69 _fields_ = [("biSize", wintypes.DWORD),
70 ("biWidth", wintypes.LONG),
71 ("biHeight", wintypes.LONG),
72 ("biPlanes", wintypes.WORD),
73 ("biBitCount", wintypes.WORD),
74 ("biCompression", wintypes.DWORD),
75 ("biSizeImage", wintypes.DWORD),
76 ("biXPelsPerMeter", wintypes.LONG),
77 ("biYPelsPerMeter", wintypes.LONG),
78 ("biClrUsed", wintypes.DWORD),
79 ("biClrImportant", wintypes.DWORD)]
80
81
82PREAMBLE = (
83 "#Requires AutoHotkey v2.0\n"
84 "#SingleInstance Off\n"
85 "#Warn All, Off\n"
86 'FileEncoding "UTF-8-RAW"\n'
87 'SendMode "Input"\n'
88 "SetWorkingDir A_ScriptDir\n"
89 'CoordMode "Mouse", "Screen"\n'
90 'CoordMode "Pixel", "Screen"\n'
91 'CoordMode "ToolTip", "Screen"\n'
92 "SetTitleMatchMode 2\n"
93 "DetectHiddenWindows true\n"
94)
95
96
97def ahk_path():
98 u64 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey64.exe")
99 u32 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey32.exe")
100 return u64 if os.path.exists(u64) else u32
101
102
103def _chunk(tag, data):
104 return (struct.pack(">I", len(data)) + tag + data +
105 struct.pack(">I", zlib.crc32(tag + data) & 0xffffffff))
106
107
108def _to_png(bgra, w, h):
109 arr = bytearray(bgra)
110 r = arr[2::4]
111 arr[2::4] = arr[0::4]
112 arr[0::4] = r
113 del arr[3::4]
114 stride = w * 3
115 mv = memoryview(arr)
116 raw = bytearray()
117 for y in range(h):
118 raw.append(0)
119 raw += mv[y * stride:(y + 1) * stride]
120 ihdr = struct.pack(">IIBBBBB", w, h, 8, 2, 0, 0, 0)
121 return (b"\x89PNG\r\n\x1a\n" + _chunk(b"IHDR", ihdr) +
122 _chunk(b"IDAT", zlib.compress(bytes(raw))) + _chunk(b"IEND", b""))
123
124
125def capture():
126 w = user32.GetSystemMetrics(0)
127 h = user32.GetSystemMetrics(1)
128 hdc = user32.GetDC(None)
129 mem = None
130 hbm = None
131 try:
132 mem = gdi32.CreateCompatibleDC(hdc)
133 hbm = gdi32.CreateCompatibleBitmap(hdc, w, h)
134 old = gdi32.SelectObject(mem, hbm)
135 gdi32.BitBlt(mem, 0, 0, w, h, hdc, 0, 0, SRCCOPY | CAPTUREBLT)
136 gdi32.SelectObject(mem, old)
137 bmi = BITMAPINFOHEADER()
138 bmi.biSize = ctypes.sizeof(BITMAPINFOHEADER)
139 bmi.biWidth = w
140 bmi.biHeight = -h # negative => top-down rows, matches screenshot orientation
141 bmi.biPlanes = 1
142 bmi.biBitCount = 32
143 bmi.biCompression = BI_RGB
144 buf = ctypes.create_string_buffer(w * h * 4)
145 if gdi32.GetDIBits(mem, hbm, 0, h, buf, ctypes.byref(bmi),
146 DIB_RGB_COLORS) == 0:
147 raise RuntimeError("GetDIBits failed")
148 data = buf.raw
149 finally:
150 if hbm:
151 gdi32.DeleteObject(hbm)
152 if mem:
153 gdi32.DeleteDC(mem)
154 user32.ReleaseDC(None, hdc)
155 return _to_png(data, w, h), w, h
156
157
158def _win_text(fn, hwnd, n=512):
159 buf = ctypes.create_unicode_buffer(n)
160 fn(hwnd, buf, n)
161 return buf.value
162
163
164def active_window():
165 hwnd = user32.GetForegroundWindow()
166 if not hwnd:
167 return {"title": "", "class": "", "dialog": False}
168 cls = _win_text(user32.GetClassNameW, hwnd)
169 return {"title": _win_text(user32.GetWindowTextW, hwnd),
170 "class": cls, "dialog": cls == "#32770"}
171
172
173def control_tree():
174 hwnd = user32.GetForegroundWindow()
175 rows = []
176
177 def add(h):
178 rect = wintypes.RECT()
179 user32.GetClientRect(h, ctypes.byref(rect))
180 rows.append((_win_text(user32.GetClassNameW, h),
181 _win_text(user32.GetWindowTextW, h),
182 rect.left, rect.top,
183 rect.right - rect.left, rect.bottom - rect.top))
184
185 if hwnd:
186 add(hwnd)
187
188 def cb(child, _lparam):
189 add(child)
190 return True
191 user32.EnumChildWindows(hwnd, WNDENUMPROC(cb), 0)
192 lines = ["%-24s %-28s %s" % ("class", "text", "l,t,w,h")]
193 for cls, text, l, t, w, h in rows:
194 lines.append("%-24s %-28s %d,%d,%d,%d" % (cls, text, l, t, w, h))
195 return "\n".join(lines)
196
197
198def _run(argv, timeout_ms, encoding, on_timeout=None):
199 def dec(b):
200 return b.decode(encoding, "replace") if b else ""
201
202 p = subprocess.Popen(argv, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
203 try:
204 out, err = p.communicate(timeout=timeout_ms / 1000.0)
205 return p.returncode, dec(out), dec(err), None
206 except subprocess.TimeoutExpired:
207 if on_timeout:
208 on_timeout()
209 subprocess.call(["taskkill", "/F", "/T", "/PID", str(p.pid)])
210 try:
211 # A process the script launched can outlive taskkill still holding the
212 # inherited stdout pipe; an unbounded wait here wedges the agent's lock.
213 out, err = p.communicate(timeout=5)
214 except subprocess.TimeoutExpired:
215 out = err = b""
216 for pipe in (p.stdout, p.stderr):
217 if pipe:
218 pipe.close()
219 msg = "timed out after %d ms, process killed" % timeout_ms
220 return None, dec(out), dec(err), msg
221
222
223def run_ahk(script, timeout_ms, on_timeout=None):
224 fd, path = tempfile.mkstemp(suffix=".ahk")
225 os.close(fd)
226 # AutoHotkey (Unicode-only) needs a UTF-8 BOM to read the file as UTF-8.
227 with open(path, "wb") as f:
228 f.write(b"\xef\xbb\xbf" + (PREAMBLE + script).encode("utf-8"))
229 try:
230 # /ErrorStdOut sends syntax errors to stderr instead of a blocking modal.
231 code, out, err, error = _run([ahk_path(), "/ErrorStdOut", path], timeout_ms,
232 "utf-8", on_timeout)
233 finally:
234 os.remove(path)
235 if error:
236 error = "script " + error
237 return code, out, err, error
238
239
240def _safe_capture(error):
241 try:
242 png, w, h = capture()
243 return base64.b64encode(png).decode("ascii"), w, h, error
244 except Exception as e:
245 note = "screenshot failed: " + repr(e)
246 return "", 0, 0, (error + "; " + note if error else note)
247
248
249LOG_PATH = os.path.join(BASE, "agent.log")
250LOG_LOCK = threading.Lock()
251
252
253def log(text, stamp=True):
254 """Console and agent.log, so a session can be reconstructed after the fact."""
255 line = time.strftime("%Y-%m-%d %H:%M:%S ") + text if stamp else text
256 with LOG_LOCK:
257 print(line, end="" if line.endswith("\n") else "\n", flush=True)
258 try:
259 with open(LOG_PATH, "a", encoding="utf-8") as f:
260 f.write(line if line.endswith("\n") else line + "\n")
261 except OSError:
262 pass # a log that cannot be written must not take the agent down
263
264
265class Handler(BaseHTTPRequestHandler):
266 def log_message(self, *a):
267 pass
268
269 def _send(self, code, obj):
270 body = json.dumps(obj).encode("utf-8")
271 self.send_response(code)
272 self.send_header("Content-Type", "application/json")
273 self.send_header("Content-Length", str(len(body)))
274 self.end_headers()
275 self.wfile.write(body)
276
277 def _log(self, start, code, body=None):
278 log("%s %s %dms exit=%s" % (self.command, self.path,
279 int((time.time() - start) * 1000), code))
280 if body:
281 log("".join(" | %s\n" % l for l in body.splitlines()), stamp=False)
282
283 def _auth_ok(self):
284 token = os.environ.get("WIN7_TOKEN")
285 return not token or self.headers.get("X-Win7-Token") == token
286
287 def _body(self):
288 n = int(self.headers.get("Content-Length") or 0)
289 raw = self.rfile.read(n) if n else b""
290 return json.loads(raw.decode("utf-8")) if raw else {}
291
292 def do_GET(self):
293 start = time.time()
294 if not self._auth_ok():
295 self._send(401, {"error": "bad token"})
296 elif self.path == "/health":
297 self._send(200, {"ok": True, "w": user32.GetSystemMetrics(0),
298 "h": user32.GetSystemMetrics(1),
299 "hostname": os.environ.get("COMPUTERNAME", ""),
300 "ahk": ahk_path(), "python": sys.executable,
301 "agent_sha256": AGENT_SHA256})
302 else:
303 self._send(404, {"error": "not found"})
304 self._log(start, None)
305
306 def do_POST(self):
307 start = time.time()
308 code = None
309 if not self._auth_ok():
310 self._send(401, {"error": "bad token"})
311 self._log(start, None)
312 return
313 try:
314 data = self._body()
315 except Exception:
316 self._send(400, {"error": "bad json"})
317 self._log(start, None)
318 return
319 body = {"/exec": data.get("script"), "/cmd": data.get("command"),
320 "/spawn": data.get("command"),
321 "/put": data.get("path"), "/get": data.get("path")}.get(self.path)
322 try:
323 if self.path == "/exec":
324 resp = self._exec(data)
325 code = resp["exit"]
326 elif self.path == "/cmd":
327 resp = self._cmd(data)
328 code = resp["exit"]
329 elif self.path == "/spawn":
330 resp = self._spawn(data)
331 code = 0
332 elif self.path == "/put":
333 resp = self._put(data)
334 elif self.path == "/get":
335 resp = self._get(data)
336 elif self.path == "/shot":
337 resp = self._shot()
338 elif self.path == "/ui":
339 resp = self._ui()
340 else:
341 self._send(404, {"error": "not found"})
342 self._log(start, None)
343 return
344 self._send(200, resp)
345 except Exception as e:
346 self._send(200, {"error": repr(e), "exit": None, "stdout": "",
347 "stderr": "", "png_b64": "", "w": 0, "h": 0})
348 self._log(start, code, body)
349
350 def _exec(self, data):
351 pre = []
352
353 def grab(): # capture before taskkill so the blocker is still on screen
354 pre.append((_safe_capture(None), active_window()))
355
356 with LOCK:
357 code, out, err, error = run_ahk(data.get("script", ""),
358 data.get("timeout_ms", 60000), grab)
359 if pre:
360 (b64, w, h, note), win = pre[0]
361 else:
362 time.sleep(data.get("shot_delay_ms", 500) / 1000.0)
363 b64, w, h, note = _safe_capture(None)
364 win = active_window()
365 if note:
366 error = error + "; " + note if error else note
367 return {"exit": code, "stdout": out, "stderr": err, "png_b64": b64,
368 "w": w, "h": h, "error": error, "win": win}
369
370 def _put(self, data):
371 path = data.get("path", "")
372 blob = base64.b64decode(data.get("b64", ""))
373 parent = os.path.dirname(path)
374 if parent and not os.path.isdir(parent):
375 os.makedirs(parent)
376 with open(path, "wb") as f:
377 f.write(blob)
378 return {"bytes": len(blob), "path": os.path.abspath(path), "error": None}
379
380 def _get(self, data):
381 with open(data.get("path", ""), "rb") as f:
382 blob = f.read()
383 return {"b64": base64.b64encode(blob).decode("ascii"), "bytes": len(blob),
384 "error": None}
385
386 def _cmd(self, data):
387 with LOCK:
388 # A raw command-line string, not a list: on Windows list2cmdline would
389 # backslash-escape the embedded quotes before cmd.exe ever sees them.
390 code, out, err, error = _run("cmd.exe /c " + data.get("command", ""),
391 data.get("timeout_ms", 60000), "oem")
392 return {"exit": code, "stdout": out, "stderr": err, "error": error}
393
394 def _spawn(self, data):
395 flags = subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS
396 process = subprocess.Popen(data.get("command", ""), stdin=subprocess.DEVNULL,
397 stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL,
398 close_fds=True, creationflags=flags)
399 return {"pid": process.pid, "error": None}
400
401 def _shot(self):
402 b64, w, h, error = _safe_capture(None)
403 win = active_window()
404 return {"png_b64": b64, "w": w, "h": h, "error": error, "win": win}
405
406 def _ui(self):
407 win = active_window()
408 controls = control_tree()
409 return {"win": win, "controls": controls, "error": None}
410
411
412def keep_awake():
413 """Hold the display and system awake for as long as this process lives.
414
415 Screen blanking alone is harmless -- BitBlt still captures the composited
416 desktop -- but sleep kills the agent outright, and a locked session moves
417 the desktop to Winlogon where neither AutoHotkey nor the capture can reach.
418 """
419 ES_CONTINUOUS, ES_SYSTEM_REQUIRED, ES_DISPLAY_REQUIRED = 0x80000000, 0x1, 0x2
420 kernel32 = ctypes.windll.kernel32
421 kernel32.SetThreadExecutionState.restype = wintypes.DWORD
422 kernel32.SetThreadExecutionState.argtypes = [wintypes.DWORD]
423 return kernel32.SetThreadExecutionState(
424 ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED)
425
426
427def main():
428 user32.SetProcessDPIAware()
429 awake = keep_awake()
430 port = int(os.environ.get("WIN7_PORT", "8777"))
431 srv = ThreadingHTTPServer(("0.0.0.0", port), Handler)
432 log("win7-agent listening on 0.0.0.0:%d ahk=%s log=%s%s"
433 % (port, ahk_path(), LOG_PATH,
434 "" if awake else " (WARNING: could not inhibit sleep)"))
435 srv.serve_forever()
436
437
438if __name__ == "__main__":
439 main()
corpus/m6/native-page-direction-03/before.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{60E7FA13-E94C-42DA-AF14-6DC4527F7F88}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{072B52AF-A239-416C-A0E6-E11FADE39AE9}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{072B52AF-A239-416C-A0E6-E11FADE39AE9}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{25C67E3D-FAD1-4FDF-BD7E-43976D63F73D}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{25C67E3D-FAD1-4FDF-BD7E-43976D63F73D}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{519B8EBA-116C-4B31-BA50-639709EF7EA0}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{519B8EBA-116C-4B31-BA50-639709EF7EA0}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{6CB2E635-F7F6-429F-8C20-C863E582362E}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{6CB2E635-F7F6-429F-8C20-C863E582362E}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{E9A8FE55-318E-4159-A98D-AF9DD153F91D}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{E9A8FE55-318E-4159-A98D-AF9DD153F91D}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{C7778705-501E-4AD9-B685-4DC8F900025B}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{C7778705-501E-4AD9-B685-4DC8F900025B}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{C7778705-501E-4AD9-B685-4DC8F900025B}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{C7778705-501E-4AD9-B685-4DC8F900025B}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{C7778705-501E-4AD9-B685-4DC8F900025B}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{C7778705-501E-4AD9-B685-4DC8F900025B}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{C7778705-501E-4AD9-B685-4DC8F900025B}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{C7778705-501E-4AD9-B685-4DC8F900025B}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-page-direction-03/commands.jsonl created+4
...@@ -0,0 +1,4 @@
1{"command": "powershell -NoProfile -Command \"Expand-Archive -LiteralPath C:\\one-tests\\transfer.zip -DestinationPath C:\\one-tests\\runs\\capture\\notebook\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
2{"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\author.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-70E6B408", "exit": 0, "stdout": "", "stderr": "", "error": null}
3{"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-70E6B408 -ExpectedPages 1 -UseCurrentCache -Pdf", "exit": 0, "stdout": "Read 2 sections and 1 pages.\r\n", "stderr": "", "error": null}
4{"command": "powershell -NoProfile -Command \"Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\* -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
corpus/m6/native-page-direction-03/format-differences.json created+1
...@@ -0,0 +1 @@
1[]
\ No newline at end of file
corpus/m6/native-page-direction-03/geometry-differences.json created+1
...@@ -0,0 +1 @@
1[]
\ No newline at end of file
corpus/m6/native-page-direction-03/health.json created+9
...@@ -0,0 +1,9 @@
1{
2 "ok": true,
3 "w": 800,
4 "h": 600,
5 "hostname": "ONE-M6-70E6B408",
6 "ahk": "C:\\win7-agent\\vendor\\ahk\\AutoHotkey64.exe",
7 "python": "C:\\win7-agent\\vendor\\python\\python.exe",
8 "agent_sha256": "ef7ca89be026695cf4412460a2eec308b0ed253fb9245597a7fe5d6938e49f89"
9}
corpus/m6/native-page-direction-03/machine.json created+1
...@@ -0,0 +1 @@
1{"name": "m6-70e6b408", "hostname": "ONE-M6-70E6B408"}
corpus/m6/native-page-direction-03/model/assets.json created+1
...@@ -0,0 +1 @@
1[{"path":"assets/0.bin","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]}},{"path":"assets/1.bin","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]}},{"path":"assets/2.bin","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]}}]
\ No newline at end of file
corpus/m6/native-page-direction-03/model/assets/0.bin created
Binary files /dev/null and b/corpus/m6/native-page-direction-03/model/assets/0.bin differ
corpus/m6/native-page-direction-03/model/assets/1.bin created+1
...@@ -0,0 +1 @@
1Fictitious attachment for native corpus.
\ No newline at end of file
corpus/m6/native-page-direction-03/model/assets/2.bin created
Binary files /dev/null and b/corpus/m6/native-page-direction-03/model/assets/2.bin differ
corpus/m6/native-page-direction-03/model/document.json created+1
...@@ -0,0 +1 @@
1{"file_id":[60,64,135,83,160,135,242,70,172,54,122,51,224,103,190,213],"root":"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1","spaces":{"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{9E24424C-0CD9-0E62-29EE-A244369C13D7},1"},"revisions":{"{9E24424C-0CD9-0E62-29EE-A244369C13D7},1":{"roots":{"1":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10","2":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11"},"nodes":{"{C7F40B04-17EF-07C8-0477-F2143775FC8E},10":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"8b3ac8fcf49f714db27dc2cf3ff433a8"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":603993154,"value":{"Objects":["{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1"]}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10":{"jcid":393223,"children":["{C7F40B04-17EF-07C8-0477-F2143775FC8E},10"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Section","default_template":null},"extra":[[{"id":469769264,"value":{"Bytes":"ad3e51bcb6d1bd448acde95750378bfa"}},{"id":402660453,"value":{"Bytes":"b0804d5df43cdd01"}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11":{"jcid":131121,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"SectionMetadata","name":null,"color":14985354},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]},"{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Fictitious: café, 東京, مرحبا","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}}]]}}}}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{A79B9913-4E0E-02D3-3A7E-62CBA31DDFFF},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1"},"revisions":{"{A79B9913-4E0E-02D3-3A7E-62CBA31DDFFF},1":{"roots":{"1":"{273DB6C4-A230-0679-389F-9DB750E092E4},10","2":"{273DB6C4-A230-0679-389F-9DB750E092E4},11","4":"{273DB6C4-A230-0679-389F-9DB750E092E4},13"},"nodes":{"{03D49648-056C-0F08-32C9-0424E8496E7D},10":{"jcid":393228,"children":["{03D49648-056C-0F08-32C9-0424E8496E7D},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":10835.251,"y":14.400001,"max_width":127.513695,"max_height":14.3},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473137903,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},11":{"jcid":393229,"children":[],"content":["{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},19"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052015,"modified":1473137903,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708596,"value":"NoData"}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},13":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},17":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{55644A5D-B639-0555-287F-86AC4C458A34},10":{"jcid":393228,"children":["{55644A5D-B639-0555-287F-86AC4C458A34},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":10943.251,"y":96.0,"max_width":167.04492,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473137903,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{55644A5D-B639-0555-287F-86AC4C458A34},11":{"jcid":393229,"children":[],"content":["{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},31"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473137903,"modified":1473137903,"original_author":"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},15","latest_author":"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708596,"value":"NoData"}]]},"{55644A5D-B639-0555-287F-86AC4C458A34},16":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231041,"value":"NoData"},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{57D959A7-EBAB-0B48-091B-646F994DD19F},19":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":true,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":null,"font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231041,"value":"NoData"},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},15":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"virtual"},"extra":[[{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},19":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473137903,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Fictitious: café, 東京, مرحبا","runs":[{"start":0,"end":18,"format":"{57D959A7-EBAB-0B48-091B-646F994DD19F},19"},{"start":18,"end":20,"format":"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},20"},{"start":20,"end":22,"format":"{57D959A7-EBAB-0B48-091B-646F994DD19F},19"},{"start":22,"end":27,"format":"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},21"}],"paragraph_style":"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},22","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":true,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"SimSun","font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231041,"value":"NoData"},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},21":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":true,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Arial","font_size":null,"color":7949855,"highlight":null,"language":1025,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"b2"}},{"id":134231041,"value":"NoData"},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},22":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},31":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473137903,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Fictitious positioned outline.","runs":[{"start":0,"end":30,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16"}],"paragraph_style":"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},22","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},37":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]},"extension":".png"},"extra":[]},"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},48":{"jcid":393229,"children":[],"content":["{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},49"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473137903,"modified":1473137903,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708596,"value":"NoData"}]]},"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},49":{"jcid":393250,"children":["{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},50"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473137903,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Table","rows":1,"columns":2,"widths":[144.0,96.0],"locked":[true,true],"borders":true},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},50":{"jcid":393251,"children":["{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},58","{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},51"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473137903,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Row"},"extra":[[]]},"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},51":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473137903,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"04e944eb0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},57":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473137903,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Left cell","runs":[{"start":0,"end":9,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16"}],"paragraph_style":"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},22","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},58":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473137903,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"040418eb0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},64":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473137903,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Right cell","runs":[{"start":0,"end":10,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16"}],"paragraph_style":"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},22","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},65":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"f407f0f801346a36346a36346a343634363436343600343634003436003436003400363400363400360034360034340036003436003400000000000000000000000000006b6b35356b37356b373537353735353700353735003735003735003700353700353500370035370035370035003735000000000000000000000000000000006b6b35376b35376b35353735373537350037353700353700353500370035370035370035003735003735003700353500000000000000000000000000000000346a34366a34366a34363434363436340036343600343600343600340034360034360034003634003634003600343400360000000000000000000000000000dc2e346a36346a34366a34363436343634340036343600343600343600340036003400003600340000340000360000340000360000340036000034000036000034366a346a3436346a36343634343634360034363400363400363400340036003400003600340000360000340000360000340000360034000036000034000034696b37356b37356b373535373537353700353735003735003537003500370035000037003500003700003500003700003500003500370000350000370000006b6b35376b35356b37353735373537350037353500373500373500370035003700003500370000350000350000370000350000370035000037000035000000"}},{"id":335557657,"value":{"Bytes":"01000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"5e14feeb9973fc488f8bef1216f8ea08"}},{"id":469775389,"value":{"Bytes":"3030bf06f53cdd01"}},{"id":469775451,"value":{"Bytes":"d91f3b410ad21540"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}}]]},"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},66":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"ac02e89502346a36346a36346a363434363436343600343634003634003436003400363400363400360034360034340036003436003400000000000000000000000000000000000000000000000000ec326a6a6a9e016a6a366a6a6a346a346a3634366a3436343436343634003634360034360034340036003400360000340036000034000036000034000036000034003400003600003400003600"}},{"id":335557657,"value":{"Bytes":"02000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"cf4d0e31c086724ea43c1550db1f178a"}},{"id":469775389,"value":{"Bytes":"b066de08f53cdd01"}},{"id":469775451,"value":{"Bytes":"2cc95f41d91f2340"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10":{"jcid":393228,"children":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":11063.251,"y":192.0,"max_width":72.0,"max_height":63.0},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473137903,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11":{"jcid":393229,"children":[],"content":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052019,"modified":1473052019,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708596,"value":"NoData"}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12":{"jcid":393269,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Attachment","container":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13","preview":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14","filename":"fictitious-attachment.txt","source_path":"C:\\one-tests\\runs\\20260905-05\\assets\\fictitious-attachment.txt","recording_id":null,"recording_type":null},"extra":[[{"id":335557837,"value":{"Bytes":"abaa2a3f"}},{"id":335557838,"value":{"Bytes":"abaa2a3f"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"66006900630074006900740069006f00750073002d006100740074006100630068006d0065006e0074002e007400780074000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13":{"jcid":524342,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]},"extension":".txt"},"extra":[]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]},"extension":".png"},"extra":[]},"{273DB6C4-A230-0679-389F-9DB750E092E4},10":{"jcid":393271,"children":[],"content":["{273DB6C4-A230-0679-389F-9DB750E092E4},12"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Fictitious: café, 東京, مرحبا","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},12":{"jcid":393227,"children":["{03D49648-056C-0F08-32C9-0424E8496E7D},10","{55644A5D-B639-0555-287F-86AC4C458A34},10","{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10","{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10","{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},20"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473137903,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":"Fictitious: café, 東京, مرحبا","level":null,"width":753.984,"height":783.0,"margin_origin_x":10763.251,"margin_origin_y":14.400001,"rtl":true},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"73006e006f0077000000"}},{"id":469769720,"value":{"Bytes":"53000000"}},{"id":335551836,"value":{"Bytes":"02000000"}},{"id":469769565,"value":{"Bytes":"0310e65e416b931f400000000000000000"}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},13":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":134330587010000000},"extra":[[]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10":{"jcid":393228,"children":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":10943.251,"y":192.0,"max_width":72.0,"max_height":0.74999994},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473137903,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11":{"jcid":393229,"children":[],"content":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052018,"modified":1473052018,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708596,"value":"NoData"}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473137903,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},37","filename":null,"alt":null,"picture_width":0.75,"picture_height":0.75,"background":null,"printout":false,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb010000003086c74d139ec244ae8bc4516d2b8c65000000000200000000001066000000010000200000000dbfd60c8911709580f3ab510eef06f2f74d89501ef114f256cc212c06644316000000000e800000000200002000000084e1a39cf7f21885ffc3a62dc460b23b2930b85ed02a0ccd15729eddfca8b334200000008667910a519cef36b4169e7b24119f204c2c95a0b44f39125479ab8f9e536cac40000000db47d149a4812de527c42cc4cd959203b33e114eeb642066e836fec530ca82b067d852204060c312c1f5bf926251ac7f3755797657f4477bc9a5d5c340949a4e"}},{"id":469769724,"value":{"Bytes":"f402c1d94636be45d97fa7ab7fbf2c127166c53e"}},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13":{"jcid":1179720,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775370,"value":{"Bytes":"8f6a8a59c052a04b93afaf357411a56100000000800700000200000021e2e241759f3fb5e0049844a7eec30dbb5a90110000000038040000020000008bc5e241"}},{"id":335557644,"value":{"Bytes":"00000c42"}},{"id":335557645,"value":{"Bytes":"00000c42"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":10799.25,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052300,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16"]}},{"id":335551822,"value":{"Bytes":"02000000"}},{"id":335551558,"value":{"Bytes":"0a00803f"}},{"id":335551559,"value":{"Bytes":"0000803f"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},65"]}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},20":{"jcid":393228,"children":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},21"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":501.52203,"y":139.75984,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":335551620,"value":{"Bytes":"09000000"}},{"id":335551707,"value":{"Bytes":"456f0341"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},21":{"jcid":393229,"children":[],"content":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},22"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052301,"modified":1473052301,"original_author":"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10","latest_author":"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},22":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"","runs":[{"start":0,"end":0,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16"}],"paragraph_style":"{03D49648-056C-0F08-32C9-0424E8496E7D},17","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":10799.248,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24"]}},{"id":335551822,"value":{"Bytes":"02000000"}},{"id":335551558,"value":{"Bytes":"2600803f"}},{"id":335551559,"value":{"Bytes":"0000803f"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},66"]}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10":{"jcid":393228,"children":["{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},48"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":10567.672,"y":312.0,"max_width":248.13002,"max_height":21.947718},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473137903,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17":{"jcid":393229,"children":[],"content":["{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},57"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473137903,"modified":1473137903,"original_author":"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},15","latest_author":"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708596,"value":"NoData"}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25":{"jcid":393229,"children":[],"content":["{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},64"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473137903,"modified":1473137903,"original_author":"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},15","latest_author":"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708596,"value":"NoData"}]]}}},"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}}}}}}
\ No newline at end of file
corpus/m6/native-page-direction-03/model/text.json created+1
...@@ -0,0 +1 @@
1{"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"{9E24424C-0CD9-0E62-29EE-A244369C13D7},1":{}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"{A79B9913-4E0E-02D3-3A7E-62CBA31DDFFF},1":{"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},19":[{"text":"Fictitious: café, ","format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null},{"text":"東京","format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"SimSun","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null},{"text":", ","format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null},{"text":"مرحبا","format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Arial","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1025,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},31":[{"text":"Fictitious positioned outline.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},57":[{"text":"Left cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},64":[{"text":"Right cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},22":[{"text":"","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]},"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{}}}
\ No newline at end of file
corpus/m6/native-page-direction-03/notebook/Open Notebook.one created
Binary files /dev/null and b/corpus/m6/native-page-direction-03/notebook/Open Notebook.one differ
corpus/m6/native-page-direction-03/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/m6/native-page-direction-03/notebook/Open Notebook.onetoc2 differ
corpus/m6/native-page-direction-03/notebook/synthetic.one created
Binary files /dev/null and b/corpus/m6/native-page-direction-03/notebook/synthetic.one differ
corpus/m6/native-page-direction-03/pdf-format-checks.json created+1
...@@ -0,0 +1 @@
1[]
\ No newline at end of file
corpus/m6/native-page-direction-03/read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment created+1
...@@ -0,0 +1 @@
1Fictitious attachment for native corpus.
\ No newline at end of file
corpus/m6/native-page-direction-03/read/environment.json created+7
...@@ -0,0 +1,7 @@
1{
2 "powershell": "5.1.14409.1005",
3 "schema": "xs2010",
4 "hostname": "ONE-M6-70E6B408",
5 "cold": false,
6 "onenote": "14.0.4763.1000"
7}
corpus/m6/native-page-direction-03/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{6BD3A301-FD19-4C71-BDAC-6E43F07ABAC7}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-06T04:58:44.000Z" color="#9595AA" isCurrentlyViewed="true"><one:Section name="synthetic" ID="{A62A2B74-35CF-0B42-2E75-5C53E96CF5FD}{1}{B0}" path="C:\one-tests\runs\capture\notebook\synthetic.one" lastModifiedTime="2026-09-06T04:58:44.000Z" color="#8AA8E4" isCurrentlyViewed="true"><one:Page ID="{8A63D8F2-BC04-4853-A912-F4C21554E9E2}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isCurrentlyViewed="true"/></one:Section><one:Section name="Open Notebook" ID="{F02311CF-0985-08F7-1A85-7A327C02F113}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Open Notebook.one" lastModifiedTime="2026-09-06T04:58:44.000Z" color="#F5F96F"/></one:Notebook>
corpus/m6/native-page-direction-03/read/page-000.pdf created
Binary files /dev/null and b/corpus/m6/native-page-direction-03/read/page-000.pdf differ
corpus/m6/native-page-direction-03/read/page-000.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{8A63D8F2-BC04-4853-A912-F4C21554E9E2}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="true" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{EDAF704E-F771-4BE5-A6E0-7819EAC80C83}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.513916015625" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{EDAF704E-F771-4BE5-A6E0-7819EAC80C83}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing inkOriginX="0.01318359375" lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{CF425CDC-AF99-4556-BB78-DA912A486157}{15}{B0}"><one:Position x="421.51025390625" y="84.75590515136718" z="5"/><one:Size width="60.009521484375" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing inkOriginX="0.0494384765625" lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{CF425CDC-AF99-4556-BB78-DA912A486157}{23}{B0}"><one:Position x="503.997802734375" y="92.23936462402343" z="6"/><one:Size width="30.01904296875" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{BB1FAC5B-4424-41B8-BC56-FA914EC4E8CA}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.044921875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T04:58:23.000Z" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{BB1FAC5B-4424-41B8-BC56-FA914EC4E8CA}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{032CDCB4-64C6-4BD0-AF8B-369B96786F77}{10}{B0}"><one:Position x="264.0003662109375" y="192.0" z="3"/><one:Size width="72.0" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{032CDCB4-64C6-4BD0-AF8B-369B96786F77}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{8636C4D4-A2BE-4816-8A26-5165A2A9A044}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{8636C4D4-A2BE-4816-8A26-5165A2A9A044}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{2DF3A5E4-0556-4050-B083-D4CEBE2B9431}{10}{B0}"><one:Position x="-236.94873046875" y="312.0" z="4"/><one:Size width="253.4996337890625" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-06T04:58:23.000Z" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{5F0AF6AD-22B9-4C7A-B929-212CF8149515}{48}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{5F0AF6AD-22B9-4C7A-B929-212CF8149515}{49}{B0}"><one:Columns><one:Column index="0" width="96.0" isLocked="true"/><one:Column index="1" width="144.0" isLocked="true"/></one:Columns><one:Row objectID="{5F0AF6AD-22B9-4C7A-B929-212CF8149515}{50}{B0}" lastModifiedTime="2026-09-06T04:58:23.000Z"><one:Cell lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{5F0AF6AD-22B9-4C7A-B929-212CF8149515}{51}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T04:58:23.000Z" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{2DF3A5E4-0556-4050-B083-D4CEBE2B9431}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{5F0AF6AD-22B9-4C7A-B929-212CF8149515}{58}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T04:58:23.000Z" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{2DF3A5E4-0556-4050-B083-D4CEBE2B9431}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-page-direction-03/read/payloads.json created+10
...@@ -0,0 +1,10 @@
1[
2 {
3 "sha256": "af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7",
4 "name": "fictitious-attachment.txt",
5 "object": "{032CDCB4-64C6-4BD0-AF8B-369B96786F77}{11}{B0}",
6 "kind": "InsertedFile",
7 "page": "{8A63D8F2-BC04-4853-A912-F4C21554E9E2}{1}{B0}",
8 "bytes": 43
9 }
10]
\ No newline at end of file
corpus/m6/native-page-direction-03/run.json created+18
...@@ -0,0 +1,18 @@
1{
2 "notebook": "/Users/clo/dev/one/corpus/native-ink/cold-ui-ink/notebook",
3 "expected_pages": 1,
4 "author": "tools/native/page-direction.ps1",
5 "author_timeout_seconds": 600,
6 "inspect": false,
7 "base": {
8 "file": "win7-office-base.qcow2",
9 "format": "qcow2",
10 "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346",
11 "virtual_size": 68719476736
12 },
13 "scripts": {
14 "author.ps1": "fcb431bb45554e664061765116cf182d7ae87c00b0b62de7d89d7ebf933fb815",
15 "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
16 "read.ps1": "086789e467779add0fc071ad8c524c2b02d3d0d609aea4a41f3128cadba371e8"
17 }
18}
corpus/m6/native-page-direction-03/scripts/author.ps1 created+45
...@@ -0,0 +1,45 @@
1param([Parameter(Mandatory=$true)][string]$Root, [Parameter(Mandatory=$true)][string]$CloneHost)
2Set-StrictMode -Version Latest
3$ErrorActionPreference = 'Stop'
4& "$PSScriptRoot\cold-current.ps1" -Root $Root -CloneHost $CloneHost
5$app = New-Object -ComObject OneNote.Application
6$notebook = ''
7try {
8 $app.OpenHierarchy((Join-Path $Root 'notebook'), '', [ref]$notebook, 0)
9 $section = ''
10 $app.OpenHierarchy('synthetic.one', $notebook, [ref]$section, 0)
11 $deadline = [DateTime]::UtcNow.AddSeconds(60)
12 do {
13 $hierarchy = ''
14 $app.GetHierarchy($section, 4, [ref]$hierarchy, 1)
15 [xml]$tree = $hierarchy
16 $pages = @($tree.SelectNodes('//*[local-name()="Page"]'))
17 if ($pages.Count -gt 0) { break }
18 Start-Sleep -Milliseconds 100
19 } while ([DateTime]::UtcNow -lt $deadline)
20 if ($pages.Count -ne 1) { throw 'The direction fixture requires one page.' }
21 $content = ''
22 $app.GetPageContent($pages[0].GetAttribute('ID'), [ref]$content, 1, 1)
23 [IO.File]::WriteAllText("$Root\before.xml", $content, [Text.Encoding]::UTF8)
24 [xml]$page = $content
25 $settings = $page.SelectSingleNode('//*[local-name()="PageSettings"]')
26 $settings.SetAttribute('RTL', 'true')
27 $columns = @($page.SelectNodes('//*[local-name()="Column"]'))
28 for ($i = 0; $i -lt $columns.Count; $i++) {
29 $columns[$i].SetAttribute('width', (96 + 48 * $i).ToString())
30 $columns[$i].SetAttribute('isLocked', 'true')
31 }
32 $app.UpdatePageContent($page.OuterXml, [DateTime]::MinValue, 1, $true)
33 $app.GetPageContent($pages[0].GetAttribute('ID'), [ref]$content, 1, 1)
34 [IO.File]::WriteAllText("$Root\after.xml", $content, [Text.Encoding]::UTF8)
35 [xml]$after = $content
36 if ($after.SelectSingleNode('//*[local-name()="PageSettings"]').GetAttribute('RTL') -ne 'true') { throw 'Native page direction did not change.' }
37 $app.SyncHierarchy($notebook)
38 $app.CloseNotebook($notebook, $false)
39 $notebook = ''
40} finally {
41 if ($notebook) { $app.CloseNotebook($notebook, $false) }
42 [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
43 [GC]::Collect()
44 [GC]::WaitForPendingFinalizers()
45}
corpus/m6/native-page-direction-03/scripts/cold.ps1 created+27
...@@ -0,0 +1,27 @@
1param([Parameter(Mandatory=$true)][string]$Root, [string]$CloneHost = '')
2Set-StrictMode -Version Latest
3$ErrorActionPreference = 'Stop'
4$root = [IO.Path]::GetFullPath($Root).TrimEnd('\')
5if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') {
6 throw 'Choose a run directly below C:\one-tests\runs.'
7}
8if (Get-Process ONENOTE -ErrorAction SilentlyContinue) { throw 'Close OneNote before resetting its test cache.' }
9$key = 'HKCU:\Software\Microsoft\Office\14.0\OneNote'
10if ($CloneHost) {
11 if ($CloneHost -notmatch '^ONE-[A-Z0-9-]+$' -or [Environment]::MachineName -ne $CloneHost) {
12 throw 'The disposable clone hostname does not match this machine.'
13 }
14 New-Item "$key\Options\Paths" -Force | Out-Null
15 New-ItemProperty "$key\Options\Paths" -Name UnfiledNotesSection -PropertyType ExpandString -Value 'C:\one-tests\Loose.one' -Force | Out-Null
16} elseif ((Get-ItemProperty "$key\Options\Paths").UnfiledNotesSection -ne 'C:\one-tests\Loose.one' -or
17 -not (Test-Path 'C:\one-tests\profile-original-cache')) {
18 throw 'Park the personal OneNote profile before resetting the test cache.'
19}
20$cache = Join-Path $env:LOCALAPPDATA 'Microsoft\OneNote\14.0'
21$parked = Join-Path 'C:\one-tests\caches' ([IO.Path]::GetFileName($root))
22if (Test-Path $parked) { throw 'Choose a new run; its parked cache already exists.' }
23New-Item -ItemType Directory -Path 'C:\one-tests\caches' -Force | Out-Null
24if (Test-Path $cache) { Move-Item -LiteralPath $cache -Destination $parked }
25if (Test-Path "$key\OpenNotebooks") { Remove-Item "$key\OpenNotebooks" -Recurse }
26New-Item "$key\OpenNotebooks" | Out-Null
27New-ItemProperty "$key\OpenNotebooks" -Name '1' -PropertyType String -Value "$root\notebook" | Out-Null
corpus/m6/native-page-direction-03/scripts/read.ps1 created+139
...@@ -0,0 +1,139 @@
1param(
2 [Parameter(Mandatory=$true)][string]$Root,
3 [int]$ExpectedPages = -1,
4 [switch]$UseCurrentCache,
5 [switch]$Pdf,
6 [switch]$KeepOpen,
7 [string]$CloneHost = ''
8)
9Set-StrictMode -Version Latest
10$ErrorActionPreference = 'Stop'
11$root = [IO.Path]::GetFullPath($Root).TrimEnd('\')
12if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') {
13 throw 'Choose a run directly below C:\one-tests\runs.'
14}
15$notebook = Join-Path $root 'notebook'
16$output = Join-Path $root 'read'
17if (Test-Path $output) { throw 'Choose a new read destination.' }
18if ($UseCurrentCache) {
19 if ((Get-ItemProperty 'HKCU:\Software\Microsoft\Office\14.0\OneNote\Options\Paths').UnfiledNotesSection -ne 'C:\one-tests\Loose.one') {
20 throw 'Park the personal OneNote profile before reading test notebooks.'
21 }
22} else {
23 & "$PSScriptRoot\cold-current.ps1" -Root $root -CloneHost $CloneHost
24}
25New-Item -ItemType Directory -Path $output | Out-Null
26$app = New-Object -ComObject OneNote.Application
27$notebookId = ''
28$failure = $null
29try {
30 $app.OpenHierarchy($notebook, '', [ref]$notebookId, 0)
31 $process = Get-Process ONENOTE
32 @{ hostname = [Environment]::MachineName; onenote = $process.MainModule.FileVersionInfo.FileVersion;
33 powershell = $PSVersionTable.PSVersion.ToString(); schema = 'xs2010'; cold = (-not $UseCurrentCache.IsPresent) } |
34 ConvertTo-Json | Set-Content (Join-Path $output 'environment.json') -Encoding UTF8
35 $sections = @()
36 foreach ($file in @(Get-ChildItem $notebook -Recurse | Where-Object { $_.Extension -eq '.one' })) {
37 $id = ''
38 $app.OpenHierarchy($file.FullName, '', [ref]$id, 0)
39 $sections += $id
40 }
41 $deadline = [DateTime]::UtcNow.AddSeconds(300)
42 $previous = ''
43 $stableSince = [DateTime]::UtcNow
44 $settled = $false
45 do {
46 $pages = @{}
47 foreach ($section in $sections) {
48 $hierarchy = ''
49 $app.GetHierarchy($section, 4, [ref]$hierarchy, 1)
50 [xml]$xml = $hierarchy
51 foreach ($node in $xml.SelectNodes('//*[@path]')) {
52 if (-not $node.GetAttribute('path').StartsWith("$notebook\", [StringComparison]::OrdinalIgnoreCase)) {
53 throw 'OneNote opened a section outside the copied notebook.'
54 }
55 }
56 foreach ($node in $xml.SelectNodes('//*[local-name()="Page"]')) {
57 $id = $node.GetAttribute('ID')
58 $content = ''
59 $app.GetPageContent($id, [ref]$content, 1, 1)
60 $pages[$id] = $content
61 }
62 }
63 $signature = [String]::Join('|', @($pages.Keys | Sort-Object | ForEach-Object { $_ + $pages[$_] }))
64 if ($signature -ne $previous) {
65 $previous = $signature
66 $stableSince = [DateTime]::UtcNow
67 }
68 if ((($ExpectedPages -ge 0 -and $pages.Count -eq $ExpectedPages) -or
69 ($ExpectedPages -lt 0 -and $pages.Count -gt 0)) -and
70 ([DateTime]::UtcNow - $stableSince).TotalSeconds -ge 2) { $settled = $true; break }
71 Start-Sleep -Milliseconds 250
72 } while ([DateTime]::UtcNow -lt $deadline)
73 if (-not $settled -or ($ExpectedPages -ge 0 -and $pages.Count -ne $ExpectedPages) -or ($ExpectedPages -lt 0 -and $pages.Count -eq 0)) {
74 $index = 0
75 foreach ($id in @($pages.Keys | Sort-Object)) {
76 [IO.File]::WriteAllText((Join-Path $output ('unsettled-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8)
77 $index++
78 }
79 $hierarchy = ''
80 $app.GetHierarchy($notebookId, 4, [ref]$hierarchy, 1)
81 [IO.File]::WriteAllText((Join-Path $output 'unsettled-hierarchy.xml'), $hierarchy, [Text.Encoding]::UTF8)
82 throw "Expected $ExpectedPages pages; OneNote returned $($pages.Count)."
83 }
84 $index = 0
85 $payloads = @()
86 foreach ($id in @($pages.Keys | Sort-Object)) {
87 [IO.File]::WriteAllText((Join-Path $output ('page-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8)
88 if ($Pdf) {
89 $pdfPath = Join-Path $output ('page-{0:d3}.pdf' -f $index)
90 $app.NavigateTo($id, '', $false)
91 $app.Publish($id, $pdfPath, 3, '')
92 if (-not (Test-Path $pdfPath) -or (Get-Item $pdfPath).Length -eq 0) { throw 'OneNote did not publish the page PDF.' }
93 }
94 [xml]$page = $pages[$id]
95 foreach ($file in $page.SelectNodes('//*[local-name()="InsertedFile" or local-name()="MediaFile"]')) {
96 $bytes = [IO.File]::ReadAllBytes($file.GetAttribute('pathCache'))
97 $hash = [BitConverter]::ToString([Security.Cryptography.SHA256]::Create().ComputeHash($bytes)).Replace('-', '').ToLowerInvariant()
98 [IO.File]::WriteAllBytes((Join-Path $output ($hash + '.attachment')), $bytes)
99 $payloads += @{ page = $id; object = $file.ParentNode.GetAttribute('objectID');
100 kind = $file.LocalName; name = $file.GetAttribute('preferredName');
101 sha256 = $hash; bytes = $bytes.Length }
102 }
103 $index++
104 }
105 [IO.File]::WriteAllText((Join-Path $output 'payloads.json'), (ConvertTo-Json -InputObject $payloads -Depth 4), [Text.Encoding]::UTF8)
106 $all = ''
107 $app.GetHierarchy($notebookId, 4, [ref]$all, 1)
108 [xml]$finalTree = $all
109 $finalIds = @($finalTree.SelectNodes('//*[local-name()="Page"]') | ForEach-Object { $_.GetAttribute('ID') } | Sort-Object -Unique)
110 if ($finalIds.Count -ne $pages.Count -or @($finalIds | Where-Object { -not $pages.ContainsKey($_) }).Count -ne 0) {
111 throw 'The notebook hierarchy changed while collecting page evidence; repeat the cold read.'
112 }
113 [IO.File]::WriteAllText((Join-Path $output 'hierarchy.xml'), $all, [Text.Encoding]::UTF8)
114 Write-Output "Read $($sections.Count) sections and $($pages.Count) pages."
115} catch {
116 $failure = $_
117 [IO.File]::WriteAllText((Join-Path $output 'failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8)
118 throw
119} finally {
120 try {
121 try {
122 if ($notebookId -and $CloneHost) { $app.SyncHierarchy($notebookId) }
123 if ($notebookId -and -not $KeepOpen -and (-not $UseCurrentCache -or $CloneHost)) {
124 $app.CloseNotebook($notebookId, $false)
125 }
126 } catch {
127 if ($null -eq $failure) { throw }
128 [IO.File]::WriteAllText((Join-Path $output 'cleanup-failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8)
129 }
130 } finally {
131 [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
132 }
133 $app = $null
134 [GC]::Collect()
135 [GC]::WaitForPendingFinalizers()
136 if (-not $UseCurrentCache -and -not $CloneHost) {
137 Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10
138 }
139}
corpus/m6/native-page-direction-03/source.json created+20
...@@ -0,0 +1,20 @@
1[
2 {
3 "path": "Open Notebook.one",
4 "bytes": 4016,
5 "sha256": "e2d9f3e4d3e8a57adaff7ba5af5f1e23bea4b3b590a012acd8d1c4f166556c88",
6 "mtime_ns": 1788585164197912114
7 },
8 {
9 "path": "Open Notebook.onetoc2",
10 "bytes": 4944,
11 "sha256": "36274ad5cc077c6b1ad51ee4c4b90d3b6798a45ce446cbfd7c9d7ac504776b28",
12 "mtime_ns": 1788585164198018949
13 },
14 {
15 "path": "synthetic.one",
16 "bytes": 27808,
17 "sha256": "1326c475cc3a9f412ff4d072cf515c1482b3b9e07798921e582767b064401947",
18 "mtime_ns": 1788585164197723028
19 }
20]
corpus/m6/native-page-direction-03/teardown.json created+1
...@@ -0,0 +1 @@
1{"absent": true}
corpus/m6/native-probes-01/ORACLE.md created+27
...@@ -0,0 +1,27 @@
1# Partial black highlighting is missing from native XML
2
3OneNote 14.0.4763.1000 displays black highlighting on the word `middle` in
4`Before middle after`. The application stores `Highlight = 0x00000000` on that
5text run. `GetPageContent(piAll, xs2010)` omits the highlight from the returned
6HTML. Whole-paragraph black highlighting is returned correctly in the same page.
7
8The authored input is [inputs/format-probes.xml](inputs/format-probes.xml).
9The stored file is [notebook/synthetic.one](notebook/synthetic.one); the native
10XML and screenshot are [read/page-001.xml](read/page-001.xml) and
11[read/page-001.png](read/page-001.png). The screenshot shows the black rectangle
12between `Before` and `after`. Text, run boundaries, and other formatting agree.
13
14This is an XML-oracle limitation. A reader must retain and render the black
15highlight. It must not remove the highlight to match the XML. Four partial-black
16runs in the copied personal notebook exhibit the same XML omission, including
17on a fresh cache. Their visual checks belong to the personal report acceptance.
18
19Reproduce with the current scripts:
20
21```sh
22python3 tools/native_runner.py corpus/writer/create-notebook-01/notebook NEW_OUTPUT \
23 --author tools/native/features.ps1 --expected-pages 2 --screenshots
24```
25
26This capture's exact author/read/cache scripts are retained in `scripts/` and
27hashed in `run.json`. The clone's successful deletion is in `teardown.json`.
corpus/m6/native-probes-01/commands.jsonl created+4
...@@ -0,0 +1,4 @@
1{"command": "powershell -NoProfile -Command \"Expand-Archive -LiteralPath C:\\one-tests\\transfer.zip -DestinationPath C:\\one-tests\\runs\\capture\\notebook\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
2{"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\author.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-4528C40D", "exit": 0, "stdout": "", "stderr": "", "error": null}
3{"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-4528C40D -ExpectedPages 2 -UseCurrentCache", "exit": 0, "stdout": "Read 1 sections and 2 pages.\r\n", "stderr": "", "error": null}
4{"command": "powershell -NoProfile -Command \"Compress-Archive -Path C:\\one-tests\\runs\\capture\\* -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
corpus/m6/native-probes-01/expected.json created+34
...@@ -0,0 +1,34 @@
1[
2 {
3 "html": "\u003cspan style=\"background:black\"\u003eBlack highlight, automatic text\u003c/span\u003e",
4 "name": "Black highlight control"
5 },
6 {
7 "html": "\u003cspan style=\"background:black;color:white\"\u003eWhite text on black highlight\u003c/span\u003e",
8 "name": "White on black"
9 },
10 {
11 "html": "\u003cspan style=\"background:black;color:black\"\u003eBlack text on black highlight\u003c/span\u003e",
12 "name": "Black on black"
13 },
14 {
15 "html": "\u003cb\u003eBefore \u003cspan style=\"background:black\"\u003emiddle\u003c/span\u003e after\u003c/b\u003e",
16 "name": "Partial black highlight"
17 },
18 {
19 "html": "\u003cspan style=\"background:yellow\"\u003eYellow highlight, automatic text\u003c/span\u003e",
20 "name": "Yellow control"
21 },
22 {
23 "html": "Plain \u003cb\u003ebold\u003c/b\u003e \u003ci\u003eitalic\u003c/i\u003e \u003cu\u003eunderline\u003c/u\u003e \u003cs\u003estrike\u003c/s\u003e \u003csup\u003esuper\u003c/sup\u003e \u003csub\u003esub\u003c/sub\u003e \u003cspan style=\"font-family:Consolas;font-size:18pt;color:#804020;background:#00ffff\"\u003efont and color\u003c/span\u003e",
24 "name": "Character styles"
25 },
26 {
27 "html": "BMP \u003cb\u003e😀é\u003c/b\u003e 東京 \u003ci\u003eمرحبا\u003c/i\u003e",
28 "name": "Unicode runs"
29 },
30 {
31 "html": "Before \u003ca href=\"https://example.invalid/fixture?x=1\u0026amp;y=2\"\u003e\u003cb\u003eLink label\u003c/b\u003e\u003c/a\u003e after",
32 "name": "Link runs"
33 }
34]
corpus/m6/native-probes-01/health.json created+8
...@@ -0,0 +1,8 @@
1{
2 "ok": true,
3 "w": 800,
4 "h": 600,
5 "hostname": "ONE-M6-4528C40D",
6 "ahk": "C:\\win7-agent\\vendor\\ahk\\AutoHotkey64.exe",
7 "python": "C:\\win7-agent\\vendor\\python\\python.exe"
8}
corpus/m6/native-probes-01/inputs/format-probes.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{01C54CCC-D749-4D39-A9F0-5F78AFDE363B}{1}{B0}"><one:Title><one:OE><one:T><![CDATA[Native feature probes]]></one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108"/><one:Size width="480" height="400"/><one:OEChildren><one:OE><one:T><![CDATA[<span style="background:black">Black highlight, automatic text</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="background:black;color:white">White text on black highlight</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="background:black;color:black">Black text on black highlight</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<b>Before <span style="background:black">middle</span> after</b>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="background:yellow">Yellow highlight, automatic text</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[Plain <b>bold</b> <i>italic</i> <u>underline</u> <s>strike</s> <sup>super</sup> <sub>sub</sub> <span style="font-family:Consolas;font-size:18pt;color:#804020;background:#00ffff">font and color</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[BMP <b>😀é</b> 東京 <i>مرحبا</i>]]></one:T></one:OE><one:OE><one:T><![CDATA[Before <a href="https://example.invalid/fixture?x=1&amp;y=2"><b>Link label</b></a> after]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-probes-01/machine.json created+1
...@@ -0,0 +1 @@
1{"name": "m6-4528c40d", "hostname": "ONE-M6-4528C40D"}
corpus/m6/native-probes-01/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/m6/native-probes-01/notebook/Open Notebook.onetoc2 differ
corpus/m6/native-probes-01/notebook/synthetic.one created
Binary files /dev/null and b/corpus/m6/native-probes-01/notebook/synthetic.one differ
corpus/m6/native-probes-01/read/environment.json created+7
...@@ -0,0 +1,7 @@
1{
2 "powershell": "5.1.14409.1005",
3 "schema": "xs2010",
4 "hostname": "ONE-M6-4528C40D",
5 "cold": false,
6 "onenote": "14.0.4763.1000"
7}
corpus/m6/native-probes-01/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{F3F7C374-4393-42F6-9E37-FA7B82D4FB8D}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-05T23:39:48.000Z" color="#B49EDE"><one:Section name="synthetic" ID="{3E952288-4E55-0A8E-0D51-6466C66E5C26}{1}{B0}" path="C:\one-tests\runs\capture\notebook\synthetic.one" lastModifiedTime="2026-09-05T23:39:48.000Z" color="#8AA8E4"><one:Page ID="{511B3FBA-4C48-097E-290C-442C38E015AF}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T23:39:48.000Z" pageLevel="1"/><one:Page ID="{8FC4998B-2C09-484B-811D-256A8F178F0F}{1}{B0}" name="Native feature probes" dateTime="2026-09-05T23:39:12.000Z" lastModifiedTime="2026-09-05T23:39:48.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/m6/native-probes-01/read/page-000.png created
Binary files /dev/null and b/corpus/m6/native-probes-01/read/page-000.png differ
corpus/m6/native-probes-01/read/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{511B3FBA-4C48-097E-290C-442C38E015AF}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T23:39:48.000Z" pageLevel="1" style="font-family:Calibri;font-size:11.0pt" lang="en-US"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="Fixture Author" lastModifiedBy="Fixture Author" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{3E952288-4E55-0A8E-0D51-6466C66E5C26}{23}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="191.1661224365234" height="13.4277172088623"/><one:Indents><one:Indent level="0" indent="0.0"/></one:Indents><one:OEChildren><one:OE creationTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{3E952288-4E55-0A8E-0D51-6466C66E5C26}{24}{B0}" alignment="left"><one:T><![CDATA[A notebook created in Rust.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-probes-01/read/page-001.png created
Binary files /dev/null and b/corpus/m6/native-probes-01/read/page-001.png differ
corpus/m6/native-probes-01/read/page-001.xml created+27
...@@ -0,0 +1,27 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{8FC4998B-2C09-484B-811D-256A8F178F0F}{1}{B0}" name="Native feature probes" dateTime="2026-09-05T23:39:12.000Z" lastModifiedTime="2026-09-05T23:39:48.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-05T23:39:15.000Z" lastModifiedTime="2026-09-05T23:39:15.000Z" objectID="{00E3B0CF-5BD9-4A2B-852F-F655CC2165BE}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Native feature probes]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-05T23:39:16.000Z" objectID="{00E3B0CF-5BD9-4A2B-852F-F655CC2165BE}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="354.3946228027344" height="115.9424285888672"/><one:OEChildren><one:OE creationTime="2026-09-05T23:39:15.000Z" lastModifiedTime="2026-09-05T23:39:15.000Z" objectID="{00E3B0CF-5BD9-4A2B-852F-F655CC2165BE}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='background:black;mso-highlight:black'>Black highlight, automatic text</span>]]></one:T></one:OE><one:OE creationTime="2026-09-05T23:39:15.000Z" lastModifiedTime="2026-09-05T23:39:15.000Z" objectID="{00E3B0CF-5BD9-4A2B-852F-F655CC2165BE}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#CBCBCB"><one:T><![CDATA[<span
4style='background:black;mso-highlight:black'>White text on black highlight</span>]]></one:T></one:OE><one:OE creationTime="2026-09-05T23:39:15.000Z" lastModifiedTime="2026-09-05T23:39:15.000Z" objectID="{00E3B0CF-5BD9-4A2B-852F-F655CC2165BE}{52}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:black"><one:T><![CDATA[<span
5style='background:black;mso-highlight:black'>Black text on black highlight</span>]]></one:T></one:OE><one:OE creationTime="2026-09-05T23:39:15.000Z" lastModifiedTime="2026-09-05T23:39:15.000Z" objectID="{00E3B0CF-5BD9-4A2B-852F-F655CC2165BE}{58}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
6style='font-weight:bold'>Before middle after</span>]]></one:T></one:OE><one:OE creationTime="2026-09-05T23:39:15.000Z" lastModifiedTime="2026-09-05T23:39:15.000Z" objectID="{00E3B0CF-5BD9-4A2B-852F-F655CC2165BE}{65}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
7style='background:yellow;mso-highlight:yellow'>Yellow highlight, automatic text</span>]]></one:T></one:OE><one:OE creationTime="2026-09-05T23:39:15.000Z" lastModifiedTime="2026-09-05T23:39:15.000Z" objectID="{00E3B0CF-5BD9-4A2B-852F-F655CC2165BE}{71}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span style='font-family:Calibri;
8font-size:11.0pt'>Plain </span><span style='font-weight:bold;font-family:Calibri;
9font-size:11.0pt'>bold</span><span style='font-family:Calibri;font-size:11.0pt'> </span><span
10style='font-style:italic;font-family:Calibri;font-size:11.0pt'>italic</span><span
11style='font-family:Calibri;font-size:11.0pt'> </span><span style='text-decoration:
12underline;font-family:Calibri;font-size:11.0pt'>underline</span><span
13style='font-family:Calibri;font-size:11.0pt'> </span><span style='text-decoration:
14line-through;font-family:Calibri;font-size:11.0pt'>strike</span><span
15style='font-family:Calibri;font-size:11.0pt'> </span><span style='vertical-align:
16super;font-family:Calibri;font-size:11.0pt'>super</span><span style='font-family:
17Calibri;font-size:11.0pt'> </span><span style='vertical-align:sub;font-family:
18Calibri;font-size:11.0pt'>sub</span><span style='font-family:Calibri;
19font-size:11.0pt'> </span><span style='font-family:Consolas;font-size:18.0pt;
20color:#804020;background:aqua;mso-highlight:aqua'>font and color</span>]]></one:T></one:OE><one:OE creationTime="2026-09-05T23:39:13.000Z" lastModifiedTime="2026-09-05T23:39:15.000Z" objectID="{00E3B0CF-5BD9-4A2B-852F-F655CC2165BE}{82}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
21style='font-family:Calibri' lang=en-US>BMP </span><span style='font-weight:
22bold;font-family:Calibri' lang=x-none>&#128512;é</span><span style='font-family:
23Calibri' lang=en-US> </span><span style='font-family:SimSun' lang=en-US>東京</span><span
24style='font-family:Calibri' lang=en-US> </span><span style='font-style:italic;
25font-family:Arial;direction:rtl;unicode-bidi:embed' lang=ar-SA>مرحبا</span>]]></one:T></one:OE><one:OE creationTime="2026-09-05T23:39:15.000Z" lastModifiedTime="2026-09-05T23:39:15.000Z" objectID="{00E3B0CF-5BD9-4A2B-852F-F655CC2165BE}{90}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Before <a
26href="https://example.invalid/fixture?x=1&amp;y=2"><span style='font-weight:
27bold'>Link label</span></a> after]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-probes-01/run.json created+16
...@@ -0,0 +1,16 @@
1{
2 "notebook": "/Users/clo/dev/one/corpus/writer/create-notebook-01/notebook",
3 "expected_pages": 2,
4 "author": "tools/native/features.ps1",
5 "base": {
6 "file": "win7-office-base.qcow2",
7 "format": "qcow2",
8 "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346",
9 "virtual_size": 68719476736
10 },
11 "scripts": {
12 "author.ps1": "24595a13dd04c47aba39b13cf1d05fbc162cd915eac2a1363f51665ef3d8721d",
13 "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
14 "read.ps1": "cad23c59e6a6d89d6c2700f50e23a5ae2c0df8df7d9390e02bfba9315bf54b57"
15 }
16}
corpus/m6/native-probes-01/scripts/author.ps1 created+42
...@@ -0,0 +1,42 @@
1param([Parameter(Mandatory=$true)][string]$Root, [Parameter(Mandatory=$true)][string]$CloneHost)
2Set-StrictMode -Version Latest
3$ErrorActionPreference = 'Stop'
4& "$PSScriptRoot\cold-current.ps1" -Root $Root -CloneHost $CloneHost
5$inputs = Join-Path $Root 'inputs'
6New-Item -ItemType Directory -Path $inputs | Out-Null
7$app = New-Object -ComObject OneNote.Application
8$notebookId = ''
9$namespace = 'http://schemas.microsoft.com/office/onenote/2010/onenote'
10try {
11 $app.OpenHierarchy((Join-Path $Root 'notebook'), '', [ref]$notebookId, 0)
12 $sectionId = ''
13 $app.OpenHierarchy('synthetic.one', $notebookId, [ref]$sectionId, 0)
14 $cases = @(
15 @{ name = 'Black highlight control'; html = '<span style="background:black">Black highlight, automatic text</span>' },
16 @{ name = 'White on black'; html = '<span style="background:black;color:white">White text on black highlight</span>' },
17 @{ name = 'Black on black'; html = '<span style="background:black;color:black">Black text on black highlight</span>' },
18 @{ name = 'Partial black highlight'; html = '<b>Before <span style="background:black">middle</span> after</b>' },
19 @{ name = 'Yellow control'; html = '<span style="background:yellow">Yellow highlight, automatic text</span>' },
20 @{ name = 'Character styles'; html = 'Plain <b>bold</b> <i>italic</i> <u>underline</u> <s>strike</s> <sup>super</sup> <sub>sub</sub> <span style="font-family:Consolas;font-size:18pt;color:#804020;background:#00ffff">font and color</span>' },
21 @{ name = 'Unicode runs'; html = 'BMP <b>' + [char]::ConvertFromUtf32(0x1F600) + 'e' + [char]0x0301 + '</b> ' + [char]0x6771 + [char]0x4EAC + ' <i>' + [char]0x0645 + [char]0x0631 + [char]0x062D + [char]0x0628 + [char]0x0627 + '</i>' },
22 @{ name = 'Link runs'; html = 'Before <a href="https://example.invalid/fixture?x=1&amp;y=2"><b>Link label</b></a> after' }
23 )
24 $pageId = ''
25 $app.CreateNewPage($sectionId, [ref]$pageId, 0)
26 $body = '<one:Title><one:OE><one:T><![CDATA[Native feature probes]]></one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108"/><one:Size width="480" height="400"/><one:OEChildren>'
27 foreach ($case in $cases) { $body += '<one:OE><one:T><![CDATA[' + $case.html + ']]></one:T></one:OE>' }
28 $body += '</one:OEChildren></one:Outline>'
29 $xml = '<one:Page xmlns:one="' + $namespace + '" ID="' + $pageId + '">' + $body + '</one:Page>'
30 [IO.File]::WriteAllText((Join-Path $inputs 'format-probes.xml'), $xml, [Text.Encoding]::UTF8)
31 $app.UpdatePageContent($xml, [DateTime]::MinValue, 1, $true)
32 $cases | ConvertTo-Json -Depth 8 | Set-Content (Join-Path $Root 'expected.json') -Encoding UTF8
33 $app.SyncHierarchy($notebookId)
34 $app.CloseNotebook($notebookId, $false)
35 $notebookId = ''
36} finally {
37 if ($notebookId) { $app.CloseNotebook($notebookId, $false) }
38 [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
39 $app = $null
40 [GC]::Collect()
41 [GC]::WaitForPendingFinalizers()
42}
corpus/m6/native-probes-01/scripts/cold.ps1 created+27
...@@ -0,0 +1,27 @@
1param([Parameter(Mandatory=$true)][string]$Root, [string]$CloneHost = '')
2Set-StrictMode -Version Latest
3$ErrorActionPreference = 'Stop'
4$root = [IO.Path]::GetFullPath($Root).TrimEnd('\')
5if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') {
6 throw 'Choose a run directly below C:\one-tests\runs.'
7}
8if (Get-Process ONENOTE -ErrorAction SilentlyContinue) { throw 'Close OneNote before resetting its test cache.' }
9$key = 'HKCU:\Software\Microsoft\Office\14.0\OneNote'
10if ($CloneHost) {
11 if ($CloneHost -notmatch '^ONE-[A-Z0-9-]+$' -or [Environment]::MachineName -ne $CloneHost) {
12 throw 'The disposable clone hostname does not match this machine.'
13 }
14 New-Item "$key\Options\Paths" -Force | Out-Null
15 New-ItemProperty "$key\Options\Paths" -Name UnfiledNotesSection -PropertyType ExpandString -Value 'C:\one-tests\Loose.one' -Force | Out-Null
16} elseif ((Get-ItemProperty "$key\Options\Paths").UnfiledNotesSection -ne 'C:\one-tests\Loose.one' -or
17 -not (Test-Path 'C:\one-tests\profile-original-cache')) {
18 throw 'Park the personal OneNote profile before resetting the test cache.'
19}
20$cache = Join-Path $env:LOCALAPPDATA 'Microsoft\OneNote\14.0'
21$parked = Join-Path 'C:\one-tests\caches' ([IO.Path]::GetFileName($root))
22if (Test-Path $parked) { throw 'Choose a new run; its parked cache already exists.' }
23New-Item -ItemType Directory -Path 'C:\one-tests\caches' -Force | Out-Null
24if (Test-Path $cache) { Move-Item -LiteralPath $cache -Destination $parked }
25if (Test-Path "$key\OpenNotebooks") { Remove-Item "$key\OpenNotebooks" -Recurse }
26New-Item "$key\OpenNotebooks" | Out-Null
27New-ItemProperty "$key\OpenNotebooks" -Name '1' -PropertyType String -Value "$root\notebook" | Out-Null
corpus/m6/native-probes-01/scripts/read.ps1 created+105
...@@ -0,0 +1,105 @@
1param(
2 [Parameter(Mandatory=$true)][string]$Root,
3 [int]$ExpectedPages = -1,
4 [switch]$UseCurrentCache,
5 [string]$CloneHost = ''
6)
7Set-StrictMode -Version Latest
8$ErrorActionPreference = 'Stop'
9$root = [IO.Path]::GetFullPath($Root).TrimEnd('\')
10if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') {
11 throw 'Choose a run directly below C:\one-tests\runs.'
12}
13$notebook = Join-Path $root 'notebook'
14$output = Join-Path $root 'read'
15if (Test-Path $output) { throw 'Choose a new read destination.' }
16if ($UseCurrentCache) {
17 if ((Get-ItemProperty 'HKCU:\Software\Microsoft\Office\14.0\OneNote\Options\Paths').UnfiledNotesSection -ne 'C:\one-tests\Loose.one') {
18 throw 'Park the personal OneNote profile before reading test notebooks.'
19 }
20} else {
21 & "$PSScriptRoot\cold-current.ps1" -Root $root -CloneHost $CloneHost
22}
23New-Item -ItemType Directory -Path $output | Out-Null
24$app = New-Object -ComObject OneNote.Application
25$notebookId = ''
26try {
27 $app.OpenHierarchy($notebook, '', [ref]$notebookId, 0)
28 $process = Get-Process ONENOTE
29 @{ hostname = [Environment]::MachineName; onenote = $process.MainModule.FileVersionInfo.FileVersion;
30 powershell = $PSVersionTable.PSVersion.ToString(); schema = 'xs2010'; cold = (-not $UseCurrentCache.IsPresent) } |
31 ConvertTo-Json | Set-Content (Join-Path $output 'environment.json') -Encoding UTF8
32 $sections = @()
33 foreach ($file in @(Get-ChildItem $notebook -Recurse | Where-Object { $_.Extension -eq '.one' })) {
34 $id = ''
35 $app.OpenHierarchy($file.FullName, '', [ref]$id, 0)
36 $sections += $id
37 }
38 $deadline = [DateTime]::UtcNow.AddSeconds(45)
39 $previous = ''
40 $stableSince = [DateTime]::UtcNow
41 $settled = $false
42 do {
43 $pages = @{}
44 foreach ($section in $sections) {
45 $hierarchy = ''
46 $app.GetHierarchy($section, 4, [ref]$hierarchy, 1)
47 [xml]$xml = $hierarchy
48 foreach ($node in $xml.SelectNodes('//*[@path]')) {
49 if (-not $node.GetAttribute('path').StartsWith("$notebook\", [StringComparison]::OrdinalIgnoreCase)) {
50 throw 'OneNote opened a section outside the copied notebook.'
51 }
52 }
53 foreach ($node in $xml.SelectNodes('//*[local-name()="Page"]')) {
54 $id = $node.GetAttribute('ID')
55 $content = ''
56 $app.GetPageContent($id, [ref]$content, 3, 1)
57 $pages[$id] = $content
58 }
59 }
60 $signature = [String]::Join('|', @($pages.Keys | Sort-Object | ForEach-Object { $_ + $pages[$_] }))
61 if ($signature -ne $previous) {
62 $previous = $signature
63 $stableSince = [DateTime]::UtcNow
64 }
65 if ((($ExpectedPages -ge 0 -and $pages.Count -eq $ExpectedPages) -or
66 ($ExpectedPages -lt 0 -and $pages.Count -gt 0)) -and
67 ([DateTime]::UtcNow - $stableSince).TotalSeconds -ge 2) { $settled = $true; break }
68 Start-Sleep -Milliseconds 250
69 } while ([DateTime]::UtcNow -lt $deadline)
70 if (-not $settled -or ($ExpectedPages -ge 0 -and $pages.Count -ne $ExpectedPages) -or ($ExpectedPages -lt 0 -and $pages.Count -eq 0)) {
71 throw "Expected $ExpectedPages pages; OneNote returned $($pages.Count)."
72 }
73 $index = 0
74 foreach ($id in @($pages.Keys | Sort-Object)) {
75 [IO.File]::WriteAllText((Join-Path $output ('page-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8)
76 [xml]$page = $pages[$id]
77 foreach ($file in $page.SelectNodes('//*[local-name()="InsertedFile"]')) {
78 $bytes = [IO.File]::ReadAllBytes($file.GetAttribute('pathCache'))
79 $hash = [BitConverter]::ToString([Security.Cryptography.SHA256]::Create().ComputeHash($bytes)).Replace('-', '').ToLowerInvariant()
80 [IO.File]::WriteAllBytes((Join-Path $output ($hash + '.attachment')), $bytes)
81 }
82 $index++
83 }
84 $all = ''
85 $app.GetHierarchy($notebookId, 4, [ref]$all, 1)
86 [xml]$finalTree = $all
87 $finalIds = @($finalTree.SelectNodes('//*[local-name()="Page"]') | ForEach-Object { $_.GetAttribute('ID') } | Sort-Object -Unique)
88 if ($finalIds.Count -ne $pages.Count -or @($finalIds | Where-Object { -not $pages.ContainsKey($_) }).Count -ne 0) {
89 throw 'The notebook hierarchy changed while collecting page evidence; repeat the cold read.'
90 }
91 [IO.File]::WriteAllText((Join-Path $output 'hierarchy.xml'), $all, [Text.Encoding]::UTF8)
92 Write-Output "Read $($sections.Count) sections and $($pages.Count) pages."
93} finally {
94 try {
95 if ($notebookId -and -not $UseCurrentCache) { $app.CloseNotebook($notebookId, $false) }
96 } finally {
97 [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
98 }
99 $app = $null
100 [GC]::Collect()
101 [GC]::WaitForPendingFinalizers()
102 if (-not $UseCurrentCache -and -not $CloneHost) {
103 Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10
104 }
105}
corpus/m6/native-probes-01/source.json created+14
...@@ -0,0 +1,14 @@
1[
2 {
3 "path": "Open Notebook.onetoc2",
4 "bytes": 1612,
5 "sha256": "fafa5dcb3cd827c7edd30c8ea2fbc957a59fb4d2a8b28b667a3c551c8261ab86",
6 "mtime_ns": 1788592288950419463
7 },
8 {
9 "path": "synthetic.one",
10 "bytes": 3348,
11 "sha256": "b0662387c3fdc256d8dbe809e3b8f73b3586559696467fb1fff8f589095fa797",
12 "mtime_ns": 1788592288941514581
13 }
14]
corpus/m6/native-probes-01/teardown.json created+1
...@@ -0,0 +1 @@
1{"absent": true}
corpus/m6/native-structure-01/ORACLE.md created+33
...@@ -0,0 +1,33 @@
1# Native document structure controls
2
3OneNote 14.0.4763.1000 authored the second page from the frozen
4[scripts/author.ps1](scripts/author.ps1). The fixture includes named paragraph
5styles, alignment and spacing, two associated tags, nested bullets, Roman
6numbering restarted at III, and a 3-by-2 table with one locked column.
7
8The locked column remains 120 points wide. The unlocked column contracts from
9the authored 180 points to approximately 37.116 points to fit its contents.
10The native PDF shows both the text formatting and table on separate sheets.
11[Tests](../../../tests/document.rs) assert the model's corresponding semantics.
12The [partial black highlight XML omission](../native-probes-01/ORACLE.md) also
13occurs here; the PDF preserves the highlight.
14
15The [table controls](../native-table-controls-01/expected.json) isolate a native
16XML limitation: adding `shadingColor` to a cell causes `UpdatePageContent` to
17return `0x80042001`. Removing that attribute succeeds with locked or unlocked
18columns. This does not establish whether OneNote 2010 renders the storage-level
19CellShadingColor property.
20
21## TOC transaction fragment boundary
22
23The Rust-created TOC began with a 44-byte transaction-log fragment containing
24three list-count entries, a sentinel, and a 12-byte next-fragment reference.
25OneNote appended another fragment. Its next CRC is `0x68f09d29`; including the
26preceding fragment's final sentinel incorrectly produces `0x548e8f73`.
27
28MS-ONESTORE 2.3.3.2 product behavior note 8 specifies exclusion of bytes flushed
29at the end of a TOC transaction-log fragment. This fixture establishes that the
30final entry is excluded from the running CRC, while its own checksum is still
31validated. The storage regression also corrupts the native checksum and verifies
32that the damage is detected. Writer regressions cross fragment and transaction
33counter boundaries through 260 successive edits.
corpus/m6/native-structure-01/agent.py created+439
...@@ -0,0 +1,439 @@
1import base64
2import ctypes
3import hashlib
4import json
5import os
6import struct
7import subprocess
8import sys
9import tempfile
10import threading
11import time
12import zlib
13from ctypes import wintypes
14from http.server import ThreadingHTTPServer, BaseHTTPRequestHandler
15
16BASE = os.path.dirname(os.path.abspath(__file__))
17with open(__file__, 'rb') as source:
18 AGENT_SHA256 = hashlib.sha256(source.read()).hexdigest()
19LOCK = threading.Lock()
20
21user32 = ctypes.windll.user32
22gdi32 = ctypes.windll.gdi32
23
24SRCCOPY = 0x00CC0020
25CAPTUREBLT = 0x40000000
26BI_RGB = 0
27DIB_RGB_COLORS = 0
28
29# restype must be set on x64: the default c_int return truncates a 64-bit HANDLE.
30user32.GetDC.restype = wintypes.HDC
31user32.GetDC.argtypes = [wintypes.HWND]
32user32.ReleaseDC.restype = ctypes.c_int
33user32.ReleaseDC.argtypes = [wintypes.HWND, wintypes.HDC]
34user32.GetSystemMetrics.restype = ctypes.c_int
35user32.GetSystemMetrics.argtypes = [ctypes.c_int]
36gdi32.CreateCompatibleDC.restype = wintypes.HDC
37gdi32.CreateCompatibleDC.argtypes = [wintypes.HDC]
38gdi32.CreateCompatibleBitmap.restype = wintypes.HBITMAP
39gdi32.CreateCompatibleBitmap.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int]
40gdi32.SelectObject.restype = wintypes.HGDIOBJ
41gdi32.SelectObject.argtypes = [wintypes.HDC, wintypes.HGDIOBJ]
42gdi32.BitBlt.restype = wintypes.BOOL
43gdi32.BitBlt.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int, ctypes.c_int,
44 ctypes.c_int, wintypes.HDC, ctypes.c_int, ctypes.c_int,
45 wintypes.DWORD]
46gdi32.GetDIBits.restype = ctypes.c_int
47gdi32.GetDIBits.argtypes = [wintypes.HDC, wintypes.HBITMAP, wintypes.UINT,
48 wintypes.UINT, ctypes.c_void_p, ctypes.c_void_p,
49 wintypes.UINT]
50gdi32.DeleteObject.restype = wintypes.BOOL
51gdi32.DeleteObject.argtypes = [wintypes.HGDIOBJ]
52gdi32.DeleteDC.restype = wintypes.BOOL
53gdi32.DeleteDC.argtypes = [wintypes.HDC]
54
55WNDENUMPROC = ctypes.WINFUNCTYPE(wintypes.BOOL, wintypes.HWND, wintypes.LPARAM)
56user32.GetForegroundWindow.restype = wintypes.HWND
57user32.GetForegroundWindow.argtypes = []
58user32.GetWindowTextW.restype = ctypes.c_int
59user32.GetWindowTextW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int]
60user32.GetClassNameW.restype = ctypes.c_int
61user32.GetClassNameW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int]
62user32.GetClientRect.restype = wintypes.BOOL
63user32.GetClientRect.argtypes = [wintypes.HWND, ctypes.POINTER(wintypes.RECT)]
64user32.EnumChildWindows.restype = wintypes.BOOL
65user32.EnumChildWindows.argtypes = [wintypes.HWND, WNDENUMPROC, wintypes.LPARAM]
66
67
68class BITMAPINFOHEADER(ctypes.Structure):
69 _fields_ = [("biSize", wintypes.DWORD),
70 ("biWidth", wintypes.LONG),
71 ("biHeight", wintypes.LONG),
72 ("biPlanes", wintypes.WORD),
73 ("biBitCount", wintypes.WORD),
74 ("biCompression", wintypes.DWORD),
75 ("biSizeImage", wintypes.DWORD),
76 ("biXPelsPerMeter", wintypes.LONG),
77 ("biYPelsPerMeter", wintypes.LONG),
78 ("biClrUsed", wintypes.DWORD),
79 ("biClrImportant", wintypes.DWORD)]
80
81
82PREAMBLE = (
83 "#Requires AutoHotkey v2.0\n"
84 "#SingleInstance Off\n"
85 "#Warn All, Off\n"
86 'FileEncoding "UTF-8-RAW"\n'
87 'SendMode "Input"\n'
88 "SetWorkingDir A_ScriptDir\n"
89 'CoordMode "Mouse", "Screen"\n'
90 'CoordMode "Pixel", "Screen"\n'
91 'CoordMode "ToolTip", "Screen"\n'
92 "SetTitleMatchMode 2\n"
93 "DetectHiddenWindows true\n"
94)
95
96
97def ahk_path():
98 u64 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey64.exe")
99 u32 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey32.exe")
100 return u64 if os.path.exists(u64) else u32
101
102
103def _chunk(tag, data):
104 return (struct.pack(">I", len(data)) + tag + data +
105 struct.pack(">I", zlib.crc32(tag + data) & 0xffffffff))
106
107
108def _to_png(bgra, w, h):
109 arr = bytearray(bgra)
110 r = arr[2::4]
111 arr[2::4] = arr[0::4]
112 arr[0::4] = r
113 del arr[3::4]
114 stride = w * 3
115 mv = memoryview(arr)
116 raw = bytearray()
117 for y in range(h):
118 raw.append(0)
119 raw += mv[y * stride:(y + 1) * stride]
120 ihdr = struct.pack(">IIBBBBB", w, h, 8, 2, 0, 0, 0)
121 return (b"\x89PNG\r\n\x1a\n" + _chunk(b"IHDR", ihdr) +
122 _chunk(b"IDAT", zlib.compress(bytes(raw))) + _chunk(b"IEND", b""))
123
124
125def capture():
126 w = user32.GetSystemMetrics(0)
127 h = user32.GetSystemMetrics(1)
128 hdc = user32.GetDC(None)
129 mem = None
130 hbm = None
131 try:
132 mem = gdi32.CreateCompatibleDC(hdc)
133 hbm = gdi32.CreateCompatibleBitmap(hdc, w, h)
134 old = gdi32.SelectObject(mem, hbm)
135 gdi32.BitBlt(mem, 0, 0, w, h, hdc, 0, 0, SRCCOPY | CAPTUREBLT)
136 gdi32.SelectObject(mem, old)
137 bmi = BITMAPINFOHEADER()
138 bmi.biSize = ctypes.sizeof(BITMAPINFOHEADER)
139 bmi.biWidth = w
140 bmi.biHeight = -h # negative => top-down rows, matches screenshot orientation
141 bmi.biPlanes = 1
142 bmi.biBitCount = 32
143 bmi.biCompression = BI_RGB
144 buf = ctypes.create_string_buffer(w * h * 4)
145 if gdi32.GetDIBits(mem, hbm, 0, h, buf, ctypes.byref(bmi),
146 DIB_RGB_COLORS) == 0:
147 raise RuntimeError("GetDIBits failed")
148 data = buf.raw
149 finally:
150 if hbm:
151 gdi32.DeleteObject(hbm)
152 if mem:
153 gdi32.DeleteDC(mem)
154 user32.ReleaseDC(None, hdc)
155 return _to_png(data, w, h), w, h
156
157
158def _win_text(fn, hwnd, n=512):
159 buf = ctypes.create_unicode_buffer(n)
160 fn(hwnd, buf, n)
161 return buf.value
162
163
164def active_window():
165 hwnd = user32.GetForegroundWindow()
166 if not hwnd:
167 return {"title": "", "class": "", "dialog": False}
168 cls = _win_text(user32.GetClassNameW, hwnd)
169 return {"title": _win_text(user32.GetWindowTextW, hwnd),
170 "class": cls, "dialog": cls == "#32770"}
171
172
173def control_tree():
174 hwnd = user32.GetForegroundWindow()
175 rows = []
176
177 def add(h):
178 rect = wintypes.RECT()
179 user32.GetClientRect(h, ctypes.byref(rect))
180 rows.append((_win_text(user32.GetClassNameW, h),
181 _win_text(user32.GetWindowTextW, h),
182 rect.left, rect.top,
183 rect.right - rect.left, rect.bottom - rect.top))
184
185 if hwnd:
186 add(hwnd)
187
188 def cb(child, _lparam):
189 add(child)
190 return True
191 user32.EnumChildWindows(hwnd, WNDENUMPROC(cb), 0)
192 lines = ["%-24s %-28s %s" % ("class", "text", "l,t,w,h")]
193 for cls, text, l, t, w, h in rows:
194 lines.append("%-24s %-28s %d,%d,%d,%d" % (cls, text, l, t, w, h))
195 return "\n".join(lines)
196
197
198def _run(argv, timeout_ms, encoding, on_timeout=None):
199 def dec(b):
200 return b.decode(encoding, "replace") if b else ""
201
202 p = subprocess.Popen(argv, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
203 try:
204 out, err = p.communicate(timeout=timeout_ms / 1000.0)
205 return p.returncode, dec(out), dec(err), None
206 except subprocess.TimeoutExpired:
207 if on_timeout:
208 on_timeout()
209 subprocess.call(["taskkill", "/F", "/T", "/PID", str(p.pid)])
210 try:
211 # A process the script launched can outlive taskkill still holding the
212 # inherited stdout pipe; an unbounded wait here wedges the agent's lock.
213 out, err = p.communicate(timeout=5)
214 except subprocess.TimeoutExpired:
215 out = err = b""
216 for pipe in (p.stdout, p.stderr):
217 if pipe:
218 pipe.close()
219 msg = "timed out after %d ms, process killed" % timeout_ms
220 return None, dec(out), dec(err), msg
221
222
223def run_ahk(script, timeout_ms, on_timeout=None):
224 fd, path = tempfile.mkstemp(suffix=".ahk")
225 os.close(fd)
226 # AutoHotkey (Unicode-only) needs a UTF-8 BOM to read the file as UTF-8.
227 with open(path, "wb") as f:
228 f.write(b"\xef\xbb\xbf" + (PREAMBLE + script).encode("utf-8"))
229 try:
230 # /ErrorStdOut sends syntax errors to stderr instead of a blocking modal.
231 code, out, err, error = _run([ahk_path(), "/ErrorStdOut", path], timeout_ms,
232 "utf-8", on_timeout)
233 finally:
234 os.remove(path)
235 if error:
236 error = "script " + error
237 return code, out, err, error
238
239
240def _safe_capture(error):
241 try:
242 png, w, h = capture()
243 return base64.b64encode(png).decode("ascii"), w, h, error
244 except Exception as e:
245 note = "screenshot failed: " + repr(e)
246 return "", 0, 0, (error + "; " + note if error else note)
247
248
249LOG_PATH = os.path.join(BASE, "agent.log")
250LOG_LOCK = threading.Lock()
251
252
253def log(text, stamp=True):
254 """Console and agent.log, so a session can be reconstructed after the fact."""
255 line = time.strftime("%Y-%m-%d %H:%M:%S ") + text if stamp else text
256 with LOG_LOCK:
257 print(line, end="" if line.endswith("\n") else "\n", flush=True)
258 try:
259 with open(LOG_PATH, "a", encoding="utf-8") as f:
260 f.write(line if line.endswith("\n") else line + "\n")
261 except OSError:
262 pass # a log that cannot be written must not take the agent down
263
264
265class Handler(BaseHTTPRequestHandler):
266 def log_message(self, *a):
267 pass
268
269 def _send(self, code, obj):
270 body = json.dumps(obj).encode("utf-8")
271 self.send_response(code)
272 self.send_header("Content-Type", "application/json")
273 self.send_header("Content-Length", str(len(body)))
274 self.end_headers()
275 self.wfile.write(body)
276
277 def _log(self, start, code, body=None):
278 log("%s %s %dms exit=%s" % (self.command, self.path,
279 int((time.time() - start) * 1000), code))
280 if body:
281 log("".join(" | %s\n" % l for l in body.splitlines()), stamp=False)
282
283 def _auth_ok(self):
284 token = os.environ.get("WIN7_TOKEN")
285 return not token or self.headers.get("X-Win7-Token") == token
286
287 def _body(self):
288 n = int(self.headers.get("Content-Length") or 0)
289 raw = self.rfile.read(n) if n else b""
290 return json.loads(raw.decode("utf-8")) if raw else {}
291
292 def do_GET(self):
293 start = time.time()
294 if not self._auth_ok():
295 self._send(401, {"error": "bad token"})
296 elif self.path == "/health":
297 self._send(200, {"ok": True, "w": user32.GetSystemMetrics(0),
298 "h": user32.GetSystemMetrics(1),
299 "hostname": os.environ.get("COMPUTERNAME", ""),
300 "ahk": ahk_path(), "python": sys.executable,
301 "agent_sha256": AGENT_SHA256})
302 else:
303 self._send(404, {"error": "not found"})
304 self._log(start, None)
305
306 def do_POST(self):
307 start = time.time()
308 code = None
309 if not self._auth_ok():
310 self._send(401, {"error": "bad token"})
311 self._log(start, None)
312 return
313 try:
314 data = self._body()
315 except Exception:
316 self._send(400, {"error": "bad json"})
317 self._log(start, None)
318 return
319 body = {"/exec": data.get("script"), "/cmd": data.get("command"),
320 "/spawn": data.get("command"),
321 "/put": data.get("path"), "/get": data.get("path")}.get(self.path)
322 try:
323 if self.path == "/exec":
324 resp = self._exec(data)
325 code = resp["exit"]
326 elif self.path == "/cmd":
327 resp = self._cmd(data)
328 code = resp["exit"]
329 elif self.path == "/spawn":
330 resp = self._spawn(data)
331 code = 0
332 elif self.path == "/put":
333 resp = self._put(data)
334 elif self.path == "/get":
335 resp = self._get(data)
336 elif self.path == "/shot":
337 resp = self._shot()
338 elif self.path == "/ui":
339 resp = self._ui()
340 else:
341 self._send(404, {"error": "not found"})
342 self._log(start, None)
343 return
344 self._send(200, resp)
345 except Exception as e:
346 self._send(200, {"error": repr(e), "exit": None, "stdout": "",
347 "stderr": "", "png_b64": "", "w": 0, "h": 0})
348 self._log(start, code, body)
349
350 def _exec(self, data):
351 pre = []
352
353 def grab(): # capture before taskkill so the blocker is still on screen
354 pre.append((_safe_capture(None), active_window()))
355
356 with LOCK:
357 code, out, err, error = run_ahk(data.get("script", ""),
358 data.get("timeout_ms", 60000), grab)
359 if pre:
360 (b64, w, h, note), win = pre[0]
361 else:
362 time.sleep(data.get("shot_delay_ms", 500) / 1000.0)
363 b64, w, h, note = _safe_capture(None)
364 win = active_window()
365 if note:
366 error = error + "; " + note if error else note
367 return {"exit": code, "stdout": out, "stderr": err, "png_b64": b64,
368 "w": w, "h": h, "error": error, "win": win}
369
370 def _put(self, data):
371 path = data.get("path", "")
372 blob = base64.b64decode(data.get("b64", ""))
373 parent = os.path.dirname(path)
374 if parent and not os.path.isdir(parent):
375 os.makedirs(parent)
376 with open(path, "wb") as f:
377 f.write(blob)
378 return {"bytes": len(blob), "path": os.path.abspath(path), "error": None}
379
380 def _get(self, data):
381 with open(data.get("path", ""), "rb") as f:
382 blob = f.read()
383 return {"b64": base64.b64encode(blob).decode("ascii"), "bytes": len(blob),
384 "error": None}
385
386 def _cmd(self, data):
387 with LOCK:
388 # A raw command-line string, not a list: on Windows list2cmdline would
389 # backslash-escape the embedded quotes before cmd.exe ever sees them.
390 code, out, err, error = _run("cmd.exe /c " + data.get("command", ""),
391 data.get("timeout_ms", 60000), "oem")
392 return {"exit": code, "stdout": out, "stderr": err, "error": error}
393
394 def _spawn(self, data):
395 flags = subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS
396 process = subprocess.Popen(data.get("command", ""), stdin=subprocess.DEVNULL,
397 stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL,
398 close_fds=True, creationflags=flags)
399 return {"pid": process.pid, "error": None}
400
401 def _shot(self):
402 b64, w, h, error = _safe_capture(None)
403 win = active_window()
404 return {"png_b64": b64, "w": w, "h": h, "error": error, "win": win}
405
406 def _ui(self):
407 win = active_window()
408 controls = control_tree()
409 return {"win": win, "controls": controls, "error": None}
410
411
412def keep_awake():
413 """Hold the display and system awake for as long as this process lives.
414
415 Screen blanking alone is harmless -- BitBlt still captures the composited
416 desktop -- but sleep kills the agent outright, and a locked session moves
417 the desktop to Winlogon where neither AutoHotkey nor the capture can reach.
418 """
419 ES_CONTINUOUS, ES_SYSTEM_REQUIRED, ES_DISPLAY_REQUIRED = 0x80000000, 0x1, 0x2
420 kernel32 = ctypes.windll.kernel32
421 kernel32.SetThreadExecutionState.restype = wintypes.DWORD
422 kernel32.SetThreadExecutionState.argtypes = [wintypes.DWORD]
423 return kernel32.SetThreadExecutionState(
424 ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED)
425
426
427def main():
428 user32.SetProcessDPIAware()
429 awake = keep_awake()
430 port = int(os.environ.get("WIN7_PORT", "8777"))
431 srv = ThreadingHTTPServer(("0.0.0.0", port), Handler)
432 log("win7-agent listening on 0.0.0.0:%d ahk=%s log=%s%s"
433 % (port, ahk_path(), LOG_PATH,
434 "" if awake else " (WARNING: could not inhibit sleep)"))
435 srv.serve_forever()
436
437
438if __name__ == "__main__":
439 main()
corpus/m6/native-structure-01/commands.jsonl created+4
...@@ -0,0 +1,4 @@
1{"command": "powershell -NoProfile -Command \"Expand-Archive -LiteralPath C:\\one-tests\\transfer.zip -DestinationPath C:\\one-tests\\runs\\capture\\notebook\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
2{"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\author.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-28BC2DAE", "exit": 0, "stdout": "", "stderr": "", "error": null}
3{"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-28BC2DAE -ExpectedPages 2 -UseCurrentCache -Pdf -KeepOpen", "exit": 0, "stdout": "Read 1 sections and 2 pages.\r\n", "stderr": "", "error": null}
4{"command": "powershell -NoProfile -Command \"Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\* -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
corpus/m6/native-structure-01/expected.json created+34
...@@ -0,0 +1,34 @@
1[
2 {
3 "html": "\u003cspan style=\"background:black\"\u003eBlack highlight, automatic text\u003c/span\u003e",
4 "name": "Black highlight control"
5 },
6 {
7 "html": "\u003cspan style=\"background:black;color:white\"\u003eWhite text on black highlight\u003c/span\u003e",
8 "name": "White on black"
9 },
10 {
11 "html": "\u003cspan style=\"background:black;color:black\"\u003eBlack text on black highlight\u003c/span\u003e",
12 "name": "Black on black"
13 },
14 {
15 "html": "\u003cb\u003eBefore \u003cspan style=\"background:black\"\u003emiddle\u003c/span\u003e after\u003c/b\u003e",
16 "name": "Partial black highlight"
17 },
18 {
19 "html": "\u003cspan style=\"background:yellow\"\u003eYellow highlight, automatic text\u003c/span\u003e",
20 "name": "Yellow control"
21 },
22 {
23 "html": "Plain \u003cb\u003ebold\u003c/b\u003e \u003ci\u003eitalic\u003c/i\u003e \u003cu\u003eunderline\u003c/u\u003e \u003cs\u003estrike\u003c/s\u003e \u003csup\u003esuper\u003c/sup\u003e \u003csub\u003esub\u003c/sub\u003e \u003cspan style=\"font-family:Consolas;font-size:18pt;color:#804020;background:#00ffff\"\u003efont and color\u003c/span\u003e",
24 "name": "Character styles"
25 },
26 {
27 "html": "BMP \u003cb\u003e😀é\u003c/b\u003e 東京 \u003ci\u003eمرحبا\u003c/i\u003e",
28 "name": "Unicode runs"
29 },
30 {
31 "html": "Before \u003ca href=\"https://example.invalid/fixture?x=1\u0026amp;y=2\"\u003e\u003cb\u003eLink label\u003c/b\u003e\u003c/a\u003e after",
32 "name": "Link runs"
33 }
34]
corpus/m6/native-structure-01/format-differences.json created+11
...@@ -0,0 +1,11 @@
1[
2 {
3 "file": "synthetic.one",
4 "page": 1,
5 "paragraph": 4,
6 "field": "highlight",
7 "stored": "#000000",
8 "native": "automatic",
9 "characters": 6
10 }
11]
\ No newline at end of file
corpus/m6/native-structure-01/geometry-differences.json created+1
...@@ -0,0 +1 @@
1[]
\ No newline at end of file
corpus/m6/native-structure-01/health.json created+9
...@@ -0,0 +1,9 @@
1{
2 "ok": true,
3 "w": 800,
4 "h": 600,
5 "hostname": "ONE-M6-28BC2DAE",
6 "ahk": "C:\\win7-agent\\vendor\\ahk\\AutoHotkey64.exe",
7 "python": "C:\\win7-agent\\vendor\\python\\python.exe",
8 "agent_sha256": "ef7ca89be026695cf4412460a2eec308b0ed253fb9245597a7fe5d6938e49f89"
9}
corpus/m6/native-structure-01/inputs/format-probes.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{C8464476-6DC5-4A0A-9CF0-0943EDA66543}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="Fixture checkbox"/><one:TagDef index="1" type="90" symbol="13" fontColor="#804020" highlightColor="#00ffff" name="Fixture custom tag"/><one:QuickStyleDef index="0" name="h1" font="Calibri" fontSize="20" bold="true" fontColor="#123456" highlightColor="automatic" spaceBefore="8" spaceAfter="4"/><one:Title><one:OE><one:T><![CDATA[Native feature probes]]></one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108"/><one:Size width="480" height="400"/><one:OEChildren><one:OE><one:T><![CDATA[<span style="background:black">Black highlight, automatic text</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="background:black;color:white">White text on black highlight</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="background:black;color:black">Black text on black highlight</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<b>Before <span style="background:black">middle</span> after</b>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="background:yellow">Yellow highlight, automatic text</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[Plain <b>bold</b> <i>italic</i> <u>underline</u> <s>strike</s> <sup>super</sup> <sub>sub</sub> <span style="font-family:Consolas;font-size:18pt;color:#804020;background:#00ffff">font and color</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[BMP <b>😀é</b> 東京 <i>مرحبا</i>]]></one:T></one:OE><one:OE><one:T><![CDATA[Before <a href="https://example.invalid/fixture?x=1&amp;y=2"><b>Link label</b></a> after]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline><one:Position x="72" y="540"/><one:Size width="480" height="600"/><one:OEChildren><one:OE quickStyleIndex="0" alignment="right"><one:T><![CDATA[Named paragraph style]]></one:T></one:OE><one:OE><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:Tag index="1" completed="true" disabled="false" creationDate="2020-01-02T03:04:05.000Z" completionDate="2020-01-02T04:05:06.000Z"/><one:T><![CDATA[Two tags on this paragraph]]></one:T></one:OE><one:OE><one:List><one:Bullet bullet="3" fontSize="11"/></one:List><one:T><![CDATA[Outer bullet]]></one:T><one:OEChildren><one:OE><one:List><one:Bullet bullet="13" fontSize="11"/></one:List><one:T><![CDATA[Nested bullet]]></one:T></one:OE></one:OEChildren></one:OE><one:OE><one:List><one:Number numberSequence="1" numberFormat="##." restartNumberingAt="3" font="Calibri" fontSize="11"/></one:List><one:T><![CDATA[Numbered item three]]></one:T></one:OE><one:OE><one:List><one:Number numberSequence="1" numberFormat="##." font="Calibri" fontSize="11"/></one:List><one:T><![CDATA[Numbered item four]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="120" isLocked="true"/><one:Column index="1" width="180" isLocked="false"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 2,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 2,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-structure-01/machine.json created+1
...@@ -0,0 +1 @@
1{"name": "m6-28bc2dae", "hostname": "ONE-M6-28BC2DAE"}
corpus/m6/native-structure-01/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/m6/native-structure-01/notebook/Open Notebook.onetoc2 differ
corpus/m6/native-structure-01/notebook/synthetic.one created
Binary files /dev/null and b/corpus/m6/native-structure-01/notebook/synthetic.one differ
corpus/m6/native-structure-01/read/environment.json created+7
...@@ -0,0 +1,7 @@
1{
2 "powershell": "5.1.14409.1005",
3 "schema": "xs2010",
4 "hostname": "ONE-M6-28BC2DAE",
5 "cold": false,
6 "onenote": "14.0.4763.1000"
7}
corpus/m6/native-structure-01/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{E23472D7-3BDD-4FC9-BE2A-3FF2E100EF51}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-06T00:56:57.000Z" color="#B49EDE" isCurrentlyViewed="true"><one:Section name="synthetic" ID="{B5650993-6656-0BF8-37AF-6D7738E0004D}{1}{B0}" path="C:\one-tests\runs\capture\notebook\synthetic.one" lastModifiedTime="2026-09-06T00:56:57.000Z" color="#8AA8E4" isCurrentlyViewed="true"><one:Page ID="{DAEB14A1-644B-0808-13F2-4D3DC66E49C4}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T00:56:57.000Z" pageLevel="1"/><one:Page ID="{F2344622-C59C-459E-B4EA-BC27E1732F5B}{1}{B0}" name="Native feature probes" dateTime="2026-09-06T00:56:24.000Z" lastModifiedTime="2026-09-06T00:56:50.000Z" pageLevel="1" isCurrentlyViewed="true"/></one:Section></one:Notebook>
corpus/m6/native-structure-01/read/page-000.navigation.json created+13
...@@ -0,0 +1,13 @@
1{
2 "exit": 0,
3 "stdout": "",
4 "stderr": "",
5 "w": 800,
6 "h": 600,
7 "error": null,
8 "win": {
9 "title": "A notebook created in Rust. - Microsoft OneNote",
10 "class": "Framework::CFrame",
11 "dialog": false
12 }
13}
\ No newline at end of file
corpus/m6/native-structure-01/read/page-000.pdf created
Binary files /dev/null and b/corpus/m6/native-structure-01/read/page-000.pdf differ
corpus/m6/native-structure-01/read/page-000.png created
Binary files /dev/null and b/corpus/m6/native-structure-01/read/page-000.png differ
corpus/m6/native-structure-01/read/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{DAEB14A1-644B-0808-13F2-4D3DC66E49C4}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T00:56:50.000Z" pageLevel="1" style="font-family:Calibri;font-size:11.0pt" lang="en-US"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="Fixture Author" lastModifiedBy="Fixture Author" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{B5650993-6656-0BF8-37AF-6D7738E0004D}{23}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="191.1661224365234" height="13.4277172088623"/><one:Indents><one:Indent level="0" indent="0.0"/></one:Indents><one:OEChildren><one:OE creationTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{B5650993-6656-0BF8-37AF-6D7738E0004D}{24}{B0}" alignment="left"><one:T><![CDATA[A notebook created in Rust.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-structure-01/read/page-001.navigation.json created+13
...@@ -0,0 +1,13 @@
1{
2 "exit": 0,
3 "stdout": "",
4 "stderr": "",
5 "w": 800,
6 "h": 600,
7 "error": null,
8 "win": {
9 "title": "Native feature probes - Microsoft OneNote",
10 "class": "Framework::CFrame",
11 "dialog": false
12 }
13}
\ No newline at end of file
corpus/m6/native-structure-01/read/page-001.pdf created
Binary files /dev/null and b/corpus/m6/native-structure-01/read/page-001.pdf differ
corpus/m6/native-structure-01/read/page-001.png created
Binary files /dev/null and b/corpus/m6/native-structure-01/read/page-001.png differ
corpus/m6/native-structure-01/read/page-001.xml created+28
...@@ -0,0 +1,28 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{F2344622-C59C-459E-B4EA-BC27E1732F5B}{1}{B0}" name="Native feature probes" dateTime="2026-09-06T00:56:24.000Z" lastModifiedTime="2026-09-06T00:56:50.000Z" pageLevel="1" lang="en-US"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="Fixture checkbox"/><one:TagDef index="1" type="90" symbol="13" fontColor="#804020" highlightColor="#00FFFF" name="Fixture custom tag"/><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:QuickStyleDef index="1" name="h1" fontColor="#123456" highlightColor="automatic" font="Calibri" fontSize="20.0" bold="true" spaceBefore="8.0" spaceAfter="4.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Native feature probes]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T00:56:28.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="354.3946228027344" height="115.9424285888672"/><one:OEChildren><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='background:black;mso-highlight:black'>Black highlight, automatic text</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#CBCBCB"><one:T><![CDATA[<span
4style='background:black;mso-highlight:black'>White text on black highlight</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{52}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:black"><one:T><![CDATA[<span
5style='background:black;mso-highlight:black'>Black text on black highlight</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{58}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
6style='font-weight:bold'>Before middle after</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{65}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
7style='background:yellow;mso-highlight:yellow'>Yellow highlight, automatic text</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{71}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span style='font-family:Calibri;
8font-size:11.0pt'>Plain </span><span style='font-weight:bold;font-family:Calibri;
9font-size:11.0pt'>bold</span><span style='font-family:Calibri;font-size:11.0pt'> </span><span
10style='font-style:italic;font-family:Calibri;font-size:11.0pt'>italic</span><span
11style='font-family:Calibri;font-size:11.0pt'> </span><span style='text-decoration:
12underline;font-family:Calibri;font-size:11.0pt'>underline</span><span
13style='font-family:Calibri;font-size:11.0pt'> </span><span style='text-decoration:
14line-through;font-family:Calibri;font-size:11.0pt'>strike</span><span
15style='font-family:Calibri;font-size:11.0pt'> </span><span style='vertical-align:
16super;font-family:Calibri;font-size:11.0pt'>super</span><span style='font-family:
17Calibri;font-size:11.0pt'> </span><span style='vertical-align:sub;font-family:
18Calibri;font-size:11.0pt'>sub</span><span style='font-family:Calibri;
19font-size:11.0pt'> </span><span style='font-family:Consolas;font-size:18.0pt;
20color:#804020;background:aqua;mso-highlight:aqua'>font and color</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T00:56:25.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{82}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
21style='font-family:Calibri' lang=en-US>BMP </span><span style='font-weight:
22bold;font-family:Calibri' lang=x-none>&#128512;é</span><span style='font-family:
23Calibri' lang=en-US> </span><span style='font-family:SimSun' lang=en-US>東京</span><span
24style='font-family:Calibri' lang=en-US> </span><span style='font-style:italic;
25font-family:Arial;direction:rtl;unicode-bidi:embed' lang=ar-SA>مرحبا</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{90}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Before <a
26href="https://example.invalid/fixture?x=1&amp;y=2"><span style='font-weight:
27bold'>Link label</span></a> after]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T00:56:28.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{97}{B0}"><one:Position x="72.0" y="540.0" z="1"/><one:Size width="480.0" height="294.3157653808594"/><one:OEChildren><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{98}{B0}" alignment="right" spaceBefore="288.0" spaceAfter="144.0" quickStyleIndex="1"><one:T><![CDATA[<span
28style='font-weight:bold'>Named paragraph style</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{105}{B0}" alignment="left" quickStyleIndex="0"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:Tag index="1" completed="true" disabled="false" creationDate="2020-01-02T03:04:05.000Z" completionDate="2020-01-02T04:05:06.000Z"/><one:T><![CDATA[Two tags on this paragraph]]></one:T></one:OE><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{112}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Bullet bullet="3" fontSize="11.0"/></one:List><one:T><![CDATA[Outer bullet]]></one:T><one:OEChildren><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{117}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Bullet bullet="13" fontSize="11.0"/></one:List><one:T><![CDATA[Nested bullet]]></one:T></one:OE></one:OEChildren></one:OE><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{124}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="1" numberFormat="##." restartNumberingAt="3" fontSize="11.0" font="Calibri" text="III."/></one:List><one:T><![CDATA[Numbered item three]]></one:T></one:OE><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{130}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="1" numberFormat="##." fontSize="11.0" font="Calibri" text="IV."/></one:List><one:T><![CDATA[Numbered item four]]></one:T></one:OE><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:28.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{136}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T00:56:28.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{137}{B0}"><one:Columns><one:Column index="0" width="120.0" isLocked="true"/><one:Column index="1" width="37.11590576171875"/></one:Columns><one:Row objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{138}{B0}" lastModifiedTime="2026-09-06T00:56:28.000Z"><one:Cell lastModifiedTime="2026-09-06T00:56:28.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{139}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{142}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T00:56:28.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{147}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{150}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{155}{B0}" lastModifiedTime="2026-09-06T00:56:28.000Z"><one:Cell lastModifiedTime="2026-09-06T00:56:28.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{159}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{162}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T00:56:28.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{156}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{167}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{172}{B0}" lastModifiedTime="2026-09-06T00:56:28.000Z"><one:Cell lastModifiedTime="2026-09-06T00:56:28.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{176}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{179}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 2,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T00:56:28.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{173}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{184}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 2,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-structure-01/read/payloads.json created+3
...@@ -0,0 +1,3 @@
1[
2
3]
\ No newline at end of file
corpus/m6/native-structure-01/run.json created+16
...@@ -0,0 +1,16 @@
1{
2 "notebook": "/Users/clo/dev/one/corpus/writer/create-notebook-01/notebook",
3 "expected_pages": 2,
4 "author": "tools/native/features.ps1",
5 "base": {
6 "file": "win7-office-base.qcow2",
7 "format": "qcow2",
8 "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346",
9 "virtual_size": 68719476736
10 },
11 "scripts": {
12 "author.ps1": "08eb8c83bd250d5a440e3957166c3cf32d623dbce23e1670f2cace29d45d2511",
13 "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
14 "read.ps1": "bec4953cc49b9ccb57041be00d7d7ce8bb88f2c0446c664b0a631e91f0007b45"
15 }
16}
corpus/m6/native-structure-01/scripts/author.ps1 created+58
...@@ -0,0 +1,58 @@
1param([Parameter(Mandatory=$true)][string]$Root, [Parameter(Mandatory=$true)][string]$CloneHost)
2Set-StrictMode -Version Latest
3$ErrorActionPreference = 'Stop'
4& "$PSScriptRoot\cold-current.ps1" -Root $Root -CloneHost $CloneHost
5$inputs = Join-Path $Root 'inputs'
6New-Item -ItemType Directory -Path $inputs | Out-Null
7$app = New-Object -ComObject OneNote.Application
8$notebookId = ''
9$namespace = 'http://schemas.microsoft.com/office/onenote/2010/onenote'
10try {
11 $app.OpenHierarchy((Join-Path $Root 'notebook'), '', [ref]$notebookId, 0)
12 $sectionId = ''
13 $app.OpenHierarchy('synthetic.one', $notebookId, [ref]$sectionId, 0)
14 $cases = @(
15 @{ name = 'Black highlight control'; html = '<span style="background:black">Black highlight, automatic text</span>' },
16 @{ name = 'White on black'; html = '<span style="background:black;color:white">White text on black highlight</span>' },
17 @{ name = 'Black on black'; html = '<span style="background:black;color:black">Black text on black highlight</span>' },
18 @{ name = 'Partial black highlight'; html = '<b>Before <span style="background:black">middle</span> after</b>' },
19 @{ name = 'Yellow control'; html = '<span style="background:yellow">Yellow highlight, automatic text</span>' },
20 @{ name = 'Character styles'; html = 'Plain <b>bold</b> <i>italic</i> <u>underline</u> <s>strike</s> <sup>super</sup> <sub>sub</sub> <span style="font-family:Consolas;font-size:18pt;color:#804020;background:#00ffff">font and color</span>' },
21 @{ name = 'Unicode runs'; html = 'BMP <b>' + [char]::ConvertFromUtf32(0x1F600) + 'e' + [char]0x0301 + '</b> ' + [char]0x6771 + [char]0x4EAC + ' <i>' + [char]0x0645 + [char]0x0631 + [char]0x062D + [char]0x0628 + [char]0x0627 + '</i>' },
22 @{ name = 'Link runs'; html = 'Before <a href="https://example.invalid/fixture?x=1&amp;y=2"><b>Link label</b></a> after' }
23 )
24 $pageId = ''
25 $app.CreateNewPage($sectionId, [ref]$pageId, 0)
26 $body = '<one:Title><one:OE><one:T><![CDATA[Native feature probes]]></one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108"/><one:Size width="480" height="400"/><one:OEChildren>'
27 foreach ($case in $cases) { $body += '<one:OE><one:T><![CDATA[' + $case.html + ']]></one:T></one:OE>' }
28 $body += '</one:OEChildren></one:Outline>'
29 $body = '<one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="Fixture checkbox"/><one:TagDef index="1" type="90" symbol="13" fontColor="#804020" highlightColor="#00ffff" name="Fixture custom tag"/><one:QuickStyleDef index="0" name="h1" font="Calibri" fontSize="20" bold="true" fontColor="#123456" highlightColor="automatic" spaceBefore="8" spaceAfter="4"/>' + $body
30 $body += '<one:Outline><one:Position x="72" y="540"/><one:Size width="480" height="600"/><one:OEChildren>'
31 $body += '<one:OE quickStyleIndex="0" alignment="right"><one:T><![CDATA[Named paragraph style]]></one:T></one:OE>'
32 $body += '<one:OE><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:Tag index="1" completed="true" disabled="false" creationDate="2020-01-02T03:04:05.000Z" completionDate="2020-01-02T04:05:06.000Z"/><one:T><![CDATA[Two tags on this paragraph]]></one:T></one:OE>'
33 $body += '<one:OE><one:List><one:Bullet bullet="3" fontSize="11"/></one:List><one:T><![CDATA[Outer bullet]]></one:T><one:OEChildren><one:OE><one:List><one:Bullet bullet="13" fontSize="11"/></one:List><one:T><![CDATA[Nested bullet]]></one:T></one:OE></one:OEChildren></one:OE>'
34 $body += '<one:OE><one:List><one:Number numberSequence="1" numberFormat="##." restartNumberingAt="3" font="Calibri" fontSize="11"/></one:List><one:T><![CDATA[Numbered item three]]></one:T></one:OE><one:OE><one:List><one:Number numberSequence="1" numberFormat="##." font="Calibri" fontSize="11"/></one:List><one:T><![CDATA[Numbered item four]]></one:T></one:OE>'
35 $body += '<one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="120" isLocked="true"/><one:Column index="1" width="180" isLocked="false"/></one:Columns>'
36 foreach ($row in 0..2) {
37 $body += '<one:Row>'
38 foreach ($column in 0..1) {
39 $body += '<one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell ' + $row + ',' + $column + ']]></one:T></one:OE></one:OEChildren></one:Cell>'
40 }
41 $body += '</one:Row>'
42 }
43 $body += '</one:Table></one:OE></one:OEChildren></one:Outline>'
44
45 $xml = '<one:Page xmlns:one="' + $namespace + '" ID="' + $pageId + '">' + $body + '</one:Page>'
46 [IO.File]::WriteAllText((Join-Path $inputs 'format-probes.xml'), $xml, [Text.Encoding]::UTF8)
47 $app.UpdatePageContent($xml, [DateTime]::MinValue, 1, $true)
48 $cases | ConvertTo-Json -Depth 8 | Set-Content (Join-Path $Root 'expected.json') -Encoding UTF8
49 $app.SyncHierarchy($notebookId)
50 $app.CloseNotebook($notebookId, $false)
51 $notebookId = ''
52} finally {
53 if ($notebookId) { $app.CloseNotebook($notebookId, $false) }
54 [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
55 $app = $null
56 [GC]::Collect()
57 [GC]::WaitForPendingFinalizers()
58}
corpus/m6/native-structure-01/scripts/cold.ps1 created+27
...@@ -0,0 +1,27 @@
1param([Parameter(Mandatory=$true)][string]$Root, [string]$CloneHost = '')
2Set-StrictMode -Version Latest
3$ErrorActionPreference = 'Stop'
4$root = [IO.Path]::GetFullPath($Root).TrimEnd('\')
5if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') {
6 throw 'Choose a run directly below C:\one-tests\runs.'
7}
8if (Get-Process ONENOTE -ErrorAction SilentlyContinue) { throw 'Close OneNote before resetting its test cache.' }
9$key = 'HKCU:\Software\Microsoft\Office\14.0\OneNote'
10if ($CloneHost) {
11 if ($CloneHost -notmatch '^ONE-[A-Z0-9-]+$' -or [Environment]::MachineName -ne $CloneHost) {
12 throw 'The disposable clone hostname does not match this machine.'
13 }
14 New-Item "$key\Options\Paths" -Force | Out-Null
15 New-ItemProperty "$key\Options\Paths" -Name UnfiledNotesSection -PropertyType ExpandString -Value 'C:\one-tests\Loose.one' -Force | Out-Null
16} elseif ((Get-ItemProperty "$key\Options\Paths").UnfiledNotesSection -ne 'C:\one-tests\Loose.one' -or
17 -not (Test-Path 'C:\one-tests\profile-original-cache')) {
18 throw 'Park the personal OneNote profile before resetting the test cache.'
19}
20$cache = Join-Path $env:LOCALAPPDATA 'Microsoft\OneNote\14.0'
21$parked = Join-Path 'C:\one-tests\caches' ([IO.Path]::GetFileName($root))
22if (Test-Path $parked) { throw 'Choose a new run; its parked cache already exists.' }
23New-Item -ItemType Directory -Path 'C:\one-tests\caches' -Force | Out-Null
24if (Test-Path $cache) { Move-Item -LiteralPath $cache -Destination $parked }
25if (Test-Path "$key\OpenNotebooks") { Remove-Item "$key\OpenNotebooks" -Recurse }
26New-Item "$key\OpenNotebooks" | Out-Null
27New-ItemProperty "$key\OpenNotebooks" -Name '1' -PropertyType String -Value "$root\notebook" | Out-Null
corpus/m6/native-structure-01/scripts/read.ps1 created+131
...@@ -0,0 +1,131 @@
1param(
2 [Parameter(Mandatory=$true)][string]$Root,
3 [int]$ExpectedPages = -1,
4 [switch]$UseCurrentCache,
5 [switch]$Pdf,
6 [switch]$KeepOpen,
7 [string]$CloneHost = ''
8)
9Set-StrictMode -Version Latest
10$ErrorActionPreference = 'Stop'
11$root = [IO.Path]::GetFullPath($Root).TrimEnd('\')
12if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') {
13 throw 'Choose a run directly below C:\one-tests\runs.'
14}
15$notebook = Join-Path $root 'notebook'
16$output = Join-Path $root 'read'
17if (Test-Path $output) { throw 'Choose a new read destination.' }
18if ($UseCurrentCache) {
19 if ((Get-ItemProperty 'HKCU:\Software\Microsoft\Office\14.0\OneNote\Options\Paths').UnfiledNotesSection -ne 'C:\one-tests\Loose.one') {
20 throw 'Park the personal OneNote profile before reading test notebooks.'
21 }
22} else {
23 & "$PSScriptRoot\cold-current.ps1" -Root $root -CloneHost $CloneHost
24}
25New-Item -ItemType Directory -Path $output | Out-Null
26$app = New-Object -ComObject OneNote.Application
27$notebookId = ''
28$failure = $null
29try {
30 $app.OpenHierarchy($notebook, '', [ref]$notebookId, 0)
31 $process = Get-Process ONENOTE
32 @{ hostname = [Environment]::MachineName; onenote = $process.MainModule.FileVersionInfo.FileVersion;
33 powershell = $PSVersionTable.PSVersion.ToString(); schema = 'xs2010'; cold = (-not $UseCurrentCache.IsPresent) } |
34 ConvertTo-Json | Set-Content (Join-Path $output 'environment.json') -Encoding UTF8
35 $sections = @()
36 foreach ($file in @(Get-ChildItem $notebook -Recurse | Where-Object { $_.Extension -eq '.one' })) {
37 $id = ''
38 $app.OpenHierarchy($file.FullName, '', [ref]$id, 0)
39 $sections += $id
40 }
41 $deadline = [DateTime]::UtcNow.AddSeconds(45)
42 $previous = ''
43 $stableSince = [DateTime]::UtcNow
44 $settled = $false
45 do {
46 $pages = @{}
47 foreach ($section in $sections) {
48 $hierarchy = ''
49 $app.GetHierarchy($section, 4, [ref]$hierarchy, 1)
50 [xml]$xml = $hierarchy
51 foreach ($node in $xml.SelectNodes('//*[@path]')) {
52 if (-not $node.GetAttribute('path').StartsWith("$notebook\", [StringComparison]::OrdinalIgnoreCase)) {
53 throw 'OneNote opened a section outside the copied notebook.'
54 }
55 }
56 foreach ($node in $xml.SelectNodes('//*[local-name()="Page"]')) {
57 $id = $node.GetAttribute('ID')
58 $content = ''
59 $app.GetPageContent($id, [ref]$content, 3, 1)
60 $pages[$id] = $content
61 }
62 }
63 $signature = [String]::Join('|', @($pages.Keys | Sort-Object | ForEach-Object { $_ + $pages[$_] }))
64 if ($signature -ne $previous) {
65 $previous = $signature
66 $stableSince = [DateTime]::UtcNow
67 }
68 if ((($ExpectedPages -ge 0 -and $pages.Count -eq $ExpectedPages) -or
69 ($ExpectedPages -lt 0 -and $pages.Count -gt 0)) -and
70 ([DateTime]::UtcNow - $stableSince).TotalSeconds -ge 2) { $settled = $true; break }
71 Start-Sleep -Milliseconds 250
72 } while ([DateTime]::UtcNow -lt $deadline)
73 if (-not $settled -or ($ExpectedPages -ge 0 -and $pages.Count -ne $ExpectedPages) -or ($ExpectedPages -lt 0 -and $pages.Count -eq 0)) {
74 throw "Expected $ExpectedPages pages; OneNote returned $($pages.Count)."
75 }
76 $index = 0
77 $payloads = @()
78 foreach ($id in @($pages.Keys | Sort-Object)) {
79 [IO.File]::WriteAllText((Join-Path $output ('page-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8)
80 if ($Pdf) {
81 $pdfPath = Join-Path $output ('page-{0:d3}.pdf' -f $index)
82 $app.NavigateTo($id, '', $false)
83 $app.Publish($id, $pdfPath, 3, '')
84 if (-not (Test-Path $pdfPath) -or (Get-Item $pdfPath).Length -eq 0) { throw 'OneNote did not publish the page PDF.' }
85 }
86 [xml]$page = $pages[$id]
87 foreach ($file in $page.SelectNodes('//*[local-name()="InsertedFile" or local-name()="MediaFile"]')) {
88 $bytes = [IO.File]::ReadAllBytes($file.GetAttribute('pathCache'))
89 $hash = [BitConverter]::ToString([Security.Cryptography.SHA256]::Create().ComputeHash($bytes)).Replace('-', '').ToLowerInvariant()
90 [IO.File]::WriteAllBytes((Join-Path $output ($hash + '.attachment')), $bytes)
91 $payloads += @{ page = $id; object = $file.ParentNode.GetAttribute('objectID');
92 kind = $file.LocalName; name = $file.GetAttribute('preferredName');
93 sha256 = $hash; bytes = $bytes.Length }
94 }
95 $index++
96 }
97 [IO.File]::WriteAllText((Join-Path $output 'payloads.json'), (ConvertTo-Json -InputObject $payloads -Depth 4), [Text.Encoding]::UTF8)
98 $all = ''
99 $app.GetHierarchy($notebookId, 4, [ref]$all, 1)
100 [xml]$finalTree = $all
101 $finalIds = @($finalTree.SelectNodes('//*[local-name()="Page"]') | ForEach-Object { $_.GetAttribute('ID') } | Sort-Object -Unique)
102 if ($finalIds.Count -ne $pages.Count -or @($finalIds | Where-Object { -not $pages.ContainsKey($_) }).Count -ne 0) {
103 throw 'The notebook hierarchy changed while collecting page evidence; repeat the cold read.'
104 }
105 [IO.File]::WriteAllText((Join-Path $output 'hierarchy.xml'), $all, [Text.Encoding]::UTF8)
106 Write-Output "Read $($sections.Count) sections and $($pages.Count) pages."
107} catch {
108 $failure = $_
109 [IO.File]::WriteAllText((Join-Path $output 'failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8)
110 throw
111} finally {
112 try {
113 try {
114 if ($notebookId -and $CloneHost) { $app.SyncHierarchy($notebookId) }
115 if ($notebookId -and -not $KeepOpen -and (-not $UseCurrentCache -or $CloneHost)) {
116 $app.CloseNotebook($notebookId, $false)
117 }
118 } catch {
119 if ($null -eq $failure) { throw }
120 [IO.File]::WriteAllText((Join-Path $output 'cleanup-failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8)
121 }
122 } finally {
123 [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
124 }
125 $app = $null
126 [GC]::Collect()
127 [GC]::WaitForPendingFinalizers()
128 if (-not $UseCurrentCache -and -not $CloneHost) {
129 Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10
130 }
131}
corpus/m6/native-structure-01/source.json created+14
...@@ -0,0 +1,14 @@
1[
2 {
3 "path": "Open Notebook.onetoc2",
4 "bytes": 1612,
5 "sha256": "fafa5dcb3cd827c7edd30c8ea2fbc957a59fb4d2a8b28b667a3c551c8261ab86",
6 "mtime_ns": 1788592288950419463
7 },
8 {
9 "path": "synthetic.one",
10 "bytes": 3348,
11 "sha256": "b0662387c3fdc256d8dbe809e3b8f73b3586559696467fb1fff8f589095fa797",
12 "mtime_ns": 1788592288941514581
13 }
14]
corpus/m6/native-structure-01/teardown.json created+1
...@@ -0,0 +1 @@
1{"absent": true}
corpus/m6/native-table-controls-01/agent.py created+439
...@@ -0,0 +1,439 @@
1import base64
2import ctypes
3import hashlib
4import json
5import os
6import struct
7import subprocess
8import sys
9import tempfile
10import threading
11import time
12import zlib
13from ctypes import wintypes
14from http.server import ThreadingHTTPServer, BaseHTTPRequestHandler
15
16BASE = os.path.dirname(os.path.abspath(__file__))
17with open(__file__, 'rb') as source:
18 AGENT_SHA256 = hashlib.sha256(source.read()).hexdigest()
19LOCK = threading.Lock()
20
21user32 = ctypes.windll.user32
22gdi32 = ctypes.windll.gdi32
23
24SRCCOPY = 0x00CC0020
25CAPTUREBLT = 0x40000000
26BI_RGB = 0
27DIB_RGB_COLORS = 0
28
29# restype must be set on x64: the default c_int return truncates a 64-bit HANDLE.
30user32.GetDC.restype = wintypes.HDC
31user32.GetDC.argtypes = [wintypes.HWND]
32user32.ReleaseDC.restype = ctypes.c_int
33user32.ReleaseDC.argtypes = [wintypes.HWND, wintypes.HDC]
34user32.GetSystemMetrics.restype = ctypes.c_int
35user32.GetSystemMetrics.argtypes = [ctypes.c_int]
36gdi32.CreateCompatibleDC.restype = wintypes.HDC
37gdi32.CreateCompatibleDC.argtypes = [wintypes.HDC]
38gdi32.CreateCompatibleBitmap.restype = wintypes.HBITMAP
39gdi32.CreateCompatibleBitmap.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int]
40gdi32.SelectObject.restype = wintypes.HGDIOBJ
41gdi32.SelectObject.argtypes = [wintypes.HDC, wintypes.HGDIOBJ]
42gdi32.BitBlt.restype = wintypes.BOOL
43gdi32.BitBlt.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int, ctypes.c_int,
44 ctypes.c_int, wintypes.HDC, ctypes.c_int, ctypes.c_int,
45 wintypes.DWORD]
46gdi32.GetDIBits.restype = ctypes.c_int
47gdi32.GetDIBits.argtypes = [wintypes.HDC, wintypes.HBITMAP, wintypes.UINT,
48 wintypes.UINT, ctypes.c_void_p, ctypes.c_void_p,
49 wintypes.UINT]
50gdi32.DeleteObject.restype = wintypes.BOOL
51gdi32.DeleteObject.argtypes = [wintypes.HGDIOBJ]
52gdi32.DeleteDC.restype = wintypes.BOOL
53gdi32.DeleteDC.argtypes = [wintypes.HDC]
54
55WNDENUMPROC = ctypes.WINFUNCTYPE(wintypes.BOOL, wintypes.HWND, wintypes.LPARAM)
56user32.GetForegroundWindow.restype = wintypes.HWND
57user32.GetForegroundWindow.argtypes = []
58user32.GetWindowTextW.restype = ctypes.c_int
59user32.GetWindowTextW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int]
60user32.GetClassNameW.restype = ctypes.c_int
61user32.GetClassNameW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int]
62user32.GetClientRect.restype = wintypes.BOOL
63user32.GetClientRect.argtypes = [wintypes.HWND, ctypes.POINTER(wintypes.RECT)]
64user32.EnumChildWindows.restype = wintypes.BOOL
65user32.EnumChildWindows.argtypes = [wintypes.HWND, WNDENUMPROC, wintypes.LPARAM]
66
67
68class BITMAPINFOHEADER(ctypes.Structure):
69 _fields_ = [("biSize", wintypes.DWORD),
70 ("biWidth", wintypes.LONG),
71 ("biHeight", wintypes.LONG),
72 ("biPlanes", wintypes.WORD),
73 ("biBitCount", wintypes.WORD),
74 ("biCompression", wintypes.DWORD),
75 ("biSizeImage", wintypes.DWORD),
76 ("biXPelsPerMeter", wintypes.LONG),
77 ("biYPelsPerMeter", wintypes.LONG),
78 ("biClrUsed", wintypes.DWORD),
79 ("biClrImportant", wintypes.DWORD)]
80
81
82PREAMBLE = (
83 "#Requires AutoHotkey v2.0\n"
84 "#SingleInstance Off\n"
85 "#Warn All, Off\n"
86 'FileEncoding "UTF-8-RAW"\n'
87 'SendMode "Input"\n'
88 "SetWorkingDir A_ScriptDir\n"
89 'CoordMode "Mouse", "Screen"\n'
90 'CoordMode "Pixel", "Screen"\n'
91 'CoordMode "ToolTip", "Screen"\n'
92 "SetTitleMatchMode 2\n"
93 "DetectHiddenWindows true\n"
94)
95
96
97def ahk_path():
98 u64 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey64.exe")
99 u32 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey32.exe")
100 return u64 if os.path.exists(u64) else u32
101
102
103def _chunk(tag, data):
104 return (struct.pack(">I", len(data)) + tag + data +
105 struct.pack(">I", zlib.crc32(tag + data) & 0xffffffff))
106
107
108def _to_png(bgra, w, h):
109 arr = bytearray(bgra)
110 r = arr[2::4]
111 arr[2::4] = arr[0::4]
112 arr[0::4] = r
113 del arr[3::4]
114 stride = w * 3
115 mv = memoryview(arr)
116 raw = bytearray()
117 for y in range(h):
118 raw.append(0)
119 raw += mv[y * stride:(y + 1) * stride]
120 ihdr = struct.pack(">IIBBBBB", w, h, 8, 2, 0, 0, 0)
121 return (b"\x89PNG\r\n\x1a\n" + _chunk(b"IHDR", ihdr) +
122 _chunk(b"IDAT", zlib.compress(bytes(raw))) + _chunk(b"IEND", b""))
123
124
125def capture():
126 w = user32.GetSystemMetrics(0)
127 h = user32.GetSystemMetrics(1)
128 hdc = user32.GetDC(None)
129 mem = None
130 hbm = None
131 try:
132 mem = gdi32.CreateCompatibleDC(hdc)
133 hbm = gdi32.CreateCompatibleBitmap(hdc, w, h)
134 old = gdi32.SelectObject(mem, hbm)
135 gdi32.BitBlt(mem, 0, 0, w, h, hdc, 0, 0, SRCCOPY | CAPTUREBLT)
136 gdi32.SelectObject(mem, old)
137 bmi = BITMAPINFOHEADER()
138 bmi.biSize = ctypes.sizeof(BITMAPINFOHEADER)
139 bmi.biWidth = w
140 bmi.biHeight = -h # negative => top-down rows, matches screenshot orientation
141 bmi.biPlanes = 1
142 bmi.biBitCount = 32
143 bmi.biCompression = BI_RGB
144 buf = ctypes.create_string_buffer(w * h * 4)
145 if gdi32.GetDIBits(mem, hbm, 0, h, buf, ctypes.byref(bmi),
146 DIB_RGB_COLORS) == 0:
147 raise RuntimeError("GetDIBits failed")
148 data = buf.raw
149 finally:
150 if hbm:
151 gdi32.DeleteObject(hbm)
152 if mem:
153 gdi32.DeleteDC(mem)
154 user32.ReleaseDC(None, hdc)
155 return _to_png(data, w, h), w, h
156
157
158def _win_text(fn, hwnd, n=512):
159 buf = ctypes.create_unicode_buffer(n)
160 fn(hwnd, buf, n)
161 return buf.value
162
163
164def active_window():
165 hwnd = user32.GetForegroundWindow()
166 if not hwnd:
167 return {"title": "", "class": "", "dialog": False}
168 cls = _win_text(user32.GetClassNameW, hwnd)
169 return {"title": _win_text(user32.GetWindowTextW, hwnd),
170 "class": cls, "dialog": cls == "#32770"}
171
172
173def control_tree():
174 hwnd = user32.GetForegroundWindow()
175 rows = []
176
177 def add(h):
178 rect = wintypes.RECT()
179 user32.GetClientRect(h, ctypes.byref(rect))
180 rows.append((_win_text(user32.GetClassNameW, h),
181 _win_text(user32.GetWindowTextW, h),
182 rect.left, rect.top,
183 rect.right - rect.left, rect.bottom - rect.top))
184
185 if hwnd:
186 add(hwnd)
187
188 def cb(child, _lparam):
189 add(child)
190 return True
191 user32.EnumChildWindows(hwnd, WNDENUMPROC(cb), 0)
192 lines = ["%-24s %-28s %s" % ("class", "text", "l,t,w,h")]
193 for cls, text, l, t, w, h in rows:
194 lines.append("%-24s %-28s %d,%d,%d,%d" % (cls, text, l, t, w, h))
195 return "\n".join(lines)
196
197
198def _run(argv, timeout_ms, encoding, on_timeout=None):
199 def dec(b):
200 return b.decode(encoding, "replace") if b else ""
201
202 p = subprocess.Popen(argv, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
203 try:
204 out, err = p.communicate(timeout=timeout_ms / 1000.0)
205 return p.returncode, dec(out), dec(err), None
206 except subprocess.TimeoutExpired:
207 if on_timeout:
208 on_timeout()
209 subprocess.call(["taskkill", "/F", "/T", "/PID", str(p.pid)])
210 try:
211 # A process the script launched can outlive taskkill still holding the
212 # inherited stdout pipe; an unbounded wait here wedges the agent's lock.
213 out, err = p.communicate(timeout=5)
214 except subprocess.TimeoutExpired:
215 out = err = b""
216 for pipe in (p.stdout, p.stderr):
217 if pipe:
218 pipe.close()
219 msg = "timed out after %d ms, process killed" % timeout_ms
220 return None, dec(out), dec(err), msg
221
222
223def run_ahk(script, timeout_ms, on_timeout=None):
224 fd, path = tempfile.mkstemp(suffix=".ahk")
225 os.close(fd)
226 # AutoHotkey (Unicode-only) needs a UTF-8 BOM to read the file as UTF-8.
227 with open(path, "wb") as f:
228 f.write(b"\xef\xbb\xbf" + (PREAMBLE + script).encode("utf-8"))
229 try:
230 # /ErrorStdOut sends syntax errors to stderr instead of a blocking modal.
231 code, out, err, error = _run([ahk_path(), "/ErrorStdOut", path], timeout_ms,
232 "utf-8", on_timeout)
233 finally:
234 os.remove(path)
235 if error:
236 error = "script " + error
237 return code, out, err, error
238
239
240def _safe_capture(error):
241 try:
242 png, w, h = capture()
243 return base64.b64encode(png).decode("ascii"), w, h, error
244 except Exception as e:
245 note = "screenshot failed: " + repr(e)
246 return "", 0, 0, (error + "; " + note if error else note)
247
248
249LOG_PATH = os.path.join(BASE, "agent.log")
250LOG_LOCK = threading.Lock()
251
252
253def log(text, stamp=True):
254 """Console and agent.log, so a session can be reconstructed after the fact."""
255 line = time.strftime("%Y-%m-%d %H:%M:%S ") + text if stamp else text
256 with LOG_LOCK:
257 print(line, end="" if line.endswith("\n") else "\n", flush=True)
258 try:
259 with open(LOG_PATH, "a", encoding="utf-8") as f:
260 f.write(line if line.endswith("\n") else line + "\n")
261 except OSError:
262 pass # a log that cannot be written must not take the agent down
263
264
265class Handler(BaseHTTPRequestHandler):
266 def log_message(self, *a):
267 pass
268
269 def _send(self, code, obj):
270 body = json.dumps(obj).encode("utf-8")
271 self.send_response(code)
272 self.send_header("Content-Type", "application/json")
273 self.send_header("Content-Length", str(len(body)))
274 self.end_headers()
275 self.wfile.write(body)
276
277 def _log(self, start, code, body=None):
278 log("%s %s %dms exit=%s" % (self.command, self.path,
279 int((time.time() - start) * 1000), code))
280 if body:
281 log("".join(" | %s\n" % l for l in body.splitlines()), stamp=False)
282
283 def _auth_ok(self):
284 token = os.environ.get("WIN7_TOKEN")
285 return not token or self.headers.get("X-Win7-Token") == token
286
287 def _body(self):
288 n = int(self.headers.get("Content-Length") or 0)
289 raw = self.rfile.read(n) if n else b""
290 return json.loads(raw.decode("utf-8")) if raw else {}
291
292 def do_GET(self):
293 start = time.time()
294 if not self._auth_ok():
295 self._send(401, {"error": "bad token"})
296 elif self.path == "/health":
297 self._send(200, {"ok": True, "w": user32.GetSystemMetrics(0),
298 "h": user32.GetSystemMetrics(1),
299 "hostname": os.environ.get("COMPUTERNAME", ""),
300 "ahk": ahk_path(), "python": sys.executable,
301 "agent_sha256": AGENT_SHA256})
302 else:
303 self._send(404, {"error": "not found"})
304 self._log(start, None)
305
306 def do_POST(self):
307 start = time.time()
308 code = None
309 if not self._auth_ok():
310 self._send(401, {"error": "bad token"})
311 self._log(start, None)
312 return
313 try:
314 data = self._body()
315 except Exception:
316 self._send(400, {"error": "bad json"})
317 self._log(start, None)
318 return
319 body = {"/exec": data.get("script"), "/cmd": data.get("command"),
320 "/spawn": data.get("command"),
321 "/put": data.get("path"), "/get": data.get("path")}.get(self.path)
322 try:
323 if self.path == "/exec":
324 resp = self._exec(data)
325 code = resp["exit"]
326 elif self.path == "/cmd":
327 resp = self._cmd(data)
328 code = resp["exit"]
329 elif self.path == "/spawn":
330 resp = self._spawn(data)
331 code = 0
332 elif self.path == "/put":
333 resp = self._put(data)
334 elif self.path == "/get":
335 resp = self._get(data)
336 elif self.path == "/shot":
337 resp = self._shot()
338 elif self.path == "/ui":
339 resp = self._ui()
340 else:
341 self._send(404, {"error": "not found"})
342 self._log(start, None)
343 return
344 self._send(200, resp)
345 except Exception as e:
346 self._send(200, {"error": repr(e), "exit": None, "stdout": "",
347 "stderr": "", "png_b64": "", "w": 0, "h": 0})
348 self._log(start, code, body)
349
350 def _exec(self, data):
351 pre = []
352
353 def grab(): # capture before taskkill so the blocker is still on screen
354 pre.append((_safe_capture(None), active_window()))
355
356 with LOCK:
357 code, out, err, error = run_ahk(data.get("script", ""),
358 data.get("timeout_ms", 60000), grab)
359 if pre:
360 (b64, w, h, note), win = pre[0]
361 else:
362 time.sleep(data.get("shot_delay_ms", 500) / 1000.0)
363 b64, w, h, note = _safe_capture(None)
364 win = active_window()
365 if note:
366 error = error + "; " + note if error else note
367 return {"exit": code, "stdout": out, "stderr": err, "png_b64": b64,
368 "w": w, "h": h, "error": error, "win": win}
369
370 def _put(self, data):
371 path = data.get("path", "")
372 blob = base64.b64decode(data.get("b64", ""))
373 parent = os.path.dirname(path)
374 if parent and not os.path.isdir(parent):
375 os.makedirs(parent)
376 with open(path, "wb") as f:
377 f.write(blob)
378 return {"bytes": len(blob), "path": os.path.abspath(path), "error": None}
379
380 def _get(self, data):
381 with open(data.get("path", ""), "rb") as f:
382 blob = f.read()
383 return {"b64": base64.b64encode(blob).decode("ascii"), "bytes": len(blob),
384 "error": None}
385
386 def _cmd(self, data):
387 with LOCK:
388 # A raw command-line string, not a list: on Windows list2cmdline would
389 # backslash-escape the embedded quotes before cmd.exe ever sees them.
390 code, out, err, error = _run("cmd.exe /c " + data.get("command", ""),
391 data.get("timeout_ms", 60000), "oem")
392 return {"exit": code, "stdout": out, "stderr": err, "error": error}
393
394 def _spawn(self, data):
395 flags = subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS
396 process = subprocess.Popen(data.get("command", ""), stdin=subprocess.DEVNULL,
397 stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL,
398 close_fds=True, creationflags=flags)
399 return {"pid": process.pid, "error": None}
400
401 def _shot(self):
402 b64, w, h, error = _safe_capture(None)
403 win = active_window()
404 return {"png_b64": b64, "w": w, "h": h, "error": error, "win": win}
405
406 def _ui(self):
407 win = active_window()
408 controls = control_tree()
409 return {"win": win, "controls": controls, "error": None}
410
411
412def keep_awake():
413 """Hold the display and system awake for as long as this process lives.
414
415 Screen blanking alone is harmless -- BitBlt still captures the composited
416 desktop -- but sleep kills the agent outright, and a locked session moves
417 the desktop to Winlogon where neither AutoHotkey nor the capture can reach.
418 """
419 ES_CONTINUOUS, ES_SYSTEM_REQUIRED, ES_DISPLAY_REQUIRED = 0x80000000, 0x1, 0x2
420 kernel32 = ctypes.windll.kernel32
421 kernel32.SetThreadExecutionState.restype = wintypes.DWORD
422 kernel32.SetThreadExecutionState.argtypes = [wintypes.DWORD]
423 return kernel32.SetThreadExecutionState(
424 ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED)
425
426
427def main():
428 user32.SetProcessDPIAware()
429 awake = keep_awake()
430 port = int(os.environ.get("WIN7_PORT", "8777"))
431 srv = ThreadingHTTPServer(("0.0.0.0", port), Handler)
432 log("win7-agent listening on 0.0.0.0:%d ahk=%s log=%s%s"
433 % (port, ahk_path(), LOG_PATH,
434 "" if awake else " (WARNING: could not inhibit sleep)"))
435 srv.serve_forever()
436
437
438if __name__ == "__main__":
439 main()
corpus/m6/native-table-controls-01/commands.jsonl created+4
...@@ -0,0 +1,4 @@
1{"command": "powershell -NoProfile -Command \"Expand-Archive -LiteralPath C:\\one-tests\\transfer.zip -DestinationPath C:\\one-tests\\runs\\capture\\notebook\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
2{"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\author.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-4BDDDDFD", "exit": 0, "stdout": "", "stderr": "", "error": null}
3{"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-4BDDDDFD -ExpectedPages -1 -UseCurrentCache", "exit": 0, "stdout": "Read 1 sections and 6 pages.\r\n", "stderr": "", "error": null}
4{"command": "powershell -NoProfile -Command \"Compress-Archive -Path C:\\one-tests\\runs\\capture\\* -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
corpus/m6/native-table-controls-01/expected.json created+18
...@@ -0,0 +1,18 @@
1[
2 {
3 "probe": 0,
4 "result": "Exception calling \"UpdatePageContent\" with \"4\" argument(s): \"Exception from HRESULT: 0x80042001\""
5 },
6 {
7 "probe": 1,
8 "result": "accepted"
9 },
10 {
11 "probe": 2,
12 "result": "accepted"
13 },
14 {
15 "probe": 3,
16 "result": "Exception calling \"UpdatePageContent\" with \"4\" argument(s): \"Exception from HRESULT: 0x80042001\""
17 }
18]
corpus/m6/native-table-controls-01/health.json created+9
...@@ -0,0 +1,9 @@
1{
2 "ok": true,
3 "w": 800,
4 "h": 600,
5 "hostname": "ONE-M6-4BDDDDFD",
6 "ahk": "C:\\win7-agent\\vendor\\ahk\\AutoHotkey64.exe",
7 "python": "C:\\win7-agent\\vendor\\python\\python.exe",
8 "agent_sha256": "ef7ca89be026695cf4412460a2eec308b0ed253fb9245597a7fe5d6938e49f89"
9}
corpus/m6/native-table-controls-01/inputs/format-probes.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{F1E9F488-6A5A-48A8-956C-C98F3C3C957A}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="Fixture checkbox"/><one:TagDef index="1" type="90" symbol="13" fontColor="#804020" highlightColor="#00ffff" name="Fixture custom tag"/><one:QuickStyleDef index="0" name="h1" font="Calibri" fontSize="20" bold="true" fontColor="#123456" highlightColor="automatic" spaceBefore="8" spaceAfter="4"/><one:Title><one:OE><one:T><![CDATA[Native feature probes]]></one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108"/><one:Size width="480" height="400"/><one:OEChildren><one:OE><one:T><![CDATA[<span style="background:black">Black highlight, automatic text</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="background:black;color:white">White text on black highlight</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="background:black;color:black">Black text on black highlight</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<b>Before <span style="background:black">middle</span> after</b>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="background:yellow">Yellow highlight, automatic text</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[Plain <b>bold</b> <i>italic</i> <u>underline</u> <s>strike</s> <sup>super</sup> <sub>sub</sub> <span style="font-family:Consolas;font-size:18pt;color:#804020;background:#00ffff">font and color</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[BMP <b>😀é</b> 東京 <i>مرحبا</i>]]></one:T></one:OE><one:OE><one:T><![CDATA[Before <a href="https://example.invalid/fixture?x=1&amp;y=2"><b>Link label</b></a> after]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline><one:Position x="72" y="540"/><one:Size width="480" height="600"/><one:OEChildren><one:OE quickStyleIndex="0" alignment="right"><one:T><![CDATA[Named paragraph style]]></one:T></one:OE><one:OE><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:Tag index="1" completed="true" disabled="false" creationDate="2020-01-02T03:04:05.000Z" completionDate="2020-01-02T04:05:06.000Z"/><one:T><![CDATA[Two tags on this paragraph]]></one:T></one:OE><one:OE><one:List><one:Bullet bullet="3" fontSize="11"/></one:List><one:T><![CDATA[Outer bullet]]></one:T><one:OEChildren><one:OE><one:List><one:Bullet bullet="13" fontSize="11"/></one:List><one:T><![CDATA[Nested bullet]]></one:T></one:OE></one:OEChildren></one:OE><one:OE><one:List><one:Number numberSequence="1" numberFormat="##." restartNumberingAt="3" font="Calibri" fontSize="11"/></one:List><one:T><![CDATA[Numbered item three]]></one:T></one:OE><one:OE><one:List><one:Number numberSequence="1" numberFormat="##." font="Calibri" fontSize="11"/></one:List><one:T><![CDATA[Numbered item four]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="120" isLocked="true"/><one:Column index="1" width="180"/></one:Columns><one:Row><one:Cell shadingColor="#ffff00"><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell shadingColor="#ffff00"><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell shadingColor="#ffff00"><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell shadingColor="#ffff00"><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell shadingColor="#ffff00"><one:OEChildren><one:OE><one:T><![CDATA[Cell 2,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell shadingColor="#ffff00"><one:OEChildren><one:OE><one:T><![CDATA[Cell 2,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-table-controls-01/inputs/probe-0.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{FDFC0EF4-6CE6-4215-8E2B-617F03047F64}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="Fixture checkbox" xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" /> <one:TagDef index="1" type="90" symbol="13" fontColor="#804020" highlightColor="#00ffff" name="Fixture custom tag" xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" /><one:QuickStyleDef index="0" name="h1" font="Calibri" fontSize="20" bold="true" fontColor="#123456" highlightColor="automatic" spaceBefore="8" spaceAfter="4" xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" /><one:Title><one:OE><one:T>Probe 0</one:T></one:OE></one:Title><one:Outline><one:OEChildren><one:OE xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote"><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="120" isLocked="true" /><one:Column index="1" width="180" /></one:Columns><one:Row><one:Cell shadingColor="#ffff00"><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell shadingColor="#ffff00"><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell shadingColor="#ffff00"><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell shadingColor="#ffff00"><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell shadingColor="#ffff00"><one:OEChildren><one:OE><one:T><![CDATA[Cell 2,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell shadingColor="#ffff00"><one:OEChildren><one:OE><one:T><![CDATA[Cell 2,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-table-controls-01/inputs/probe-1.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B8F72F38-EC65-478F-AC76-25F3C67F7550}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="Fixture checkbox" xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" /> <one:TagDef index="1" type="90" symbol="13" fontColor="#804020" highlightColor="#00ffff" name="Fixture custom tag" xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" /><one:QuickStyleDef index="0" name="h1" font="Calibri" fontSize="20" bold="true" fontColor="#123456" highlightColor="automatic" spaceBefore="8" spaceAfter="4" xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" /><one:Title><one:OE><one:T>Probe 1</one:T></one:OE></one:Title><one:Outline><one:OEChildren><one:OE xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote"><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="120" isLocked="true" /><one:Column index="1" width="180" /></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 2,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 2,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-table-controls-01/inputs/probe-2.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{26B67C4A-F757-400C-98E5-41D90284CEC9}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="Fixture checkbox" xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" /> <one:TagDef index="1" type="90" symbol="13" fontColor="#804020" highlightColor="#00ffff" name="Fixture custom tag" xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" /><one:QuickStyleDef index="0" name="h1" font="Calibri" fontSize="20" bold="true" fontColor="#123456" highlightColor="automatic" spaceBefore="8" spaceAfter="4" xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" /><one:Title><one:OE><one:T>Probe 2</one:T></one:OE></one:Title><one:Outline><one:OEChildren><one:OE xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote"><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="120" /><one:Column index="1" width="180" /></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 2,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 2,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-table-controls-01/inputs/probe-3.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{78A7BEBC-5F83-42D5-ADE0-7EA80468381B}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="Fixture checkbox" xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" /> <one:TagDef index="1" type="90" symbol="13" fontColor="#804020" highlightColor="#00ffff" name="Fixture custom tag" xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" /><one:QuickStyleDef index="0" name="h1" font="Calibri" fontSize="20" bold="true" fontColor="#123456" highlightColor="automatic" spaceBefore="8" spaceAfter="4" xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" /><one:Title><one:OE><one:T>Probe 3</one:T></one:OE></one:Title><one:Outline><one:OEChildren><one:OE xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote"><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="120" /><one:Column index="1" width="180" /></one:Columns><one:Row><one:Cell shadingColor="#ffff00"><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell shadingColor="#ffff00"><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell shadingColor="#ffff00"><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell shadingColor="#ffff00"><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell shadingColor="#ffff00"><one:OEChildren><one:OE><one:T><![CDATA[Cell 2,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell shadingColor="#ffff00"><one:OEChildren><one:OE><one:T><![CDATA[Cell 2,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/m6/native-table-controls-01/machine.json created+1
...@@ -0,0 +1 @@
1{"name": "m6-4bddddfd", "hostname": "ONE-M6-4BDDDDFD"}
corpus/m6/native-table-controls-01/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/m6/native-table-controls-01/notebook/Open Notebook.onetoc2 differ
corpus/m6/native-table-controls-01/notebook/synthetic.one created
Binary files /dev/null and b/corpus/m6/native-table-controls-01/notebook/synthetic.one differ
corpus/m6/native-table-controls-01/read/environment.json created+7
...@@ -0,0 +1,7 @@
1{
2 "powershell": "5.1.14409.1005",
3 "schema": "xs2010",
4 "hostname": "ONE-M6-4BDDDDFD",
5 "cold": false,
6 "onenote": "14.0.4763.1000"
7}
corpus/m6/native-table-controls-01/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{799159AD-ADEE-4F17-ACD4-E6CE1BCFD9C5}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-06T00:54:01.000Z" color="#9595AA"><one:Section name="synthetic" ID="{151D7CE0-CA22-0238-20BB-EC4623CAEBA9}{1}{B0}" path="C:\one-tests\runs\capture\notebook\synthetic.one" lastModifiedTime="2026-09-06T00:54:01.000Z" color="#8AA8E4"><one:Page ID="{39548F66-43E9-4129-A7DC-44D7DFF2F7B6}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-06T00:54:01.000Z" pageLevel="1"/><one:Page ID="{8BFCBB91-BD5D-4113-89E2-1913A6366764}{1}{B0}" name="Untitled page" dateTime="2026-09-06T00:53:38.000Z" lastModifiedTime="2026-09-06T00:54:01.000Z" pageLevel="1"/><one:Page ID="{87E941ED-BBE1-4BAE-92A5-B1E3990E8D7A}{1}{B0}" name="Untitled page" dateTime="2026-09-06T00:53:39.000Z" lastModifiedTime="2026-09-06T00:54:01.000Z" pageLevel="1"/><one:Page ID="{C2E26021-3B62-4E34-B0F8-F56F5C75874E}{1}{B0}" name="Probe 1" dateTime="2026-09-06T00:53:40.000Z" lastModifiedTime="2026-09-06T00:54:01.000Z" pageLevel="1"/><one:Page ID="{5CA33353-2050-49B7-846B-9145988E3CD7}{1}{B0}" name="Probe 2" dateTime="2026-09-06T00:53:40.000Z" lastModifiedTime="2026-09-06T00:54:01.000Z" pageLevel="1"/><one:Page ID="{02B2F1A5-8884-4B6E-B16E-AE349E62CA05}{1}{B0}" name="Untitled page" dateTime="2026-09-06T00:53:41.000Z" lastModifiedTime="2026-09-06T00:54:01.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/m6/native-table-controls-01/read/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{02B2F1A5-8884-4B6E-B16E-AE349E62CA05}{1}{B0}" name="Untitled page" dateTime="2026-09-06T00:53:41.000Z" lastModifiedTime="2026-09-06T00:54:01.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="PageTitle" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="17.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T00:53:41.000Z" lastModifiedTime="2026-09-06T00:53:41.000Z" objectID="{1FAE03F1-9A77-4BC3-B427-E88022EA7AEE}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[]]></one:T></one:OE></one:Title></one:Page>
corpus/m6/native-table-controls-01/read/page-001.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{39548F66-43E9-4129-A7DC-44D7DFF2F7B6}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-06T00:54:01.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{5E9827DA-089C-429F-A82E-C80C206E12D7}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="468.0" height="40.28314971923828"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{5E9827DA-089C-429F-A82E-C80C206E12D7}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Extended bytes: €  ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ  Ž   ‘ ’ “ ” • – — ˜ ™ š › œ  ž Ÿ &nbsp; ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-table-controls-01/read/page-002.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{5CA33353-2050-49B7-846B-9145988E3CD7}{1}{B0}" name="Probe 2" dateTime="2026-09-06T00:53:40.000Z" lastModifiedTime="2026-09-06T00:54:01.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T00:53:41.000Z" lastModifiedTime="2026-09-06T00:53:41.000Z" objectID="{95190A6D-1FC7-42E9-8B8D-3CE52D0E38D4}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Probe 2]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T00:53:42.000Z" objectID="{95190A6D-1FC7-42E9-8B8D-3CE52D0E38D4}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="82.36180877685547" height="58.76315689086914"/><one:OEChildren><one:OE creationTime="2026-09-06T00:53:41.000Z" lastModifiedTime="2026-09-06T00:53:42.000Z" objectID="{95190A6D-1FC7-42E9-8B8D-3CE52D0E38D4}{40}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T00:53:42.000Z" objectID="{95190A6D-1FC7-42E9-8B8D-3CE52D0E38D4}{41}{B0}"><one:Columns><one:Column index="0" width="37.11590576171875"/><one:Column index="1" width="37.11590576171875"/></one:Columns><one:Row objectID="{95190A6D-1FC7-42E9-8B8D-3CE52D0E38D4}{42}{B0}" lastModifiedTime="2026-09-06T00:53:42.000Z"><one:Cell lastModifiedTime="2026-09-06T00:53:42.000Z" objectID="{95190A6D-1FC7-42E9-8B8D-3CE52D0E38D4}{43}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:53:41.000Z" lastModifiedTime="2026-09-06T00:53:41.000Z" objectID="{95190A6D-1FC7-42E9-8B8D-3CE52D0E38D4}{46}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T00:53:42.000Z" objectID="{95190A6D-1FC7-42E9-8B8D-3CE52D0E38D4}{51}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:53:41.000Z" lastModifiedTime="2026-09-06T00:53:41.000Z" objectID="{95190A6D-1FC7-42E9-8B8D-3CE52D0E38D4}{54}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row objectID="{95190A6D-1FC7-42E9-8B8D-3CE52D0E38D4}{59}{B0}" lastModifiedTime="2026-09-06T00:53:42.000Z"><one:Cell lastModifiedTime="2026-09-06T00:53:42.000Z" objectID="{95190A6D-1FC7-42E9-8B8D-3CE52D0E38D4}{63}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:53:41.000Z" lastModifiedTime="2026-09-06T00:53:41.000Z" objectID="{95190A6D-1FC7-42E9-8B8D-3CE52D0E38D4}{66}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T00:53:42.000Z" objectID="{95190A6D-1FC7-42E9-8B8D-3CE52D0E38D4}{60}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:53:41.000Z" lastModifiedTime="2026-09-06T00:53:41.000Z" objectID="{95190A6D-1FC7-42E9-8B8D-3CE52D0E38D4}{71}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row objectID="{95190A6D-1FC7-42E9-8B8D-3CE52D0E38D4}{76}{B0}" lastModifiedTime="2026-09-06T00:53:42.000Z"><one:Cell lastModifiedTime="2026-09-06T00:53:42.000Z" objectID="{95190A6D-1FC7-42E9-8B8D-3CE52D0E38D4}{80}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:53:41.000Z" lastModifiedTime="2026-09-06T00:53:41.000Z" objectID="{95190A6D-1FC7-42E9-8B8D-3CE52D0E38D4}{83}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 2,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T00:53:42.000Z" objectID="{95190A6D-1FC7-42E9-8B8D-3CE52D0E38D4}{77}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:53:41.000Z" lastModifiedTime="2026-09-06T00:53:41.000Z" objectID="{95190A6D-1FC7-42E9-8B8D-3CE52D0E38D4}{88}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 2,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-table-controls-01/read/page-003.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{87E941ED-BBE1-4BAE-92A5-B1E3990E8D7A}{1}{B0}" name="Untitled page" dateTime="2026-09-06T00:53:39.000Z" lastModifiedTime="2026-09-06T00:54:01.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="PageTitle" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="17.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T00:53:39.000Z" lastModifiedTime="2026-09-06T00:53:39.000Z" objectID="{FF17FE50-7F7F-42D4-9999-2FB813014703}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[]]></one:T></one:OE></one:Title></one:Page>
corpus/m6/native-table-controls-01/read/page-004.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{8BFCBB91-BD5D-4113-89E2-1913A6366764}{1}{B0}" name="Untitled page" dateTime="2026-09-06T00:53:38.000Z" lastModifiedTime="2026-09-06T00:54:01.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="PageTitle" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="17.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T00:53:38.000Z" lastModifiedTime="2026-09-06T00:53:38.000Z" objectID="{0F07A429-727A-45BA-AB75-E7FBE06C08C5}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[]]></one:T></one:OE></one:Title></one:Page>
corpus/m6/native-table-controls-01/read/page-005.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{C2E26021-3B62-4E34-B0F8-F56F5C75874E}{1}{B0}" name="Probe 1" dateTime="2026-09-06T00:53:40.000Z" lastModifiedTime="2026-09-06T00:54:01.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T00:53:40.000Z" lastModifiedTime="2026-09-06T00:53:40.000Z" objectID="{FDC9B175-F088-4BAF-A50A-D9DC66768128}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Probe 1]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T00:53:41.000Z" objectID="{FDC9B175-F088-4BAF-A50A-D9DC66768128}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="165.2459106445312" height="58.76315689086914"/><one:OEChildren><one:OE creationTime="2026-09-06T00:53:40.000Z" lastModifiedTime="2026-09-06T00:53:41.000Z" objectID="{FDC9B175-F088-4BAF-A50A-D9DC66768128}{40}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T00:53:41.000Z" objectID="{FDC9B175-F088-4BAF-A50A-D9DC66768128}{41}{B0}"><one:Columns><one:Column index="0" width="120.0" isLocked="true"/><one:Column index="1" width="37.11590576171875"/></one:Columns><one:Row objectID="{FDC9B175-F088-4BAF-A50A-D9DC66768128}{42}{B0}" lastModifiedTime="2026-09-06T00:53:41.000Z"><one:Cell lastModifiedTime="2026-09-06T00:53:41.000Z" objectID="{FDC9B175-F088-4BAF-A50A-D9DC66768128}{43}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:53:40.000Z" lastModifiedTime="2026-09-06T00:53:40.000Z" objectID="{FDC9B175-F088-4BAF-A50A-D9DC66768128}{46}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T00:53:41.000Z" objectID="{FDC9B175-F088-4BAF-A50A-D9DC66768128}{51}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:53:40.000Z" lastModifiedTime="2026-09-06T00:53:40.000Z" objectID="{FDC9B175-F088-4BAF-A50A-D9DC66768128}{54}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row objectID="{FDC9B175-F088-4BAF-A50A-D9DC66768128}{59}{B0}" lastModifiedTime="2026-09-06T00:53:41.000Z"><one:Cell lastModifiedTime="2026-09-06T00:53:41.000Z" objectID="{FDC9B175-F088-4BAF-A50A-D9DC66768128}{63}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:53:40.000Z" lastModifiedTime="2026-09-06T00:53:40.000Z" objectID="{FDC9B175-F088-4BAF-A50A-D9DC66768128}{66}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T00:53:41.000Z" objectID="{FDC9B175-F088-4BAF-A50A-D9DC66768128}{60}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:53:40.000Z" lastModifiedTime="2026-09-06T00:53:40.000Z" objectID="{FDC9B175-F088-4BAF-A50A-D9DC66768128}{71}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row objectID="{FDC9B175-F088-4BAF-A50A-D9DC66768128}{76}{B0}" lastModifiedTime="2026-09-06T00:53:41.000Z"><one:Cell lastModifiedTime="2026-09-06T00:53:41.000Z" objectID="{FDC9B175-F088-4BAF-A50A-D9DC66768128}{80}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:53:40.000Z" lastModifiedTime="2026-09-06T00:53:40.000Z" objectID="{FDC9B175-F088-4BAF-A50A-D9DC66768128}{83}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 2,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T00:53:41.000Z" objectID="{FDC9B175-F088-4BAF-A50A-D9DC66768128}{77}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:53:40.000Z" lastModifiedTime="2026-09-06T00:53:40.000Z" objectID="{FDC9B175-F088-4BAF-A50A-D9DC66768128}{88}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 2,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-table-controls-01/read/payloads.json created+3
...@@ -0,0 +1,3 @@
1[
2
3]
\ No newline at end of file
corpus/m6/native-table-controls-01/run.json created+16
...@@ -0,0 +1,16 @@
1{
2 "notebook": "/Users/clo/dev/one/corpus/m6/ansi/notebook",
3 "expected_pages": -1,
4 "author": "evidence/m6/table-probe.ps1",
5 "base": {
6 "file": "win7-office-base.qcow2",
7 "format": "qcow2",
8 "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346",
9 "virtual_size": 68719476736
10 },
11 "scripts": {
12 "author.ps1": "aad63ba4d55396152d8254de38f1d28d6cedaab39d1eaa5e8eb09dc052919790",
13 "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
14 "read.ps1": "bec4953cc49b9ccb57041be00d7d7ce8bb88f2c0446c664b0a631e91f0007b45"
15 }
16}
corpus/m6/native-table-controls-01/scripts/author.ps1 created+74
...@@ -0,0 +1,74 @@
1param([Parameter(Mandatory=$true)][string]$Root, [Parameter(Mandatory=$true)][string]$CloneHost)
2Set-StrictMode -Version Latest
3$ErrorActionPreference = 'Stop'
4& "$PSScriptRoot\cold-current.ps1" -Root $Root -CloneHost $CloneHost
5$inputs = Join-Path $Root 'inputs'
6New-Item -ItemType Directory -Path $inputs | Out-Null
7$app = New-Object -ComObject OneNote.Application
8$notebookId = ''
9$namespace = 'http://schemas.microsoft.com/office/onenote/2010/onenote'
10try {
11 $app.OpenHierarchy((Join-Path $Root 'notebook'), '', [ref]$notebookId, 0)
12 $sectionId = ''
13 $app.OpenHierarchy('synthetic.one', $notebookId, [ref]$sectionId, 0)
14 $cases = @(
15 @{ name = 'Black highlight control'; html = '<span style="background:black">Black highlight, automatic text</span>' },
16 @{ name = 'White on black'; html = '<span style="background:black;color:white">White text on black highlight</span>' },
17 @{ name = 'Black on black'; html = '<span style="background:black;color:black">Black text on black highlight</span>' },
18 @{ name = 'Partial black highlight'; html = '<b>Before <span style="background:black">middle</span> after</b>' },
19 @{ name = 'Yellow control'; html = '<span style="background:yellow">Yellow highlight, automatic text</span>' },
20 @{ name = 'Character styles'; html = 'Plain <b>bold</b> <i>italic</i> <u>underline</u> <s>strike</s> <sup>super</sup> <sub>sub</sub> <span style="font-family:Consolas;font-size:18pt;color:#804020;background:#00ffff">font and color</span>' },
21 @{ name = 'Unicode runs'; html = 'BMP <b>' + [char]::ConvertFromUtf32(0x1F600) + 'e' + [char]0x0301 + '</b> ' + [char]0x6771 + [char]0x4EAC + ' <i>' + [char]0x0645 + [char]0x0631 + [char]0x062D + [char]0x0628 + [char]0x0627 + '</i>' },
22 @{ name = 'Link runs'; html = 'Before <a href="https://example.invalid/fixture?x=1&amp;y=2"><b>Link label</b></a> after' }
23 )
24 $pageId = ''
25 $app.CreateNewPage($sectionId, [ref]$pageId, 0)
26 $body = '<one:Title><one:OE><one:T><![CDATA[Native feature probes]]></one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108"/><one:Size width="480" height="400"/><one:OEChildren>'
27 foreach ($case in $cases) { $body += '<one:OE><one:T><![CDATA[' + $case.html + ']]></one:T></one:OE>' }
28 $body += '</one:OEChildren></one:Outline>'
29 $body = '<one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="Fixture checkbox"/><one:TagDef index="1" type="90" symbol="13" fontColor="#804020" highlightColor="#00ffff" name="Fixture custom tag"/><one:QuickStyleDef index="0" name="h1" font="Calibri" fontSize="20" bold="true" fontColor="#123456" highlightColor="automatic" spaceBefore="8" spaceAfter="4"/>' + $body
30 $body += '<one:Outline><one:Position x="72" y="540"/><one:Size width="480" height="600"/><one:OEChildren>'
31 $body += '<one:OE quickStyleIndex="0" alignment="right"><one:T><![CDATA[Named paragraph style]]></one:T></one:OE>'
32 $body += '<one:OE><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:Tag index="1" completed="true" disabled="false" creationDate="2020-01-02T03:04:05.000Z" completionDate="2020-01-02T04:05:06.000Z"/><one:T><![CDATA[Two tags on this paragraph]]></one:T></one:OE>'
33 $body += '<one:OE><one:List><one:Bullet bullet="3" fontSize="11"/></one:List><one:T><![CDATA[Outer bullet]]></one:T><one:OEChildren><one:OE><one:List><one:Bullet bullet="13" fontSize="11"/></one:List><one:T><![CDATA[Nested bullet]]></one:T></one:OE></one:OEChildren></one:OE>'
34 $body += '<one:OE><one:List><one:Number numberSequence="1" numberFormat="##." restartNumberingAt="3" font="Calibri" fontSize="11"/></one:List><one:T><![CDATA[Numbered item three]]></one:T></one:OE><one:OE><one:List><one:Number numberSequence="1" numberFormat="##." font="Calibri" fontSize="11"/></one:List><one:T><![CDATA[Numbered item four]]></one:T></one:OE>'
35 $body += '<one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="120" isLocked="true"/><one:Column index="1" width="180"/></one:Columns>'
36 foreach ($row in 0..2) {
37 $body += '<one:Row>'
38 foreach ($column in 0..1) {
39 $body += '<one:Cell shadingColor="#ffff00"><one:OEChildren><one:OE><one:T><![CDATA[Cell ' + $row + ',' + $column + ']]></one:T></one:OE></one:OEChildren></one:Cell>'
40 }
41 $body += '</one:Row>'
42 }
43 $body += '</one:Table></one:OE></one:OEChildren></one:Outline>'
44
45 $xml = '<one:Page xmlns:one="' + $namespace + '" ID="' + $pageId + '">' + $body + '</one:Page>'
46 [IO.File]::WriteAllText((Join-Path $inputs 'format-probes.xml'), $xml, [Text.Encoding]::UTF8)
47 [xml]$doc = $xml
48 $results = @()
49 $n = 0
50 $table = $doc.Page.Outline[1].OEChildren.OE[-1].OuterXml
51 $variants = @($table, $table.Replace(' shadingColor="#ffff00"', ''), $table.Replace(' isLocked="true"', '').Replace(' shadingColor="#ffff00"', ''), $table.Replace(' isLocked="true"', ''))
52 $parts = @($variants | ForEach-Object { '<one:Outline><one:OEChildren>' + $_ + '</one:OEChildren></one:Outline>' })
53 foreach ($part in $parts) {
54 $testId = ''
55 $app.CreateNewPage($sectionId, [ref]$testId, 0)
56 $testXml = '<one:Page xmlns:one="' + $namespace + '" ID="' + $testId + '">' + ($doc.Page.TagDef | ForEach-Object { $_.OuterXml }) + $doc.Page.QuickStyleDef.OuterXml + '<one:Title><one:OE><one:T>Probe ' + $n + '</one:T></one:OE></one:Title>' + $part + '</one:Page>'
57 [IO.File]::WriteAllText((Join-Path $inputs ('probe-' + $n + '.xml')), $testXml, [Text.Encoding]::UTF8)
58 try {
59 $app.UpdatePageContent($testXml, [DateTime]::MinValue, 1, $true)
60 $results += @{ probe = $n; result = 'accepted' }
61 } catch { $results += @{ probe = $n; result = $_.Exception.Message } }
62 $n++
63 }
64 $results | ConvertTo-Json -Depth 8 | Set-Content (Join-Path $Root 'expected.json') -Encoding UTF8
65 $app.SyncHierarchy($notebookId)
66 $app.CloseNotebook($notebookId, $false)
67 $notebookId = ''
68} finally {
69 if ($notebookId) { $app.CloseNotebook($notebookId, $false) }
70 [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
71 $app = $null
72 [GC]::Collect()
73 [GC]::WaitForPendingFinalizers()
74}
corpus/m6/native-table-controls-01/scripts/cold.ps1 created+27
...@@ -0,0 +1,27 @@
1param([Parameter(Mandatory=$true)][string]$Root, [string]$CloneHost = '')
2Set-StrictMode -Version Latest
3$ErrorActionPreference = 'Stop'
4$root = [IO.Path]::GetFullPath($Root).TrimEnd('\')
5if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') {
6 throw 'Choose a run directly below C:\one-tests\runs.'
7}
8if (Get-Process ONENOTE -ErrorAction SilentlyContinue) { throw 'Close OneNote before resetting its test cache.' }
9$key = 'HKCU:\Software\Microsoft\Office\14.0\OneNote'
10if ($CloneHost) {
11 if ($CloneHost -notmatch '^ONE-[A-Z0-9-]+$' -or [Environment]::MachineName -ne $CloneHost) {
12 throw 'The disposable clone hostname does not match this machine.'
13 }
14 New-Item "$key\Options\Paths" -Force | Out-Null
15 New-ItemProperty "$key\Options\Paths" -Name UnfiledNotesSection -PropertyType ExpandString -Value 'C:\one-tests\Loose.one' -Force | Out-Null
16} elseif ((Get-ItemProperty "$key\Options\Paths").UnfiledNotesSection -ne 'C:\one-tests\Loose.one' -or
17 -not (Test-Path 'C:\one-tests\profile-original-cache')) {
18 throw 'Park the personal OneNote profile before resetting the test cache.'
19}
20$cache = Join-Path $env:LOCALAPPDATA 'Microsoft\OneNote\14.0'
21$parked = Join-Path 'C:\one-tests\caches' ([IO.Path]::GetFileName($root))
22if (Test-Path $parked) { throw 'Choose a new run; its parked cache already exists.' }
23New-Item -ItemType Directory -Path 'C:\one-tests\caches' -Force | Out-Null
24if (Test-Path $cache) { Move-Item -LiteralPath $cache -Destination $parked }
25if (Test-Path "$key\OpenNotebooks") { Remove-Item "$key\OpenNotebooks" -Recurse }
26New-Item "$key\OpenNotebooks" | Out-Null
27New-ItemProperty "$key\OpenNotebooks" -Name '1' -PropertyType String -Value "$root\notebook" | Out-Null
corpus/m6/native-table-controls-01/scripts/read.ps1 created+131
...@@ -0,0 +1,131 @@
1param(
2 [Parameter(Mandatory=$true)][string]$Root,
3 [int]$ExpectedPages = -1,
4 [switch]$UseCurrentCache,
5 [switch]$Pdf,
6 [switch]$KeepOpen,
7 [string]$CloneHost = ''
8)
9Set-StrictMode -Version Latest
10$ErrorActionPreference = 'Stop'
11$root = [IO.Path]::GetFullPath($Root).TrimEnd('\')
12if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') {
13 throw 'Choose a run directly below C:\one-tests\runs.'
14}
15$notebook = Join-Path $root 'notebook'
16$output = Join-Path $root 'read'
17if (Test-Path $output) { throw 'Choose a new read destination.' }
18if ($UseCurrentCache) {
19 if ((Get-ItemProperty 'HKCU:\Software\Microsoft\Office\14.0\OneNote\Options\Paths').UnfiledNotesSection -ne 'C:\one-tests\Loose.one') {
20 throw 'Park the personal OneNote profile before reading test notebooks.'
21 }
22} else {
23 & "$PSScriptRoot\cold-current.ps1" -Root $root -CloneHost $CloneHost
24}
25New-Item -ItemType Directory -Path $output | Out-Null
26$app = New-Object -ComObject OneNote.Application
27$notebookId = ''
28$failure = $null
29try {
30 $app.OpenHierarchy($notebook, '', [ref]$notebookId, 0)
31 $process = Get-Process ONENOTE
32 @{ hostname = [Environment]::MachineName; onenote = $process.MainModule.FileVersionInfo.FileVersion;
33 powershell = $PSVersionTable.PSVersion.ToString(); schema = 'xs2010'; cold = (-not $UseCurrentCache.IsPresent) } |
34 ConvertTo-Json | Set-Content (Join-Path $output 'environment.json') -Encoding UTF8
35 $sections = @()
36 foreach ($file in @(Get-ChildItem $notebook -Recurse | Where-Object { $_.Extension -eq '.one' })) {
37 $id = ''
38 $app.OpenHierarchy($file.FullName, '', [ref]$id, 0)
39 $sections += $id
40 }
41 $deadline = [DateTime]::UtcNow.AddSeconds(45)
42 $previous = ''
43 $stableSince = [DateTime]::UtcNow
44 $settled = $false
45 do {
46 $pages = @{}
47 foreach ($section in $sections) {
48 $hierarchy = ''
49 $app.GetHierarchy($section, 4, [ref]$hierarchy, 1)
50 [xml]$xml = $hierarchy
51 foreach ($node in $xml.SelectNodes('//*[@path]')) {
52 if (-not $node.GetAttribute('path').StartsWith("$notebook\", [StringComparison]::OrdinalIgnoreCase)) {
53 throw 'OneNote opened a section outside the copied notebook.'
54 }
55 }
56 foreach ($node in $xml.SelectNodes('//*[local-name()="Page"]')) {
57 $id = $node.GetAttribute('ID')
58 $content = ''
59 $app.GetPageContent($id, [ref]$content, 3, 1)
60 $pages[$id] = $content
61 }
62 }
63 $signature = [String]::Join('|', @($pages.Keys | Sort-Object | ForEach-Object { $_ + $pages[$_] }))
64 if ($signature -ne $previous) {
65 $previous = $signature
66 $stableSince = [DateTime]::UtcNow
67 }
68 if ((($ExpectedPages -ge 0 -and $pages.Count -eq $ExpectedPages) -or
69 ($ExpectedPages -lt 0 -and $pages.Count -gt 0)) -and
70 ([DateTime]::UtcNow - $stableSince).TotalSeconds -ge 2) { $settled = $true; break }
71 Start-Sleep -Milliseconds 250
72 } while ([DateTime]::UtcNow -lt $deadline)
73 if (-not $settled -or ($ExpectedPages -ge 0 -and $pages.Count -ne $ExpectedPages) -or ($ExpectedPages -lt 0 -and $pages.Count -eq 0)) {
74 throw "Expected $ExpectedPages pages; OneNote returned $($pages.Count)."
75 }
76 $index = 0
77 $payloads = @()
78 foreach ($id in @($pages.Keys | Sort-Object)) {
79 [IO.File]::WriteAllText((Join-Path $output ('page-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8)
80 if ($Pdf) {
81 $pdfPath = Join-Path $output ('page-{0:d3}.pdf' -f $index)
82 $app.NavigateTo($id, '', $false)
83 $app.Publish($id, $pdfPath, 3, '')
84 if (-not (Test-Path $pdfPath) -or (Get-Item $pdfPath).Length -eq 0) { throw 'OneNote did not publish the page PDF.' }
85 }
86 [xml]$page = $pages[$id]
87 foreach ($file in $page.SelectNodes('//*[local-name()="InsertedFile" or local-name()="MediaFile"]')) {
88 $bytes = [IO.File]::ReadAllBytes($file.GetAttribute('pathCache'))
89 $hash = [BitConverter]::ToString([Security.Cryptography.SHA256]::Create().ComputeHash($bytes)).Replace('-', '').ToLowerInvariant()
90 [IO.File]::WriteAllBytes((Join-Path $output ($hash + '.attachment')), $bytes)
91 $payloads += @{ page = $id; object = $file.ParentNode.GetAttribute('objectID');
92 kind = $file.LocalName; name = $file.GetAttribute('preferredName');
93 sha256 = $hash; bytes = $bytes.Length }
94 }
95 $index++
96 }
97 [IO.File]::WriteAllText((Join-Path $output 'payloads.json'), (ConvertTo-Json -InputObject $payloads -Depth 4), [Text.Encoding]::UTF8)
98 $all = ''
99 $app.GetHierarchy($notebookId, 4, [ref]$all, 1)
100 [xml]$finalTree = $all
101 $finalIds = @($finalTree.SelectNodes('//*[local-name()="Page"]') | ForEach-Object { $_.GetAttribute('ID') } | Sort-Object -Unique)
102 if ($finalIds.Count -ne $pages.Count -or @($finalIds | Where-Object { -not $pages.ContainsKey($_) }).Count -ne 0) {
103 throw 'The notebook hierarchy changed while collecting page evidence; repeat the cold read.'
104 }
105 [IO.File]::WriteAllText((Join-Path $output 'hierarchy.xml'), $all, [Text.Encoding]::UTF8)
106 Write-Output "Read $($sections.Count) sections and $($pages.Count) pages."
107} catch {
108 $failure = $_
109 [IO.File]::WriteAllText((Join-Path $output 'failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8)
110 throw
111} finally {
112 try {
113 try {
114 if ($notebookId -and $CloneHost) { $app.SyncHierarchy($notebookId) }
115 if ($notebookId -and -not $KeepOpen -and (-not $UseCurrentCache -or $CloneHost)) {
116 $app.CloseNotebook($notebookId, $false)
117 }
118 } catch {
119 if ($null -eq $failure) { throw }
120 [IO.File]::WriteAllText((Join-Path $output 'cleanup-failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8)
121 }
122 } finally {
123 [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
124 }
125 $app = $null
126 [GC]::Collect()
127 [GC]::WaitForPendingFinalizers()
128 if (-not $UseCurrentCache -and -not $CloneHost) {
129 Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10
130 }
131}
corpus/m6/native-table-controls-01/source.json created+14
...@@ -0,0 +1,14 @@
1[
2 {
3 "path": "Open Notebook.onetoc2",
4 "bytes": 4816,
5 "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa",
6 "mtime_ns": 1788585005062916740
7 },
8 {
9 "path": "synthetic.one",
10 "bytes": 12456,
11 "sha256": "aa6f1188773f1cc41cc5c619f213ce04b30592320c6b2e32b2b4c91639423ab4",
12 "mtime_ns": 1788649421839788185
13 }
14]
corpus/m6/native-table-controls-01/teardown.json created+1
...@@ -0,0 +1 @@
1{"absent": true}
corpus/m6/native-template-controls-01/ORACLE.md created+7
...@@ -0,0 +1,7 @@
1# Native default page template and unaligned image container
2
3The captured UI operations selected Hearts from the native Templates pane, selected Hearts - Decorative as the section default, and created a new page. The default background appeared automatically; `default-template.png` and `ui-operations.json` record that result. `read/` contains the three native page exports and PDFs. The clone was deleted.
4
5The section property 0x2c001d62 refers to a separate page object space whose role-2 metadata has JCID 0x2003e. Property 0x1c001ca5 contains the UTF-16 template name Hearts. These native template fields are not in the published MS-ONE object list; the typed model identifies them as observed native metadata. The original personal notebook uses the same relationship with the name Ivy.
6
7The embedded image object starts at byte 11396, four bytes past an eight-byte file boundary. Its payload is 10056 bytes; the footer begins at 21492 after four padding bytes. Native XML exports the same image bytes (SHA-256 2035407a0540e1c4f7934db08ba4add750fcb9a62863ddd9553e7871c81a99e3). MS-ONESTORE 2.6.13 pads the object length, independent of its file position. This fixture exposed the reader's incorrect absolute-offset alignment. The regression relocates the object through all eight offsets and separately corrupts its footer.
corpus/m6/native-template-controls-01/agent.py created+439
...@@ -0,0 +1,439 @@
1import base64
2import ctypes
3import hashlib
4import json
5import os
6import struct
7import subprocess
8import sys
9import tempfile
10import threading
11import time
12import zlib
13from ctypes import wintypes
14from http.server import ThreadingHTTPServer, BaseHTTPRequestHandler
15
16BASE = os.path.dirname(os.path.abspath(__file__))
17with open(__file__, 'rb') as source:
18 AGENT_SHA256 = hashlib.sha256(source.read()).hexdigest()
19LOCK = threading.Lock()
20
21user32 = ctypes.windll.user32
22gdi32 = ctypes.windll.gdi32
23
24SRCCOPY = 0x00CC0020
25CAPTUREBLT = 0x40000000
26BI_RGB = 0
27DIB_RGB_COLORS = 0
28
29# restype must be set on x64: the default c_int return truncates a 64-bit HANDLE.
30user32.GetDC.restype = wintypes.HDC
31user32.GetDC.argtypes = [wintypes.HWND]
32user32.ReleaseDC.restype = ctypes.c_int
33user32.ReleaseDC.argtypes = [wintypes.HWND, wintypes.HDC]
34user32.GetSystemMetrics.restype = ctypes.c_int
35user32.GetSystemMetrics.argtypes = [ctypes.c_int]
36gdi32.CreateCompatibleDC.restype = wintypes.HDC
37gdi32.CreateCompatibleDC.argtypes = [wintypes.HDC]
38gdi32.CreateCompatibleBitmap.restype = wintypes.HBITMAP
39gdi32.CreateCompatibleBitmap.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int]
40gdi32.SelectObject.restype = wintypes.HGDIOBJ
41gdi32.SelectObject.argtypes = [wintypes.HDC, wintypes.HGDIOBJ]
42gdi32.BitBlt.restype = wintypes.BOOL
43gdi32.BitBlt.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int, ctypes.c_int,
44 ctypes.c_int, wintypes.HDC, ctypes.c_int, ctypes.c_int,
45 wintypes.DWORD]
46gdi32.GetDIBits.restype = ctypes.c_int
47gdi32.GetDIBits.argtypes = [wintypes.HDC, wintypes.HBITMAP, wintypes.UINT,
48 wintypes.UINT, ctypes.c_void_p, ctypes.c_void_p,
49 wintypes.UINT]
50gdi32.DeleteObject.restype = wintypes.BOOL
51gdi32.DeleteObject.argtypes = [wintypes.HGDIOBJ]
52gdi32.DeleteDC.restype = wintypes.BOOL
53gdi32.DeleteDC.argtypes = [wintypes.HDC]
54
55WNDENUMPROC = ctypes.WINFUNCTYPE(wintypes.BOOL, wintypes.HWND, wintypes.LPARAM)
56user32.GetForegroundWindow.restype = wintypes.HWND
57user32.GetForegroundWindow.argtypes = []
58user32.GetWindowTextW.restype = ctypes.c_int
59user32.GetWindowTextW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int]
60user32.GetClassNameW.restype = ctypes.c_int
61user32.GetClassNameW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int]
62user32.GetClientRect.restype = wintypes.BOOL
63user32.GetClientRect.argtypes = [wintypes.HWND, ctypes.POINTER(wintypes.RECT)]
64user32.EnumChildWindows.restype = wintypes.BOOL
65user32.EnumChildWindows.argtypes = [wintypes.HWND, WNDENUMPROC, wintypes.LPARAM]
66
67
68class BITMAPINFOHEADER(ctypes.Structure):
69 _fields_ = [("biSize", wintypes.DWORD),
70 ("biWidth", wintypes.LONG),
71 ("biHeight", wintypes.LONG),
72 ("biPlanes", wintypes.WORD),
73 ("biBitCount", wintypes.WORD),
74 ("biCompression", wintypes.DWORD),
75 ("biSizeImage", wintypes.DWORD),
76 ("biXPelsPerMeter", wintypes.LONG),
77 ("biYPelsPerMeter", wintypes.LONG),
78 ("biClrUsed", wintypes.DWORD),
79 ("biClrImportant", wintypes.DWORD)]
80
81
82PREAMBLE = (
83 "#Requires AutoHotkey v2.0\n"
84 "#SingleInstance Off\n"
85 "#Warn All, Off\n"
86 'FileEncoding "UTF-8-RAW"\n'
87 'SendMode "Input"\n'
88 "SetWorkingDir A_ScriptDir\n"
89 'CoordMode "Mouse", "Screen"\n'
90 'CoordMode "Pixel", "Screen"\n'
91 'CoordMode "ToolTip", "Screen"\n'
92 "SetTitleMatchMode 2\n"
93 "DetectHiddenWindows true\n"
94)
95
96
97def ahk_path():
98 u64 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey64.exe")
99 u32 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey32.exe")
100 return u64 if os.path.exists(u64) else u32
101
102
103def _chunk(tag, data):
104 return (struct.pack(">I", len(data)) + tag + data +
105 struct.pack(">I", zlib.crc32(tag + data) & 0xffffffff))
106
107
108def _to_png(bgra, w, h):
109 arr = bytearray(bgra)
110 r = arr[2::4]
111 arr[2::4] = arr[0::4]
112 arr[0::4] = r
113 del arr[3::4]
114 stride = w * 3
115 mv = memoryview(arr)
116 raw = bytearray()
117 for y in range(h):
118 raw.append(0)
119 raw += mv[y * stride:(y + 1) * stride]
120 ihdr = struct.pack(">IIBBBBB", w, h, 8, 2, 0, 0, 0)
121 return (b"\x89PNG\r\n\x1a\n" + _chunk(b"IHDR", ihdr) +
122 _chunk(b"IDAT", zlib.compress(bytes(raw))) + _chunk(b"IEND", b""))
123
124
125def capture():
126 w = user32.GetSystemMetrics(0)
127 h = user32.GetSystemMetrics(1)
128 hdc = user32.GetDC(None)
129 mem = None
130 hbm = None
131 try:
132 mem = gdi32.CreateCompatibleDC(hdc)
133 hbm = gdi32.CreateCompatibleBitmap(hdc, w, h)
134 old = gdi32.SelectObject(mem, hbm)
135 gdi32.BitBlt(mem, 0, 0, w, h, hdc, 0, 0, SRCCOPY | CAPTUREBLT)
136 gdi32.SelectObject(mem, old)
137 bmi = BITMAPINFOHEADER()
138 bmi.biSize = ctypes.sizeof(BITMAPINFOHEADER)
139 bmi.biWidth = w
140 bmi.biHeight = -h # negative => top-down rows, matches screenshot orientation
141 bmi.biPlanes = 1
142 bmi.biBitCount = 32
143 bmi.biCompression = BI_RGB
144 buf = ctypes.create_string_buffer(w * h * 4)
145 if gdi32.GetDIBits(mem, hbm, 0, h, buf, ctypes.byref(bmi),
146 DIB_RGB_COLORS) == 0:
147 raise RuntimeError("GetDIBits failed")
148 data = buf.raw
149 finally:
150 if hbm:
151 gdi32.DeleteObject(hbm)
152 if mem:
153 gdi32.DeleteDC(mem)
154 user32.ReleaseDC(None, hdc)
155 return _to_png(data, w, h), w, h
156
157
158def _win_text(fn, hwnd, n=512):
159 buf = ctypes.create_unicode_buffer(n)
160 fn(hwnd, buf, n)
161 return buf.value
162
163
164def active_window():
165 hwnd = user32.GetForegroundWindow()
166 if not hwnd:
167 return {"title": "", "class": "", "dialog": False}
168 cls = _win_text(user32.GetClassNameW, hwnd)
169 return {"title": _win_text(user32.GetWindowTextW, hwnd),
170 "class": cls, "dialog": cls == "#32770"}
171
172
173def control_tree():
174 hwnd = user32.GetForegroundWindow()
175 rows = []
176
177 def add(h):
178 rect = wintypes.RECT()
179 user32.GetClientRect(h, ctypes.byref(rect))
180 rows.append((_win_text(user32.GetClassNameW, h),
181 _win_text(user32.GetWindowTextW, h),
182 rect.left, rect.top,
183 rect.right - rect.left, rect.bottom - rect.top))
184
185 if hwnd:
186 add(hwnd)
187
188 def cb(child, _lparam):
189 add(child)
190 return True
191 user32.EnumChildWindows(hwnd, WNDENUMPROC(cb), 0)
192 lines = ["%-24s %-28s %s" % ("class", "text", "l,t,w,h")]
193 for cls, text, l, t, w, h in rows:
194 lines.append("%-24s %-28s %d,%d,%d,%d" % (cls, text, l, t, w, h))
195 return "\n".join(lines)
196
197
198def _run(argv, timeout_ms, encoding, on_timeout=None):
199 def dec(b):
200 return b.decode(encoding, "replace") if b else ""
201
202 p = subprocess.Popen(argv, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
203 try:
204 out, err = p.communicate(timeout=timeout_ms / 1000.0)
205 return p.returncode, dec(out), dec(err), None
206 except subprocess.TimeoutExpired:
207 if on_timeout:
208 on_timeout()
209 subprocess.call(["taskkill", "/F", "/T", "/PID", str(p.pid)])
210 try:
211 # A process the script launched can outlive taskkill still holding the
212 # inherited stdout pipe; an unbounded wait here wedges the agent's lock.
213 out, err = p.communicate(timeout=5)
214 except subprocess.TimeoutExpired:
215 out = err = b""
216 for pipe in (p.stdout, p.stderr):
217 if pipe:
218 pipe.close()
219 msg = "timed out after %d ms, process killed" % timeout_ms
220 return None, dec(out), dec(err), msg
221
222
223def run_ahk(script, timeout_ms, on_timeout=None):
224 fd, path = tempfile.mkstemp(suffix=".ahk")
225 os.close(fd)
226 # AutoHotkey (Unicode-only) needs a UTF-8 BOM to read the file as UTF-8.
227 with open(path, "wb") as f:
228 f.write(b"\xef\xbb\xbf" + (PREAMBLE + script).encode("utf-8"))
229 try:
230 # /ErrorStdOut sends syntax errors to stderr instead of a blocking modal.
231 code, out, err, error = _run([ahk_path(), "/ErrorStdOut", path], timeout_ms,
232 "utf-8", on_timeout)
233 finally:
234 os.remove(path)
235 if error:
236 error = "script " + error
237 return code, out, err, error
238
239
240def _safe_capture(error):
241 try:
242 png, w, h = capture()
243 return base64.b64encode(png).decode("ascii"), w, h, error
244 except Exception as e:
245 note = "screenshot failed: " + repr(e)
246 return "", 0, 0, (error + "; " + note if error else note)
247
248
249LOG_PATH = os.path.join(BASE, "agent.log")
250LOG_LOCK = threading.Lock()
251
252
253def log(text, stamp=True):
254 """Console and agent.log, so a session can be reconstructed after the fact."""
255 line = time.strftime("%Y-%m-%d %H:%M:%S ") + text if stamp else text
256 with LOG_LOCK:
257 print(line, end="" if line.endswith("\n") else "\n", flush=True)
258 try:
259 with open(LOG_PATH, "a", encoding="utf-8") as f:
260 f.write(line if line.endswith("\n") else line + "\n")
261 except OSError:
262 pass # a log that cannot be written must not take the agent down
263
264
265class Handler(BaseHTTPRequestHandler):
266 def log_message(self, *a):
267 pass
268
269 def _send(self, code, obj):
270 body = json.dumps(obj).encode("utf-8")
271 self.send_response(code)
272 self.send_header("Content-Type", "application/json")
273 self.send_header("Content-Length", str(len(body)))
274 self.end_headers()
275 self.wfile.write(body)
276
277 def _log(self, start, code, body=None):
278 log("%s %s %dms exit=%s" % (self.command, self.path,
279 int((time.time() - start) * 1000), code))
280 if body:
281 log("".join(" | %s\n" % l for l in body.splitlines()), stamp=False)
282
283 def _auth_ok(self):
284 token = os.environ.get("WIN7_TOKEN")
285 return not token or self.headers.get("X-Win7-Token") == token
286
287 def _body(self):
288 n = int(self.headers.get("Content-Length") or 0)
289 raw = self.rfile.read(n) if n else b""
290 return json.loads(raw.decode("utf-8")) if raw else {}
291
292 def do_GET(self):
293 start = time.time()
294 if not self._auth_ok():
295 self._send(401, {"error": "bad token"})
296 elif self.path == "/health":
297 self._send(200, {"ok": True, "w": user32.GetSystemMetrics(0),
298 "h": user32.GetSystemMetrics(1),
299 "hostname": os.environ.get("COMPUTERNAME", ""),
300 "ahk": ahk_path(), "python": sys.executable,
301 "agent_sha256": AGENT_SHA256})
302 else:
303 self._send(404, {"error": "not found"})
304 self._log(start, None)
305
306 def do_POST(self):
307 start = time.time()
308 code = None
309 if not self._auth_ok():
310 self._send(401, {"error": "bad token"})
311 self._log(start, None)
312 return
313 try:
314 data = self._body()
315 except Exception:
316 self._send(400, {"error": "bad json"})
317 self._log(start, None)
318 return
319 body = {"/exec": data.get("script"), "/cmd": data.get("command"),
320 "/spawn": data.get("command"),
321 "/put": data.get("path"), "/get": data.get("path")}.get(self.path)
322 try:
323 if self.path == "/exec":
324 resp = self._exec(data)
325 code = resp["exit"]
326 elif self.path == "/cmd":
327 resp = self._cmd(data)
328 code = resp["exit"]
329 elif self.path == "/spawn":
330 resp = self._spawn(data)
331 code = 0
332 elif self.path == "/put":
333 resp = self._put(data)
334 elif self.path == "/get":
335 resp = self._get(data)
336 elif self.path == "/shot":
337 resp = self._shot()
338 elif self.path == "/ui":
339 resp = self._ui()
340 else:
341 self._send(404, {"error": "not found"})
342 self._log(start, None)
343 return
344 self._send(200, resp)
345 except Exception as e:
346 self._send(200, {"error": repr(e), "exit": None, "stdout": "",
347 "stderr": "", "png_b64": "", "w": 0, "h": 0})
348 self._log(start, code, body)
349
350 def _exec(self, data):
351 pre = []
352
353 def grab(): # capture before taskkill so the blocker is still on screen
354 pre.append((_safe_capture(None), active_window()))
355
356 with LOCK:
357 code, out, err, error = run_ahk(data.get("script", ""),
358 data.get("timeout_ms", 60000), grab)
359 if pre:
360 (b64, w, h, note), win = pre[0]
361 else:
362 time.sleep(data.get("shot_delay_ms", 500) / 1000.0)
363 b64, w, h, note = _safe_capture(None)
364 win = active_window()
365 if note:
366 error = error + "; " + note if error else note
367 return {"exit": code, "stdout": out, "stderr": err, "png_b64": b64,
368 "w": w, "h": h, "error": error, "win": win}
369
370 def _put(self, data):
371 path = data.get("path", "")
372 blob = base64.b64decode(data.get("b64", ""))
373 parent = os.path.dirname(path)
374 if parent and not os.path.isdir(parent):
375 os.makedirs(parent)
376 with open(path, "wb") as f:
377 f.write(blob)
378 return {"bytes": len(blob), "path": os.path.abspath(path), "error": None}
379
380 def _get(self, data):
381 with open(data.get("path", ""), "rb") as f:
382 blob = f.read()
383 return {"b64": base64.b64encode(blob).decode("ascii"), "bytes": len(blob),
384 "error": None}
385
386 def _cmd(self, data):
387 with LOCK:
388 # A raw command-line string, not a list: on Windows list2cmdline would
389 # backslash-escape the embedded quotes before cmd.exe ever sees them.
390 code, out, err, error = _run("cmd.exe /c " + data.get("command", ""),
391 data.get("timeout_ms", 60000), "oem")
392 return {"exit": code, "stdout": out, "stderr": err, "error": error}
393
394 def _spawn(self, data):
395 flags = subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS
396 process = subprocess.Popen(data.get("command", ""), stdin=subprocess.DEVNULL,
397 stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL,
398 close_fds=True, creationflags=flags)
399 return {"pid": process.pid, "error": None}
400
401 def _shot(self):
402 b64, w, h, error = _safe_capture(None)
403 win = active_window()
404 return {"png_b64": b64, "w": w, "h": h, "error": error, "win": win}
405
406 def _ui(self):
407 win = active_window()
408 controls = control_tree()
409 return {"win": win, "controls": controls, "error": None}
410
411
412def keep_awake():
413 """Hold the display and system awake for as long as this process lives.
414
415 Screen blanking alone is harmless -- BitBlt still captures the composited
416 desktop -- but sleep kills the agent outright, and a locked session moves
417 the desktop to Winlogon where neither AutoHotkey nor the capture can reach.
418 """
419 ES_CONTINUOUS, ES_SYSTEM_REQUIRED, ES_DISPLAY_REQUIRED = 0x80000000, 0x1, 0x2
420 kernel32 = ctypes.windll.kernel32
421 kernel32.SetThreadExecutionState.restype = wintypes.DWORD
422 kernel32.SetThreadExecutionState.argtypes = [wintypes.DWORD]
423 return kernel32.SetThreadExecutionState(
424 ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED)
425
426
427def main():
428 user32.SetProcessDPIAware()
429 awake = keep_awake()
430 port = int(os.environ.get("WIN7_PORT", "8777"))
431 srv = ThreadingHTTPServer(("0.0.0.0", port), Handler)
432 log("win7-agent listening on 0.0.0.0:%d ahk=%s log=%s%s"
433 % (port, ahk_path(), LOG_PATH,
434 "" if awake else " (WARNING: could not inhibit sleep)"))
435 srv.serve_forever()
436
437
438if __name__ == "__main__":
439 main()
corpus/m6/native-template-controls-01/before-read/environment.json created+7
...@@ -0,0 +1,7 @@
1{
2 "powershell": "5.1.14409.1005",
3 "schema": "xs2010",
4 "hostname": "ONE-M6-A33C1CD2",
5 "cold": true,
6 "onenote": "14.0.4763.1000"
7}
corpus/m6/native-template-controls-01/before-read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{BF109DC2-6C00-44C4-B8B2-9892971AF8B9}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-06T04:18:00.000Z" color="#B49EDE" isCurrentlyViewed="true"><one:Section name="synthetic" ID="{9C3D193E-0294-060F-08C2-1BB16FEA3244}{1}{B0}" path="C:\one-tests\runs\capture\notebook\synthetic.one" lastModifiedTime="2026-09-06T04:18:00.000Z" color="#8AA8E4" isCurrentlyViewed="true"><one:Page ID="{F3B3040C-0089-05FF-2C9F-3BFB91647BCD}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T04:18:00.000Z" pageLevel="1" isCurrentlyViewed="true"/></one:Section></one:Notebook>
corpus/m6/native-template-controls-01/before-read/page-000.pdf created
Binary files /dev/null and b/corpus/m6/native-template-controls-01/before-read/page-000.pdf differ
corpus/m6/native-template-controls-01/before-read/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{F3B3040C-0089-05FF-2C9F-3BFB91647BCD}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T04:17:51.000Z" pageLevel="1" style="font-family:Calibri;font-size:11.0pt" lang="en-US"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="Fixture Author" lastModifiedBy="Fixture Author" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{9C3D193E-0294-060F-08C2-1BB16FEA3244}{23}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="191.1661224365234" height="13.4277172088623"/><one:Indents><one:Indent level="0" indent="0.0"/></one:Indents><one:OEChildren><one:OE creationTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{9C3D193E-0294-060F-08C2-1BB16FEA3244}{24}{B0}" alignment="left"><one:T><![CDATA[A notebook created in Rust.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-template-controls-01/before-read/payloads.json created+3
...@@ -0,0 +1,3 @@
1[
2
3]
\ No newline at end of file
corpus/m6/native-template-controls-01/commands.jsonl created+6
...@@ -0,0 +1,6 @@
1{"command": "powershell -NoProfile -Command \"Expand-Archive -LiteralPath C:\\one-tests\\transfer.zip -DestinationPath C:\\one-tests\\runs\\capture\\notebook\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
2{"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-A33C1CD2 -ExpectedPages 1 -Pdf -KeepOpen", "exit": 0, "stdout": "Read 1 sections and 1 pages.\r\n", "stderr": "", "error": null}
3{"command": "powershell -NoProfile -Command \"Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\read -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
4{"command": "powershell -NoProfile -Command \"Rename-Item C:\\one-tests\\runs\\capture\\read before-read\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
5{"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-A33C1CD2 -UseCurrentCache -ExpectedPages -1 -Pdf", "exit": 0, "stdout": "Read 1 sections and 3 pages.\r\n", "stderr": "", "error": null}
6{"command": "powershell -NoProfile -Command \"Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\* -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
corpus/m6/native-template-controls-01/default-template.png created
Binary files /dev/null and b/corpus/m6/native-template-controls-01/default-template.png differ
corpus/m6/native-template-controls-01/finish created
corpus/m6/native-template-controls-01/format-differences.json created+1
...@@ -0,0 +1 @@
1[]
\ No newline at end of file
corpus/m6/native-template-controls-01/geometry-differences.json created+1
...@@ -0,0 +1 @@
1[]
\ No newline at end of file
corpus/m6/native-template-controls-01/health.json created+9
...@@ -0,0 +1,9 @@
1{
2 "ok": true,
3 "w": 800,
4 "h": 600,
5 "hostname": "ONE-M6-A33C1CD2",
6 "ahk": "C:\\win7-agent\\vendor\\ahk\\AutoHotkey64.exe",
7 "python": "C:\\win7-agent\\vendor\\python\\python.exe",
8 "agent_sha256": "ef7ca89be026695cf4412460a2eec308b0ed253fb9245597a7fe5d6938e49f89"
9}
corpus/m6/native-template-controls-01/machine.json created+1
...@@ -0,0 +1 @@
1{"name": "m6-a33c1cd2", "hostname": "ONE-M6-A33C1CD2"}
corpus/m6/native-template-controls-01/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/m6/native-template-controls-01/notebook/Open Notebook.onetoc2 differ
corpus/m6/native-template-controls-01/notebook/synthetic.one created
Binary files /dev/null and b/corpus/m6/native-template-controls-01/notebook/synthetic.one differ
corpus/m6/native-template-controls-01/pdf-format-checks.json created+1
...@@ -0,0 +1 @@
1[]
\ No newline at end of file
corpus/m6/native-template-controls-01/read/environment.json created+7
...@@ -0,0 +1,7 @@
1{
2 "powershell": "5.1.14409.1005",
3 "schema": "xs2010",
4 "hostname": "ONE-M6-A33C1CD2",
5 "cold": false,
6 "onenote": "14.0.4763.1000"
7}
corpus/m6/native-template-controls-01/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{BF109DC2-6C00-44C4-B8B2-9892971AF8B9}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-06T04:25:01.000Z" color="#B49EDE" isCurrentlyViewed="true"><one:Section name="synthetic" ID="{9C3D193E-0294-060F-08C2-1BB16FEA3244}{1}{B0}" path="C:\one-tests\runs\capture\notebook\synthetic.one" lastModifiedTime="2026-09-06T04:25:01.000Z" color="#8AA8E4" isCurrentlyViewed="true"><one:Page ID="{F3B3040C-0089-05FF-2C9F-3BFB91647BCD}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T04:18:00.000Z" pageLevel="1" isCurrentlyViewed="true"/><one:Page ID="{CEEEB7B7-FAC8-4A77-917B-DBF7BAF6813C}{1}{B0}" name="Hearts template control" dateTime="2026-09-06T04:21:25.000Z" lastModifiedTime="2026-09-06T04:23:18.000Z" pageLevel="1" stationeryName="Hearts"><one:Meta name="PageLocID" content="00040"/><one:Meta name="LocVer" content="1"/><one:Meta name="PageVerComment" content=""/><one:Meta name="PageOveride" content="0"/><one:Meta name="PageName" content="Untitled page"/></one:Page><one:Page ID="{92E09529-B4AC-4953-828F-1D1072EB4782}{1}{B0}" name="Default template page" dateTime="2026-09-06T04:24:38.000Z" lastModifiedTime="2026-09-06T04:24:51.000Z" pageLevel="1" stationeryName="Hearts"/></one:Section></one:Notebook>
corpus/m6/native-template-controls-01/read/page-000.pdf created
Binary files /dev/null and b/corpus/m6/native-template-controls-01/read/page-000.pdf differ
corpus/m6/native-template-controls-01/read/page-000.xml created+179
...@@ -0,0 +1,179 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{92E09529-B4AC-4953-828F-1D1072EB4782}{1}{B0}" name="Default template page" dateTime="2026-09-06T04:24:38.000Z" lastModifiedTime="2026-09-06T04:24:52.000Z" pageLevel="1" stationeryName="Hearts" isCurrentlyViewed="true"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T04:24:51.000Z" lastModifiedTime="2026-09-06T04:24:51.000Z" objectID="{40E51230-3D0A-4B15-8CFD-067DA64C81AA}{18}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:Meta name="oeLocID" content="0001"/><one:Meta name="oeLocComment" content=""/><one:T><![CDATA[Default template page]]></one:T></one:OE></one:Title><one:Image format="png" backgroundImage="true" originalPageNumber="0" lastModifiedTime="2009-07-28T18:49:14.000Z" objectID="{40E51230-3D0A-4B15-8CFD-067DA64C81AA}{14}{B0}"><one:Position x="-90.0" y="-3.599996089935303" z="0"/><one:Size width="89.21739196777343" height="287.9999694824219" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAKsAAAIoCAMAAAAhjet0AAADAFBMVEX////d0dncvM/S6+W+4qyw
33t7akbqZ06ir2qrewNLB5OHcxtTr9/fp1eH9+/z9+fvcmL7tyN274avlzdu44d/cvc/jydjP6uTE
45ub25O779/n58/bbscncw9Lbuc2f1q3Y7++03quy3t6i1qncztez3r7gxNXm9Oq14ODu3ufbpsTJ
55+Pcz9jak7v6/f327vPcwdHcydXam7/F5uLjrcvy5u35/PrcvtDcy9bL6OPO6uq/5OT1+/vczdf7
68ve24N/cv9D46/L06vDcxdPw4uqf1aiq0rS84uDbtsyb06jfn8Os27jw+fm64uLhpsew3KrM6dTa
7lrzaocHD5eGm2Knamb20397outTZ79/x1uXbq8fbs8vs9+/n0d7z+vTi8/Pqwdjr2eTcytXcwtK/
85MnN6eTT7Ozd8fHansCy3aq64uC54Kvcx9S336um2bPao8Ok16n03erbrsjbqcWp2anG5s7H5uK7
90sDJ6Oid1Kjf8eTp9fLn9fW+4+Gt26q54cPvz+HmtNDM0cyd0qvZvs/U0dLJobXQ0c+y293Y0dW/
100cPOxtOu0rey0rr0+vnTpbbA0djYlrnd8OzT7NnRnLfLyNS12dy419u71drH0cni8u7SwtHRxNKh
110q7Gzda20r3m9PDY7ujD0cb8/v22yK7h1t3KvrLg8vDWwNDDz9el0rG9rbLNnbb7/frexNTIw7HP
12r7TMubPV7Of7+fq909m2yLnq4uepzbHPpMPWm7i/3Ky6srHFza/d2eSxuq6dzqnn9OC+17LGyLDb
1379Du4Oju5+vKsMi8yrzIytXL6Mru+PW1tq/Gq7Ot267A47r9/P273cTewtPk0dzf1Nvh4uDfq8Xy
147vHp2OLy6e7M6eiq1Kr6/fzFytXQ6sXz+vDr9vTVqsbZ3dm02KvS7OnY1+HD0q7B16339PbBqbPa
157+rCxMDXm77T7Oeu3LjYydLL6ejQpLvKuc3G5snXp7za1dfx+ffgzdne0dq94rCy2dvE2t+lxqvA
16ysDRqrXNtLPU7OkRzzSdAAAAAWJLR0QAiAUdSAAAAAxjbVBQSkNtcDA3MTIAAAADSABzvAAAI95J
17REFUeF7NnXdgFMe9x/eW050k1AtCgBoCgYSECiAJ05Gw6YhmejXVgOk2YGxckzixndhOc3p7qS8v
18eekvyeu9l7zee++9vzd9Z+vM7MzsZf4B3e3dfva33/m1mbtzHJujZrC3urHCJWPGkcnZNs+m8d7r
19T/RQSu/fnt5ZGm9p56Wzq5k5g8AnauycMuW7DjaGLeo9UrE+5dtaeNnsRFLIfMLCWVO9ZW+STclz
201ane2fSLamZIoLrutwPs7NgpFbiEXtNGUn4/aVTXLbWrVUB1ZygbwugLaiKcf7x6lxk9t+qbCX2V
21D7xH9e1NHj8p5QG8g0po2BpZF8ByGZOGUnuvakWzum7J0phZyqjupJoxzB2tbla30dzZld6pJs6s
22Q0PT4ZgYGgsfoXQGcwdHOYG1Eyfn5bzRf7ItgDto7vwq7xRKWcYu8pyEuH96M49bGsEGZ9bQOGdQ
23/r/zhjjY0uSxy3x3dyyOFFJP9w4tzeQ6wrNOxNiUPDzMji1N/sJlLc0nk1FzuQkGqzIjTB3LybV5
24lQg1l2OaNXV+7n1mD072wjE5GJMhDzJLyaDm5lFvYJZ19mS13x3NOBFRMnv14LDYqtz8Msg6GNU6
25cd2K6qATP0HtKphW9EL6iWFNsdb0JqT5M/zJJ82yx/qlzJrLkQhmhrWmV5COzuBtS1mT/KrvKlbh
26G2GEdb1E4lztNaaIpIckrQoOw5mMAdYauQSvh5mWyFXarFQE+qySvRMASJMPzDomb9YcDl7arPKo
27rNeDWS8qsM6DL9COsSqoFBazRiSB8fTwBdq5C/OVLBYl/gd10ZQlgOPsEU0NeOFSjhW1/NChknGA
28mBqy6jbglPo8iBHAon/lwitVBUy2NOuC9ZLW5A9b5iBvLJFgcfKFKbdmveVLmgPcQxPD43j+zBu/
292MbVpbjrruAFSPqit8oRWzqPTYQc/byLFLcHxq21yqwVelMrRgIPxeT6J7lKTyHAkrJL02VFLkwM
30JTjOYSaFh5TtqlnGRrRQBfVTP62epiuzaq5zhVnXCqPRSZw4q7Nq9glDHmutRPa8CsEqsg65uo3t
31IKsMai7XvzYNq+4aV5BV0r9DWEW7rnV1e/CBCCt9flBFSx+L56B+W9s/t5olxEpm/6pmNdZ52nJ1
32/KwqmdOwysG53Lj+Yrc/FkiqFZtW2Mby+d/prqZ3dRxfjG1W8+5KR7dpJgMglfD1fBUjvBLrWl2P
33BWB5R6A2W5RQc/oScBy+M2CRdVxfAn7BWmSdbkACDi5H8LDIOqRZvuAsnROBRVbdvAWzzvbsqubd
34VebWSd1qm1Q/Xhvbns9q00xdaaHmLVXZiwW/plcVeq/2XKywJFC579yxq4zMLEjsGVatkyIP/kum
35zMrFrjb50ysd+evmWJlhLQn2W+ZQHYe5ArU8T9a2v2qSlfU1FfsTcrDf+nmTrA7rwJnyBC+8/hgY
36r78Ar+YrRlEdttfKTOh6/qUiGS8+k8t90Swrqw8UqsN4AXzkWYoK/r3/DwyjOkwFBvIXZlRCfNM0
37LFVBs7ZiP8gZFf93y1HDtNQX6MaDj4RQi8WOw4ZhafmtsHAZIdnnea162PsNw5K+hmJvPcB7f4RZ
384UOGYek2YZ3p9UwMqnFYuv1aqf3it+v7Y1mLhjVLujDpVfB6PGqxw7A3IBlX6ugVp1bsugzPLwKb
39Mt96PsGs4CnTQQGX4FK7rsIe67Fk1uICw5bFsHLrBkFafmZtKAfjyiYfvWkVkOZGmvnFSaD7Qh6N
40hh23eVrDXtZx8OaHFLH2zQzrSUyKRjkH+4hhEdDCVh32RUq1g0PN5y9tsBdrU8NSpHIfKhBCN4M1
41rljQ5ELdQ0XLvpEQbQiggj/3MFjD0QtqahYqbdVgqVwvhVk9WNM+FsLirXBKsCTJ3hOBms9fIZY1
42P7tQ6wjqYEh+dS5HAizxVkHN0glmOCsgjmU22ikin3ThLLs70qz5/AUSFoy7WEILSwXx1nESvV7A
43d/l8DGt+B37ehmBx0xuaVjL3xmn2pjjUfB57rvnGwwF7w0mgWvFWDWhazBo9s9AFXEAH2JlcmBc6
44hGaZHZmPIRR/yPIbGXtZ3q5HX7v3CDL2zTujRuwNd45JTDHM2hCvAWJYj2n/FixhNDpOmfEQg0C2
45EyLvhVhvJ6ASxdLIdQdZlB+nzNh2WY9QCChzSZAruArkCnDCPXovSApte8eIEJz1je5Y4noCCgV8
46Mhg2cQNjXdARgQoeOmUG1hmsTqRFrF2JGsjD4AXtuj+aFDy6xYwOQEbT2zM2HKdbxBodYNkF3ACH
47ANRTsagGYcG6+JHmiehWImJNNmv+ScSahGq2UVezrHEoyriQNSJ19dF3QdZkVBAtTMkAaX/W5Iy2
48UAsBssYlLhQYhK75ryEB3L7RBV3xpR00WeRkYUyzZKKGcWVY8+AWQ6hubg42lPsLc/C0+ZwhgAtZ
49g5VWSL7IepsCuVhDyLY2krHZ1d5Mg8sEUqxXwnH4fNC0hoKC31uDz1I9hNPxxyRZI6/nkq/lAZRi
50dH4x5FlH3DbocyVZYxKxBq6JAHViQwW4MhsDpoVlrEgDl+JzxiCsmawrHLJBO2EY5doi1q6EfKHB
51LwNTmUGIFnxW6aQMa1J2m7/kn2C2DAsaNc2rJOyaHILP+9KEKUMpV/htBt21oOa+IcgHBE/D1IYN
52i4VZr/tVcYwVsPola82uYHPHl7VZaQ8B29Yi6+BfisotCYHwvsAiq/PPwBYSOImHkOaMbbs6s8AZ
53BHWB8FJQRUaGTbs684X1lpCVNJKs29W5KQ5cQlhuJcSqXe+I+gNC0nyeiwdWWUfFBZeQFlZkWejV
54Af0pIYzggMxYgWAFzQzhpXisHVY14CzQn1yeXk0nhbWt9ceX4lF/tdZxOoRVt8iwnh8wuih+9fjm
55gm883QqafyIYwfNsidHgCmNtfQAUUf/9f8WvbUhdhBe3zJm1vs5vUvbX9+mlsCwfMNbOWLc9hhQ8
56/DNS9os7iOZZxjbyHIgnBc98XAOWmdXUil0yaqHwzdSwDbQ6NOWvRKiF70nNSvtapnzAukQBoCc/
57lxIWdpLhMNXTrI1yVQH8lIalYjWF6hwXm7VQ+KE0hqWo80213VbLoBY+n4KVopqaVo6zT4r1FXVW
58kgd0mHJWjlMrhVoo/IkiLO1sbzG4decpP+veywfnbAQ7DNrnHNw1wD+lGA9oW9toC2spBzRysJ3/
59RoD2gxzt/6rY9QJxq/ONdgY5CYwc4kHR/9vPsSt5qzwrXYZ5xFxihQqKqxRm4FqIFD6wiz4vzcpI
60zc0pUvrUE5a9vrvPYTNYObte2IMTgPkpl13WHahfuhRmp6AsObDaX58Rucaiuu07ydVIlIgNO/By
61RsfNdDq9ui+QQ29/ClRRbOC0dSDOqsDAcwiraOHgUjkBPZXOpKuPRyb7+zzjYpA5kVolD+7Fx+yJ
62F8Gl8+WkqNpyM+V8qo0tS+rqqWERxq4kVPcgZmWLyF1Pwr3QZOzp7iYZ6iP3phakjvtJZUlhOzYt
63Tgeh848f7TxrF/Kc833j3tTUnZTmJCZbF1fr4VPXXYXHtYrN6rpIBG+HdgWB895+g0FTDhWc/QBl
64DccAv5EvQ9Y3AL1e2DCV+i4ntIdqk62KTAtgoV13JioAPIkE+4byfMPfpHNFoi6WVKZ3ALFeFrEi
65r/WZroZ/FJ003fNyCXRhHWSNDq7cBRyCrN/I/2Q6FOGros26d1cfGudoLKqDfkAkV9eFrB/7HeFJ
66Ux4QVuvOy7zD33gd48IQK5IAZv3Bz6ZEEb0sVEWPhG/0QWJc4dRCrK/8gOicaZ9nmR72pQPXI23X
67h54ckbLrr6RFEb6OZnoYdW+cIg/BvF/MuhEcxYKy8NyqB/hYd8YnUe0gJIlZoc9qVUWQPt7HmjTP
68AawcK59HSmNIHcizJrv69p1i1uvAX0idNtVBfOMvOYlyD50Tzi0wB+3JFadPeAhRxKFgpFBYl8pk
69ci/yWPuEZhMeMFDYLHfWdEd53f/E8kSICQ8ALut4Ogq5V3l9Sn3Wa3YlwAlWn/WyXQk4Dkte9Fl3
702vQCUCZMBMLsVKRZINdA/0NOhvJHsWRb2w9ctxkI8AU9LetfRXY9V0AVr81Bw8GAiEXwfLvtmQWN
71QJvAmoK9jmpzy4PWBrv0DLu3zl6K5VmA1IdJPUDxZRyy7bAwL21nHBQTxR+xKxOzOg5ZYpEo/mJZ
722wcsZoO+SUCml4Zh+zIyq+OsxpE2oeASOayBpyx7AO/tSe2dOnYdtJq4BsxA0gJx7h9p4PYBe+Vr
73xP3Ckt2bzhX0Pe2srFqZmQrIRoZUKmj/sf8sg2PFmYx4SSs+RRr7lnciUjTuy4YWww4ISu+QSJ57
74m0cK/9eZiRRwxhW/Mhip5efe5UcFSsjEtLizIe6vcNBh1LKyhVuzMG0rkoFKwhUQALbxwmNZwGLN
75ysP+RFAA5O9sYNEeLFnYT74phrUsExnUok7MuYT1bE6t745DzUizuAqX8gbvi0UFml2chWadq1C0
76AxKpARcDwtQrMmF1VqPkQBhu35Jg1syCguMcgKYdEYSweLXii6jKxrJOLSwYBxJN+95ks5aVbcuI
77FexugELYmZDKRIYBH382qQGySCv0tSNxtM9xvvWBR6eBsfyJB/2mzsgX4Nt3IIH2HYyr6TQkRWPJ
78XB/tfZmpANkWKmEkqsD9EqV6gJGC/7Q87IPNxskyi6yG+7Z2Xg75hEhUQLubh81QsaQvcwD2Pfde
799+FS5+qzKtYBB5udK/DUtvopmCbsve6lCZ/CRGtaeAUQ0XKwdzNVLD0Zxj1H3QIpBxaFUX2WzXZ2
80cYZBO/nw7tfnsO3CCkDsnmYXlsSunheD0QzLdW6EAhDsA0wGmSSycQYBS+MgFf8AgqmMUgB8rGUN
81hT1bQsOC4FsHdmrhvMULAkHo5ZS1ZIIlPmx74RoKsDFqRdyVBHZmSe0KW6B/hUginQCxcAvNDUrM
826rR+DaI+GKdWX0goNavzx5D1iUTWacSwJXUE0FCdkHV5MitxsllVB7H37xZ0rsmo01rw7Co560wA
838bCAdRpOD/2sK6uOdXZWZcq/AkDsFrHihIvjOnZrIXW7M89mltpKyHXatNM+1pWdDBQDZ9RWduC5
84RGadhj0B7sYuDpLCp7LJxMGJmsSsSLAI9e42evN9/67IwKGtBGcUeFcaZ2FSuPhMJCl4MINObZXM
851MI5N8gHVsKZGDes52GQNSkZIPJYBGeQszUwpwLUthMxyBqfDzIhQ9azx5JRrc8wyCqeWtOQXRPu
86P3nKbsNegRXzzH24chEYj1ayeoG/BKvFLmCVcFnIrnA0LfFuwulKfxsJPm91kUmJtSkwC1u8wpEa
87d4XFgLtYzq6PwrsfkTYsCpn2jMWMPLnWoncc1FxrIt2FV+ZSy1rMvBLKbc4/PFD2QEwDoaUp4B62
882VOBHGtTbP9g2rSgQ7CXx8yMb2NwduWmf8gbB2Ww0NrquBxrYrhgRTlRg7VYe0bKrsmhbXnAG9hS
89bGdiz0Ui/MJD+KYyzBws+a27UnFLxOxfW7C1KFplhLXFrwJbs8sIq38dxJoItok6GaL7j5/3Ld7d
90siTYmTL5q5jXN71sCbZTpi4Qs07zKdaSXY/J1FsSrE/weYEl1q3iFpEE6TSWjiNkS6zOwoS8RIqS
91HJSBXZ2ZMkWMBDSfHNqya2dyB16CEh/CFTTW1u2qyuLW4aQx0YF0vQZowd6SjSFHwLFaTLfNTC6O
921V7N1SnswUuJwWO1uNdgq5mMwPMD9iTgOAsFa0ZSZuWCrK2UEHrC+3bL0SQexdaYy2y2M5xjJgTL
938gG7e7kWm0gLWQJrtVfoOLfQbjetwfJXaxU3idtnJZY3kq+EFVy20myWYazUTgloMmCzp0lwV2h6
94LaqADFCdTr0wSxsvWaA6W9foTCyKestWc8ifDm+TWDiKuxyKajO08rQaoetRXMFus5dcBaqM9KGL
95pFdnsrn/EJvmWsslFjx5LZzG2dXMzIwKYfH+nJakTWUResVLXNvsrheGCs0VS1B9pxRsl6AcIGtS
96x5kJPeyjKvELk97K9O5jE98HuwRN0ons6UpIuu2szbQ6tsnQCViXS1bfLUtgH3tFZwb7RiJ5zwDW
97J2Ry7uW7wdRfceZudj4qxDsTzK0HoQRe/dDjcLzn1b8IzftFSyqbts08c7YEEuV5P/rXcBfW8i88
98/lH+0Zdffvn3EPnjn/jEJ85WVVWV0JiM66e+AIy4pOxDPlJbDbSk962q6uz8u9/4o/9bsmgRTlM/
99/Oqr73n88X95+bfwq17+0IfRw5UWexDi615c1XlrW1lT5aLY7tqHX/VUWWmvZSZC3doJdlPNVYhE
100TSVivXsf3KCkAAo1UArWlWfgpr+5lYp91RKwVsGtwmUPolxEaSzJem5VwY3C6jaFF7Xc2vJJ5NTC
101pGXcZ/FULJvNZ7cx+GK8jS5qc5IU8sPZ5cx38d7ENan7Ertt96KoFohRIz/fJmVVkBBkNLm2km20
102igWT/yoezCR1riJ7U/XWAJ+wtVOFdwTHyGJo1AccJQWAvFYGkYuizk09rcgFzbWeoMINt2hIl3Zx
103tn7AttdaSfdRazX7EP6jtnaqUMGyjfSK/Z0I47ZYW6HGsOgTWChdUZhFcYc2WV1FgZ+8MKRWcAF2
104QxfOVuDQaPcyMy+3Gbo8s5pZAZ5rsZnifUJBL2RRyz5sMXR5n/uQafCIZ5/FQoaFAbl912LWRfaK
105A+awTLG22Pu4pucFzOwNBQ24TlHjIe3z3Ie/zMytafY6Gsy5gv+IxShzRKW1MMuz6iaE+EqWWKtm
106eVbtTQCIdVGZrbyQ/1ididwFLHFZ21vD+QGpDzlKKNbabkDfhwDNeII1tibXWV6wZjYxNpVZKrq2
107+lj1ixigkSZrkcv/8Wrt4hCwVlpzBP4PWGsX3YjVVpT1cm2kBs1mBnQTlWXWilmf15L7pGOy46q0
1085rQcLoNFlk3cvdQiUZNVWvyKv4Bhy5bEm61FxlGADSxpsz7h6wKKLYuHbVlTalavmUF9bYxlwT4q
109mZoM2NViLRv6toXIjAtuTpLZigeOs7joHv6+hfCawSL0kdvSszq0/8oF3Cd8i4anyZ5PmW1CYNuF
110RbuCnTW+tAD/wRZjT+9mH2OW6STaZnWCjgvjrmkCg35gDapahhVcmFW7OouTvs0Eca+4K8kKDrPL
111KoRdsRimuhJ6hV9AZZlVAHvfYgdmZBJ+AH41hm3WRFjY/IOSlmCFW6+tszrIclFjG4pDMCuXqMjg
1125y8yYHXI6nGAtxPXT/BRibIcbmjNgjXqe5jYF3GhKxBvK4FHCfMlMwesPMO3N7Zxv5uBWBMSRpxK
113oo8LmUGReZeqzpnQ28685dtICb7JBQzhMjj6fj+Zs9g8BlfnwgUQuFs0gxVkwZXiGScSAYzI3y6s
114Aq8Fv8zHWs0tLxviyZLTF5Q7/kMWv2uWCE46NMmGRUnZ156Wt4CdI2namJS/4M82/X5hnx0E6Xel
115EfjBhHiAPoXxJndvqWFZ+zPex55GZn23u3GgsNTyr1wmm9hrf8b6LVyVfcB1D+0s1GX1s3GR1Cz4
116xnUTycdx3wK+dbv9XKGwub50/sArIGMkSz6R/Rz63Zg54DePC/us/zBnjBa4yjyy9Um+6vdd9Cdu
117Nl4Gvz9fVyJcLgOLgKUfxfsU93M813aB33Sv25fpb8hhS/NdhNBXzbGvF3uv/9e5EO7m+qzdgq+j
118ONcfbBnqm0I/JNZ+EPwGfeHpjI3r73jwbaTlrDXztqgfPZsD3EJhcwY/1epNtUAPfO5uEsJauO+6
119gB4rYmzclTUt2iLPj4crweC/VSwsAQqOnNjm7JTAth4GmdnfvBcImvca8GEZBl9uf0w07ieTfm+y
120/TL82anMwll0Q5FxR84sDn8ONG1WQhCo4H2in/Fsh3OscDybTAG2NmPHl0So4PnrEHb7Oum8WedA
121/zK+HztRrcwhgEBWqMvG2cZ/STLIXGXGIQhbOK5jMOnXxsG+E2eD4oFhsynKYmADWUsCM4bdnskM
122i4R9h9ig7IgsYSMmmAoqqMigYTOybFXwu/3VUF33YIaw/q/3f6cwCIQEguJtIaMWzUr0WU84/uO3
123ZT0ATwwz8Ky8AfBxdztvgZby96b7/XnQ8YDjKWlfaeLAzSl/fh5F20Ihu5TWcepT/u6468LsG4Tb
1247OrG2rqUZnXdjdiwS03cXKn3OJ5OrWiWYV9QyKr1tbqQ2qyg7YWnVyGbDNHZN6AQWkOH9mHW7VJ3
125UPeg1eJf7U26FqLYbBzXvoLqz8770WGTA/qCDFKu1YVzOhJw3WuYNYvMu15nZqGrJKwF6062tq4g
12691vj8cYnIrBfJRzQlYDrEk9gX7HbtSXgzqEisJzDrCtoegEgDca6Wdd9Jr/+eCF12sIE3E7tajl4
127wd8O1R6M1WrD4GqhcE0bFReJ1gMt+PV2vaAFL5TptVCwGbvqCuK8Reh+qc8ClrVYIAAvMCKUwGUR
128LK4Q0bDotfBvCAtGn+AQmmhBVospN/jla/jjzMmjT3AMLrnwsMdaC95dXBIAOV5PuBpSymJWe32N
129VvDu9PfE42ng1ImXAW4U2bcrkKsEK1oeGImZYJwPsKqBz/6TFCvW40CUDtDiHD+steV/+BUF1kJh
13058GAbQ8GSe1Vs7/7h9AiYr2Cg45j2w3sOoh+gB5U2nP6aIbNm9VWojX67x+TYoXus5XAIq6REdIS
131CNx/8Kcll3X05/I/LcUKS79W5+kwWPgRS6Xs4Z/Nd30Dni3JdaLbDd1Aq1MLwoZwWDHr6NSefP7J
132P4cnF6avcPkVpCQSsDYacEenOm7k8/nyNyD1CSIsSvhg+lQrkoH++tHoAt/YP3VqS7G7C6DmryBW
133UcWNpjtO9WDoiB9LNXLXo3em7s3vKIZG9w1EyliT6wKcR5O0tHVzPGpqrS6YIpS3u8vLu7oIHEZk
134o/w70ZmTO0TY3dOOSm19XTTtvnQ9l9H997Atu8u7GgJ4flZy2qQihiRRXi0cRbv5eCpSCrppz/lE
135TgjdhfWaZFjSVvOHo6v7OCnULa1P1yU+egrrs3tHkj3Zc4Q1vpKdQwJUyBnVtrbWg3G1Ne18WjAf
1363/s9F6RI8/m3EhEMkCAf9F4si049b2L6KJS0XHjv2ZVQ1sJAVAKz0cuizG4rPUpsekXWphD4u705
1373RdMpdEmNzrS3ukos45O4bt/O9o5xUni4xzOQB/nDub0cWW02SJqwSMY9Yb87Uf43/T7yp0jl/v6
138+i6P+DjhIQaTfWLUTeclp5R3WFLI9J6rM9apHN1C7v8lZdT8/0jBGvMCh0nE36B4/9GFfU6G1VgC
139rYWa/zosDkXDlFop6qY0VgWG/bwI1NwKNkUtptAqEsGfCg272ZBvZajl6tOKvIILB5EmrkuXmIQ8
140B/UAxQ2pUb2cIFoMplCdUzTlV4tW/gv7+tsTJKtTlvhMu4CidmuYNZ//TVwdRAyDHzMigbVYlEtW
1414y7o/Pd/Jho1ZVkSFeT2s6JPy6z5hmLxx5eGaLc/ZWj+I3RmVj0J5PPdxQ5n3XGurbJ934FU9VNs
1422nCHmTW9w8I3pLxYPAxP0wrqkqutrWYxET+pVQHxk3oayHcVi1PGMqnIN/KaFDoeC11msbjFLqvX
143TtFm3VAsjlqF9Vh1NZDfUyzeyYhVd27lnywWb2bEquuz4OSanxFrUdMPwGhQrLEJy7Uq1WvCwNWB
1449/rljFi1RdBdLP63TcPyLWBdrwVYv1xt0bA8q65hbxSLX3UH7cGy1AVCayoWZATF5h57KrjJG3aT
145Ssct7DYg69+6R6wZ9jDPqlVxoUyr+Eyba0+ypIlJkPckONkGkUQg6+s5i7BeAotw42EbNoj8xHnw
146+sdyAPaILc36DRubxjbsKUqy5oabeyx5A79i4yzbADI+ESvUwIs5MOYBHcyyMsV8rgDKIKKpdQmg
147FkVeArLeD1kt0pLOK/MIG0JtrR2b4JOixhzHmsv1D689st68bY+GVlv9XfgLIHjCIaMBYlds3Ivf
148VW0cd4HPycI/Nt1gtj1/BT7QAaagKqsdXK+h4VHfvlJeXn6jG939YsdhCVZoft6uRLoXf9GsdaNg
149OWN3HHaAqEVVTjQrIB5vqzgx25x2E2EBqgPIbwgqB3gLwnZF1u2/ODZj0liESICFqJBV1J+FNyKG
150FeAOj7nVpoy7IGLvBZLBFtT6ETstUBsmsSLaRkN+ga7FBpzCKdyggI8mdz1BzZ3Mimh7lpkR7lTY
151tI/Q9gQEuZIoWNDLELHmctObTdEeZf14bNyOKdb1QX8nRi4YhhP0ij1Yrr/NdQ2lNqOveRH33n7u
152diHWJK91AR0BckLRGB9z3UZDs2x0wRQYry3w6wqljklrdTtkWXP9E2DnxgljHiysf5zmJhgWheLi
153R0RWRc+PN7tuhSGXEDFVyYp97Moi7BCB8YwUa65/CJi20U6O6zgkVsTGAyyB4vNyrMAhANiKSTP+
154K/guRzFLbKBFXqBYlEUFvhbowFZlRrse0QEBBS0Jl8VdyyoI22PIIfhNm7wUStLxl+TtmsshWNeG
155DlhxvilifhG1Ft+swprrXwthbfQ+vNZXSAYNOCMvFt+oxEpgZ5h3tcRrRblZMrGKz6qhgoiLLDvD
156uPMa5TKbbj4zAG0OMlB3QGlgzVYYn2GcYYubvCWmC9SqRUW5oouyBMsblpW6l5hRVSIBZ/txtK3T
157uGVfo/ea/nvbMyl86NNKt58ePGwHNtihCbCreSx2YSCjtWBZtuMoaGD89wup7EqcgVth2BskluZK
158QYu/rHnIGbim/WywqcgbWDEQcLRYsu4Mw2lXoCLjWONbA2JpPIRhTYfb2PklnbpGoPdjFZhOZEa9
159bSe+GSZRFSbY9yJmNb6UFymDT6d0ApQfJQYgJpjOY/hgS2z7bPqJhWlx+AJFmOH55YR6X9qouRyZ
160XqYl6zijv+DTqgHU3DxiWNd4zvUdz9zv0b6oqVWsAmpY0172z8B7P//BT0Pc97+kK1UyvahiTavg
161K2L3rn4EcQWGE4MvqoNIvIJEWsPh60clzqx+SD+dXSYjQs2/qYPIvILOLpNO9kdkTpziGCYCg4b9
1621xQcMi9hLtacYZetkjlxmmNItmUwh2lMgyH1GtiVxcPQDp9ZE1LnTXMQbMqSYab4OnEyDYbUazjW
163E0byrQqp06Y66KRn1x4TrOuHUmFIvYilBIDZRLpVPV3qtKkO4lkNiKDGHU+FIfUiWnVBKRgQwTK3
164X+q0qQ7i5pbr6nuCI2tTUci9iCUE0LD6a3XuQ3KnTXWUF7cAa6+uJ1jvqk2ti/MUoFd5LstERVut
165OLWmr1WQN25u0qFdd/W4aonLdLdN2rBemoVxNTUwy3WlT40OBF5IGtY3s/RZl6myQu8uCetl2kQF
166mnatdhUjLIpEUrD+iWVAAz2qrDgSPSSeYHD7Q2Do2RXIVdGuJBKtFc1IProS5Ao91vXARGpzi0XN
167RLc8zysIPNtqdgx7XcVQgLZf4DE2HHeVYMt01NBMtBqVWaEf6mG0UbIdDroqyq2ZD1Qos8KbWzFJ
168T9/cNuyLueMX40DBKzQ73HBKq+kVUTpHuHvcPNQ2HY6JIdpri1SA7prMIHhXNT+Aw6ZTMyOaJ+lR
169zY8ogKilyHoSszqzgHrUhm6DALgBd0xJA3A3HkpCZivCai/OnoAnVmIF2xwxqyqs9i5Z4LJcpZyQ
170xHgUgJQsq+lbwekQa6xLjzA4lgBJRGfJTzAD67LoZCrdLJKPkMBew7uupJlmYnsZen+FyUUzUpaE
171TMrMMDO7jrEt5Ks9PLP4YmQWklHi6NWMV8Qw+BzShSzNW3xF3mAyrbHPfWFWWRGQnSGh5eB4WoMf
1727XDIvZP0BCzch2b1rMmwS6g4MqnfFOKyc8IqZ1gvKY1qoNSs7z1C1dDY2LvMRAfTV0fQOSGjWC5/
1731kxE05Uy7M6J25p8qm/03sqSsyncLCj1+vkUWrPGk4ULHOe5m2RY+MkMb+hmd+lgYU5IRnO8DOYF
1746hLtlCkVLMy12WiL7k+Mh4rSksjVgTUMZ9qJULQdn/DdfXSsZpmfyqjwRcFAPjYxTLSwavziRFRD
175wnVLIwGSwCanHsFnS+MFgF25ySVLrN31TyuC2bKE7Djje+7k0Wm7R5q5ZGZVF4GBxT95QwaOrJE2
176KD7QePqkQl6tBFtCBYCLqpGp7uj1GCidVewYOpb1J8UG1l5M0wKFLxZXouQqGs0UpDrAsiootQDk
177G1MVpUoDArdBootm7aOvyoqoEWi2pyTVYNxlJDWmGr9Nbj9jr+mNdrQ9J0pTBiRro2bZkQDujOpl
178NkH/HxtpiBH77U/NAAAAAElFTkSuQmCC
179</one:Data></one:Image></one:Page>
corpus/m6/native-template-controls-01/read/page-001.pdf created
Binary files /dev/null and b/corpus/m6/native-template-controls-01/read/page-001.pdf differ
corpus/m6/native-template-controls-01/read/page-001.xml created+179
...@@ -0,0 +1,179 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{CEEEB7B7-FAC8-4A77-917B-DBF7BAF6813C}{1}{B0}" name="Hearts template control" dateTime="2026-09-06T04:21:25.000Z" lastModifiedTime="2026-09-06T04:23:18.000Z" pageLevel="1" stationeryName="Hearts"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:Meta name="PageLocID" content="00040"/><one:Meta name="LocVer" content="1"/><one:Meta name="PageVerComment" content=""/><one:Meta name="PageOveride" content="0"/><one:Meta name="PageName" content="Untitled page"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T04:23:18.000Z" lastModifiedTime="2026-09-06T04:23:18.000Z" objectID="{37F0B5A1-103E-4EE9-9AA9-94166A9D8F91}{18}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:Meta name="oeLocID" content="0001"/><one:Meta name="oeLocComment" content=""/><one:T><![CDATA[Hearts template control]]></one:T></one:OE></one:Title><one:Image format="png" backgroundImage="true" originalPageNumber="0" lastModifiedTime="2009-07-28T18:49:14.000Z" objectID="{37F0B5A1-103E-4EE9-9AA9-94166A9D8F91}{14}{B0}"><one:Position x="-90.0" y="-3.599996089935303" z="0"/><one:Size width="89.21739196777343" height="287.9999694824219" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAKsAAAIoCAMAAAAhjet0AAADAFBMVEX////d0dncvM/S6+W+4qyw
33t7akbqZ06ir2qrewNLB5OHcxtTr9/fp1eH9+/z9+fvcmL7tyN274avlzdu44d/cvc/jydjP6uTE
45ub25O779/n58/bbscncw9Lbuc2f1q3Y7++03quy3t6i1qncztez3r7gxNXm9Oq14ODu3ufbpsTJ
55+Pcz9jak7v6/f327vPcwdHcydXam7/F5uLjrcvy5u35/PrcvtDcy9bL6OPO6uq/5OT1+/vczdf7
68ve24N/cv9D46/L06vDcxdPw4uqf1aiq0rS84uDbtsyb06jfn8Os27jw+fm64uLhpsew3KrM6dTa
7lrzaocHD5eGm2Knamb20397outTZ79/x1uXbq8fbs8vs9+/n0d7z+vTi8/Pqwdjr2eTcytXcwtK/
85MnN6eTT7Ozd8fHansCy3aq64uC54Kvcx9S336um2bPao8Ok16n03erbrsjbqcWp2anG5s7H5uK7
90sDJ6Oid1Kjf8eTp9fLn9fW+4+Gt26q54cPvz+HmtNDM0cyd0qvZvs/U0dLJobXQ0c+y293Y0dW/
100cPOxtOu0rey0rr0+vnTpbbA0djYlrnd8OzT7NnRnLfLyNS12dy419u71drH0cni8u7SwtHRxNKh
110q7Gzda20r3m9PDY7ujD0cb8/v22yK7h1t3KvrLg8vDWwNDDz9el0rG9rbLNnbb7/frexNTIw7HP
12r7TMubPV7Of7+fq909m2yLnq4uepzbHPpMPWm7i/3Ky6srHFza/d2eSxuq6dzqnn9OC+17LGyLDb
1379Du4Oju5+vKsMi8yrzIytXL6Mru+PW1tq/Gq7Ot267A47r9/P273cTewtPk0dzf1Nvh4uDfq8Xy
147vHp2OLy6e7M6eiq1Kr6/fzFytXQ6sXz+vDr9vTVqsbZ3dm02KvS7OnY1+HD0q7B16339PbBqbPa
157+rCxMDXm77T7Oeu3LjYydLL6ejQpLvKuc3G5snXp7za1dfx+ffgzdne0dq94rCy2dvE2t+lxqvA
16ysDRqrXNtLPU7OkRzzSdAAAAAWJLR0QAiAUdSAAAAAxjbVBQSkNtcDA3MTIAAAADSABzvAAAI95J
17REFUeF7NnXdgFMe9x/eW050k1AtCgBoCgYSECiAJ05Gw6YhmejXVgOk2YGxckzixndhOc3p7qS8v
18eekvyeu9l7zee++9vzd9Z+vM7MzsZf4B3e3dfva33/m1mbtzHJujZrC3urHCJWPGkcnZNs+m8d7r
19T/RQSu/fnt5ZGm9p56Wzq5k5g8AnauycMuW7DjaGLeo9UrE+5dtaeNnsRFLIfMLCWVO9ZW+STclz
201ane2fSLamZIoLrutwPs7NgpFbiEXtNGUn4/aVTXLbWrVUB1ZygbwugLaiKcf7x6lxk9t+qbCX2V
21D7xH9e1NHj8p5QG8g0po2BpZF8ByGZOGUnuvakWzum7J0phZyqjupJoxzB2tbla30dzZld6pJs6s
22Q0PT4ZgYGgsfoXQGcwdHOYG1Eyfn5bzRf7ItgDto7vwq7xRKWcYu8pyEuH96M49bGsEGZ9bQOGdQ
23/r/zhjjY0uSxy3x3dyyOFFJP9w4tzeQ6wrNOxNiUPDzMji1N/sJlLc0nk1FzuQkGqzIjTB3LybV5
24lQg1l2OaNXV+7n1mD072wjE5GJMhDzJLyaDm5lFvYJZ19mS13x3NOBFRMnv14LDYqtz8Msg6GNU6
25cd2K6qATP0HtKphW9EL6iWFNsdb0JqT5M/zJJ82yx/qlzJrLkQhmhrWmV5COzuBtS1mT/KrvKlbh
26G2GEdb1E4lztNaaIpIckrQoOw5mMAdYauQSvh5mWyFXarFQE+qySvRMASJMPzDomb9YcDl7arPKo
27rNeDWS8qsM6DL9COsSqoFBazRiSB8fTwBdq5C/OVLBYl/gd10ZQlgOPsEU0NeOFSjhW1/NChknGA
28mBqy6jbglPo8iBHAon/lwitVBUy2NOuC9ZLW5A9b5iBvLJFgcfKFKbdmveVLmgPcQxPD43j+zBu/
292MbVpbjrruAFSPqit8oRWzqPTYQc/byLFLcHxq21yqwVelMrRgIPxeT6J7lKTyHAkrJL02VFLkwM
30JTjOYSaFh5TtqlnGRrRQBfVTP62epiuzaq5zhVnXCqPRSZw4q7Nq9glDHmutRPa8CsEqsg65uo3t
31IKsMai7XvzYNq+4aV5BV0r9DWEW7rnV1e/CBCCt9flBFSx+L56B+W9s/t5olxEpm/6pmNdZ52nJ1
32/KwqmdOwysG53Lj+Yrc/FkiqFZtW2Mby+d/prqZ3dRxfjG1W8+5KR7dpJgMglfD1fBUjvBLrWl2P
33BWB5R6A2W5RQc/oScBy+M2CRdVxfAn7BWmSdbkACDi5H8LDIOqRZvuAsnROBRVbdvAWzzvbsqubd
34VebWSd1qm1Q/Xhvbns9q00xdaaHmLVXZiwW/plcVeq/2XKywJFC579yxq4zMLEjsGVatkyIP/kum
35zMrFrjb50ysd+evmWJlhLQn2W+ZQHYe5ArU8T9a2v2qSlfU1FfsTcrDf+nmTrA7rwJnyBC+8/hgY
36r78Ar+YrRlEdttfKTOh6/qUiGS8+k8t90Swrqw8UqsN4AXzkWYoK/r3/DwyjOkwFBvIXZlRCfNM0
37LFVBs7ZiP8gZFf93y1HDtNQX6MaDj4RQi8WOw4ZhafmtsHAZIdnnea162PsNw5K+hmJvPcB7f4RZ
384UOGYek2YZ3p9UwMqnFYuv1aqf3it+v7Y1mLhjVLujDpVfB6PGqxw7A3IBlX6ugVp1bsugzPLwKb
39Mt96PsGs4CnTQQGX4FK7rsIe67Fk1uICw5bFsHLrBkFafmZtKAfjyiYfvWkVkOZGmvnFSaD7Qh6N
40hh23eVrDXtZx8OaHFLH2zQzrSUyKRjkH+4hhEdDCVh32RUq1g0PN5y9tsBdrU8NSpHIfKhBCN4M1
41rljQ5ELdQ0XLvpEQbQiggj/3MFjD0QtqahYqbdVgqVwvhVk9WNM+FsLirXBKsCTJ3hOBms9fIZY1
42P7tQ6wjqYEh+dS5HAizxVkHN0glmOCsgjmU22ikin3ThLLs70qz5/AUSFoy7WEILSwXx1nESvV7A
43d/l8DGt+B37ehmBx0xuaVjL3xmn2pjjUfB57rvnGwwF7w0mgWvFWDWhazBo9s9AFXEAH2JlcmBc6
44hGaZHZmPIRR/yPIbGXtZ3q5HX7v3CDL2zTujRuwNd45JTDHM2hCvAWJYj2n/FixhNDpOmfEQg0C2
45EyLvhVhvJ6ASxdLIdQdZlB+nzNh2WY9QCChzSZAruArkCnDCPXovSApte8eIEJz1je5Y4noCCgV8
46Mhg2cQNjXdARgQoeOmUG1hmsTqRFrF2JGsjD4AXtuj+aFDy6xYwOQEbT2zM2HKdbxBodYNkF3ACH
47ANRTsagGYcG6+JHmiehWImJNNmv+ScSahGq2UVezrHEoyriQNSJ19dF3QdZkVBAtTMkAaX/W5Iy2
48UAsBssYlLhQYhK75ryEB3L7RBV3xpR00WeRkYUyzZKKGcWVY8+AWQ6hubg42lPsLc/C0+ZwhgAtZ
49g5VWSL7IepsCuVhDyLY2krHZ1d5Mg8sEUqxXwnH4fNC0hoKC31uDz1I9hNPxxyRZI6/nkq/lAZRi
50dH4x5FlH3DbocyVZYxKxBq6JAHViQwW4MhsDpoVlrEgDl+JzxiCsmawrHLJBO2EY5doi1q6EfKHB
51LwNTmUGIFnxW6aQMa1J2m7/kn2C2DAsaNc2rJOyaHILP+9KEKUMpV/htBt21oOa+IcgHBE/D1IYN
52i4VZr/tVcYwVsPola82uYHPHl7VZaQ8B29Yi6+BfisotCYHwvsAiq/PPwBYSOImHkOaMbbs6s8AZ
53BHWB8FJQRUaGTbs684X1lpCVNJKs29W5KQ5cQlhuJcSqXe+I+gNC0nyeiwdWWUfFBZeQFlZkWejV
54Af0pIYzggMxYgWAFzQzhpXisHVY14CzQn1yeXk0nhbWt9ceX4lF/tdZxOoRVt8iwnh8wuih+9fjm
55gm883QqafyIYwfNsidHgCmNtfQAUUf/9f8WvbUhdhBe3zJm1vs5vUvbX9+mlsCwfMNbOWLc9hhQ8
56/DNS9os7iOZZxjbyHIgnBc98XAOWmdXUil0yaqHwzdSwDbQ6NOWvRKiF70nNSvtapnzAukQBoCc/
57lxIWdpLhMNXTrI1yVQH8lIalYjWF6hwXm7VQ+KE0hqWo80213VbLoBY+n4KVopqaVo6zT4r1FXVW
58kgd0mHJWjlMrhVoo/IkiLO1sbzG4decpP+veywfnbAQ7DNrnHNw1wD+lGA9oW9toC2spBzRysJ3/
59RoD2gxzt/6rY9QJxq/ONdgY5CYwc4kHR/9vPsSt5qzwrXYZ5xFxihQqKqxRm4FqIFD6wiz4vzcpI
60zc0pUvrUE5a9vrvPYTNYObte2IMTgPkpl13WHahfuhRmp6AsObDaX58Rucaiuu07ydVIlIgNO/By
61RsfNdDq9ui+QQ29/ClRRbOC0dSDOqsDAcwiraOHgUjkBPZXOpKuPRyb7+zzjYpA5kVolD+7Fx+yJ
62F8Gl8+WkqNpyM+V8qo0tS+rqqWERxq4kVPcgZmWLyF1Pwr3QZOzp7iYZ6iP3phakjvtJZUlhOzYt
63Tgeh848f7TxrF/Kc833j3tTUnZTmJCZbF1fr4VPXXYXHtYrN6rpIBG+HdgWB895+g0FTDhWc/QBl
64DccAv5EvQ9Y3AL1e2DCV+i4ntIdqk62KTAtgoV13JioAPIkE+4byfMPfpHNFoi6WVKZ3ALFeFrEi
65r/WZroZ/FJ003fNyCXRhHWSNDq7cBRyCrN/I/2Q6FOGros26d1cfGudoLKqDfkAkV9eFrB/7HeFJ
66Ux4QVuvOy7zD33gd48IQK5IAZv3Bz6ZEEb0sVEWPhG/0QWJc4dRCrK/8gOicaZ9nmR72pQPXI23X
67h54ckbLrr6RFEb6OZnoYdW+cIg/BvF/MuhEcxYKy8NyqB/hYd8YnUe0gJIlZoc9qVUWQPt7HmjTP
68AawcK59HSmNIHcizJrv69p1i1uvAX0idNtVBfOMvOYlyD50Tzi0wB+3JFadPeAhRxKFgpFBYl8pk
69ci/yWPuEZhMeMFDYLHfWdEd53f/E8kSICQ8ALut4Ogq5V3l9Sn3Wa3YlwAlWn/WyXQk4Dkte9Fl3
702vQCUCZMBMLsVKRZINdA/0NOhvJHsWRb2w9ctxkI8AU9LetfRXY9V0AVr81Bw8GAiEXwfLvtmQWN
71QJvAmoK9jmpzy4PWBrv0DLu3zl6K5VmA1IdJPUDxZRyy7bAwL21nHBQTxR+xKxOzOg5ZYpEo/mJZ
722wcsZoO+SUCml4Zh+zIyq+OsxpE2oeASOayBpyx7AO/tSe2dOnYdtJq4BsxA0gJx7h9p4PYBe+Vr
73xP3Ckt2bzhX0Pe2srFqZmQrIRoZUKmj/sf8sg2PFmYx4SSs+RRr7lnciUjTuy4YWww4ISu+QSJ57
74m0cK/9eZiRRwxhW/Mhip5efe5UcFSsjEtLizIe6vcNBh1LKyhVuzMG0rkoFKwhUQALbxwmNZwGLN
75ysP+RFAA5O9sYNEeLFnYT74phrUsExnUok7MuYT1bE6t745DzUizuAqX8gbvi0UFml2chWadq1C0
76AxKpARcDwtQrMmF1VqPkQBhu35Jg1syCguMcgKYdEYSweLXii6jKxrJOLSwYBxJN+95ks5aVbcuI
77FexugELYmZDKRIYBH382qQGySCv0tSNxtM9xvvWBR6eBsfyJB/2mzsgX4Nt3IIH2HYyr6TQkRWPJ
78XB/tfZmpANkWKmEkqsD9EqV6gJGC/7Q87IPNxskyi6yG+7Z2Xg75hEhUQLubh81QsaQvcwD2Pfde
799+FS5+qzKtYBB5udK/DUtvopmCbsve6lCZ/CRGtaeAUQ0XKwdzNVLD0Zxj1H3QIpBxaFUX2WzXZ2
80cYZBO/nw7tfnsO3CCkDsnmYXlsSunheD0QzLdW6EAhDsA0wGmSSycQYBS+MgFf8AgqmMUgB8rGUN
81hT1bQsOC4FsHdmrhvMULAkHo5ZS1ZIIlPmx74RoKsDFqRdyVBHZmSe0KW6B/hUginQCxcAvNDUrM
826rR+DaI+GKdWX0goNavzx5D1iUTWacSwJXUE0FCdkHV5MitxsllVB7H37xZ0rsmo01rw7Co560wA
838bCAdRpOD/2sK6uOdXZWZcq/AkDsFrHihIvjOnZrIXW7M89mltpKyHXatNM+1pWdDBQDZ9RWduC5
84RGadhj0B7sYuDpLCp7LJxMGJmsSsSLAI9e42evN9/67IwKGtBGcUeFcaZ2FSuPhMJCl4MINObZXM
851MI5N8gHVsKZGDes52GQNSkZIPJYBGeQszUwpwLUthMxyBqfDzIhQ9azx5JRrc8wyCqeWtOQXRPu
86P3nKbsNegRXzzH24chEYj1ayeoG/BKvFLmCVcFnIrnA0LfFuwulKfxsJPm91kUmJtSkwC1u8wpEa
87d4XFgLtYzq6PwrsfkTYsCpn2jMWMPLnWoncc1FxrIt2FV+ZSy1rMvBLKbc4/PFD2QEwDoaUp4B62
882VOBHGtTbP9g2rSgQ7CXx8yMb2NwduWmf8gbB2Ww0NrquBxrYrhgRTlRg7VYe0bKrsmhbXnAG9hS
89bGdiz0Ui/MJD+KYyzBws+a27UnFLxOxfW7C1KFplhLXFrwJbs8sIq38dxJoItok6GaL7j5/3Ld7d
90siTYmTL5q5jXN71sCbZTpi4Qs07zKdaSXY/J1FsSrE/weYEl1q3iFpEE6TSWjiNkS6zOwoS8RIqS
91HJSBXZ2ZMkWMBDSfHNqya2dyB16CEh/CFTTW1u2qyuLW4aQx0YF0vQZowd6SjSFHwLFaTLfNTC6O
921V7N1SnswUuJwWO1uNdgq5mMwPMD9iTgOAsFa0ZSZuWCrK2UEHrC+3bL0SQexdaYy2y2M5xjJgTL
938gG7e7kWm0gLWQJrtVfoOLfQbjetwfJXaxU3idtnJZY3kq+EFVy20myWYazUTgloMmCzp0lwV2h6
94LaqADFCdTr0wSxsvWaA6W9foTCyKestWc8ifDm+TWDiKuxyKajO08rQaoetRXMFus5dcBaqM9KGL
95pFdnsrn/EJvmWsslFjx5LZzG2dXMzIwKYfH+nJakTWUResVLXNvsrheGCs0VS1B9pxRsl6AcIGtS
96x5kJPeyjKvELk97K9O5jE98HuwRN0ons6UpIuu2szbQ6tsnQCViXS1bfLUtgH3tFZwb7RiJ5zwDW
97J2Ry7uW7wdRfceZudj4qxDsTzK0HoQRe/dDjcLzn1b8IzftFSyqbts08c7YEEuV5P/rXcBfW8i88
98/lH+0Zdffvn3EPnjn/jEJ85WVVWV0JiM66e+AIy4pOxDPlJbDbSk962q6uz8u9/4o/9bsmgRTlM/
99/Oqr73n88X95+bfwq17+0IfRw5UWexDi615c1XlrW1lT5aLY7tqHX/VUWWmvZSZC3doJdlPNVYhE
100TSVivXsf3KCkAAo1UArWlWfgpr+5lYp91RKwVsGtwmUPolxEaSzJem5VwY3C6jaFF7Xc2vJJ5NTC
101pGXcZ/FULJvNZ7cx+GK8jS5qc5IU8sPZ5cx38d7ENan7Ertt96KoFohRIz/fJmVVkBBkNLm2km20
102igWT/yoezCR1riJ7U/XWAJ+wtVOFdwTHyGJo1AccJQWAvFYGkYuizk09rcgFzbWeoMINt2hIl3Zx
103tn7AttdaSfdRazX7EP6jtnaqUMGyjfSK/Z0I47ZYW6HGsOgTWChdUZhFcYc2WV1FgZ+8MKRWcAF2
104QxfOVuDQaPcyMy+3Gbo8s5pZAZ5rsZnifUJBL2RRyz5sMXR5n/uQafCIZ5/FQoaFAbl912LWRfaK
105A+awTLG22Pu4pucFzOwNBQ24TlHjIe3z3Ie/zMytafY6Gsy5gv+IxShzRKW1MMuz6iaE+EqWWKtm
106eVbtTQCIdVGZrbyQ/1ididwFLHFZ21vD+QGpDzlKKNbabkDfhwDNeII1tibXWV6wZjYxNpVZKrq2
107+lj1ixigkSZrkcv/8Wrt4hCwVlpzBP4PWGsX3YjVVpT1cm2kBs1mBnQTlWXWilmf15L7pGOy46q0
1085rQcLoNFlk3cvdQiUZNVWvyKv4Bhy5bEm61FxlGADSxpsz7h6wKKLYuHbVlTalavmUF9bYxlwT4q
109mZoM2NViLRv6toXIjAtuTpLZigeOs7joHv6+hfCawSL0kdvSszq0/8oF3Cd8i4anyZ5PmW1CYNuF
110RbuCnTW+tAD/wRZjT+9mH2OW6STaZnWCjgvjrmkCg35gDapahhVcmFW7OouTvs0Eca+4K8kKDrPL
111KoRdsRimuhJ6hV9AZZlVAHvfYgdmZBJ+AH41hm3WRFjY/IOSlmCFW6+tszrIclFjG4pDMCuXqMjg
1125y8yYHXI6nGAtxPXT/BRibIcbmjNgjXqe5jYF3GhKxBvK4FHCfMlMwesPMO3N7Zxv5uBWBMSRpxK
113oo8LmUGReZeqzpnQ28685dtICb7JBQzhMjj6fj+Zs9g8BlfnwgUQuFs0gxVkwZXiGScSAYzI3y6s
114Aq8Fv8zHWs0tLxviyZLTF5Q7/kMWv2uWCE46NMmGRUnZ156Wt4CdI2namJS/4M82/X5hnx0E6Xel
115EfjBhHiAPoXxJndvqWFZ+zPex55GZn23u3GgsNTyr1wmm9hrf8b6LVyVfcB1D+0s1GX1s3GR1Cz4
116xnUTycdx3wK+dbv9XKGwub50/sArIGMkSz6R/Rz63Zg54DePC/us/zBnjBa4yjyy9Um+6vdd9Cdu
117Nl4Gvz9fVyJcLgOLgKUfxfsU93M813aB33Sv25fpb8hhS/NdhNBXzbGvF3uv/9e5EO7m+qzdgq+j
118ONcfbBnqm0I/JNZ+EPwGfeHpjI3r73jwbaTlrDXztqgfPZsD3EJhcwY/1epNtUAPfO5uEsJauO+6
119gB4rYmzclTUt2iLPj4crweC/VSwsAQqOnNjm7JTAth4GmdnfvBcImvca8GEZBl9uf0w07ieTfm+y
120/TL82anMwll0Q5FxR84sDn8ONG1WQhCo4H2in/Fsh3OscDybTAG2NmPHl0So4PnrEHb7Oum8WedA
121/zK+HztRrcwhgEBWqMvG2cZ/STLIXGXGIQhbOK5jMOnXxsG+E2eD4oFhsynKYmADWUsCM4bdnskM
122i4R9h9ig7IgsYSMmmAoqqMigYTOybFXwu/3VUF33YIaw/q/3f6cwCIQEguJtIaMWzUr0WU84/uO3
123ZT0ATwwz8Ky8AfBxdztvgZby96b7/XnQ8YDjKWlfaeLAzSl/fh5F20Ihu5TWcepT/u6468LsG4Tb
1247OrG2rqUZnXdjdiwS03cXKn3OJ5OrWiWYV9QyKr1tbqQ2qyg7YWnVyGbDNHZN6AQWkOH9mHW7VJ3
125UPeg1eJf7U26FqLYbBzXvoLqz8770WGTA/qCDFKu1YVzOhJw3WuYNYvMu15nZqGrJKwF6062tq4g
12691vj8cYnIrBfJRzQlYDrEk9gX7HbtSXgzqEisJzDrCtoegEgDca6Wdd9Jr/+eCF12sIE3E7tajl4
127wd8O1R6M1WrD4GqhcE0bFReJ1gMt+PV2vaAFL5TptVCwGbvqCuK8Reh+qc8ClrVYIAAvMCKUwGUR
128LK4Q0bDotfBvCAtGn+AQmmhBVospN/jla/jjzMmjT3AMLrnwsMdaC95dXBIAOV5PuBpSymJWe32N
129VvDu9PfE42ng1ImXAW4U2bcrkKsEK1oeGImZYJwPsKqBz/6TFCvW40CUDtDiHD+steV/+BUF1kJh
13058GAbQ8GSe1Vs7/7h9AiYr2Cg45j2w3sOoh+gB5U2nP6aIbNm9VWojX67x+TYoXus5XAIq6REdIS
131CNx/8Kcll3X05/I/LcUKS79W5+kwWPgRS6Xs4Z/Nd30Dni3JdaLbDd1Aq1MLwoZwWDHr6NSefP7J
132P4cnF6avcPkVpCQSsDYacEenOm7k8/nyNyD1CSIsSvhg+lQrkoH++tHoAt/YP3VqS7G7C6DmryBW
133UcWNpjtO9WDoiB9LNXLXo3em7s3vKIZG9w1EyliT6wKcR5O0tHVzPGpqrS6YIpS3u8vLu7oIHEZk
134o/w70ZmTO0TY3dOOSm19XTTtvnQ9l9H997Atu8u7GgJ4flZy2qQihiRRXi0cRbv5eCpSCrppz/lE
135TgjdhfWaZFjSVvOHo6v7OCnULa1P1yU+egrrs3tHkj3Zc4Q1vpKdQwJUyBnVtrbWg3G1Ne18WjAf
1363/s9F6RI8/m3EhEMkCAf9F4si049b2L6KJS0XHjv2ZVQ1sJAVAKz0cuizG4rPUpsekXWphD4u705
1373RdMpdEmNzrS3ukos45O4bt/O9o5xUni4xzOQB/nDub0cWW02SJqwSMY9Yb87Uf43/T7yp0jl/v6
138+i6P+DjhIQaTfWLUTeclp5R3WFLI9J6rM9apHN1C7v8lZdT8/0jBGvMCh0nE36B4/9GFfU6G1VgC
139rYWa/zosDkXDlFop6qY0VgWG/bwI1NwKNkUtptAqEsGfCg272ZBvZajl6tOKvIILB5EmrkuXmIQ8
140B/UAxQ2pUb2cIFoMplCdUzTlV4tW/gv7+tsTJKtTlvhMu4CidmuYNZ//TVwdRAyDHzMigbVYlEtW
1414y7o/Pd/Jho1ZVkSFeT2s6JPy6z5hmLxx5eGaLc/ZWj+I3RmVj0J5PPdxQ5n3XGurbJ934FU9VNs
1422nCHmTW9w8I3pLxYPAxP0wrqkqutrWYxET+pVQHxk3oayHcVi1PGMqnIN/KaFDoeC11msbjFLqvX
143TtFm3VAsjlqF9Vh1NZDfUyzeyYhVd27lnywWb2bEquuz4OSanxFrUdMPwGhQrLEJy7Uq1WvCwNWB
1449/rljFi1RdBdLP63TcPyLWBdrwVYv1xt0bA8q65hbxSLX3UH7cGy1AVCayoWZATF5h57KrjJG3aT
145Ssct7DYg69+6R6wZ9jDPqlVxoUyr+Eyba0+ypIlJkPckONkGkUQg6+s5i7BeAotw42EbNoj8xHnw
146+sdyAPaILc36DRubxjbsKUqy5oabeyx5A79i4yzbADI+ESvUwIs5MOYBHcyyMsV8rgDKIKKpdQmg
147FkVeArLeD1kt0pLOK/MIG0JtrR2b4JOixhzHmsv1D689st68bY+GVlv9XfgLIHjCIaMBYlds3Ivf
148VW0cd4HPycI/Nt1gtj1/BT7QAaagKqsdXK+h4VHfvlJeXn6jG939YsdhCVZoft6uRLoXf9GsdaNg
149OWN3HHaAqEVVTjQrIB5vqzgx25x2E2EBqgPIbwgqB3gLwnZF1u2/ODZj0liESICFqJBV1J+FNyKG
150FeAOj7nVpoy7IGLvBZLBFtT6ETstUBsmsSLaRkN+ga7FBpzCKdyggI8mdz1BzZ3Mimh7lpkR7lTY
151tI/Q9gQEuZIoWNDLELHmctObTdEeZf14bNyOKdb1QX8nRi4YhhP0ij1Yrr/NdQ2lNqOveRH33n7u
152diHWJK91AR0BckLRGB9z3UZDs2x0wRQYry3w6wqljklrdTtkWXP9E2DnxgljHiysf5zmJhgWheLi
153R0RWRc+PN7tuhSGXEDFVyYp97Moi7BCB8YwUa65/CJi20U6O6zgkVsTGAyyB4vNyrMAhANiKSTP+
154K/guRzFLbKBFXqBYlEUFvhbowFZlRrse0QEBBS0Jl8VdyyoI22PIIfhNm7wUStLxl+TtmsshWNeG
155DlhxvilifhG1Ft+swprrXwthbfQ+vNZXSAYNOCMvFt+oxEpgZ5h3tcRrRblZMrGKz6qhgoiLLDvD
156uPMa5TKbbj4zAG0OMlB3QGlgzVYYn2GcYYubvCWmC9SqRUW5oouyBMsblpW6l5hRVSIBZ/txtK3T
157uGVfo/ea/nvbMyl86NNKt58ePGwHNtihCbCreSx2YSCjtWBZtuMoaGD89wup7EqcgVth2BskluZK
158QYu/rHnIGbim/WywqcgbWDEQcLRYsu4Mw2lXoCLjWONbA2JpPIRhTYfb2PklnbpGoPdjFZhOZEa9
159bSe+GSZRFSbY9yJmNb6UFymDT6d0ApQfJQYgJpjOY/hgS2z7bPqJhWlx+AJFmOH55YR6X9qouRyZ
160XqYl6zijv+DTqgHU3DxiWNd4zvUdz9zv0b6oqVWsAmpY0172z8B7P//BT0Pc97+kK1UyvahiTavg
161K2L3rn4EcQWGE4MvqoNIvIJEWsPh60clzqx+SD+dXSYjQs2/qYPIvILOLpNO9kdkTpziGCYCg4b9
1621xQcMi9hLtacYZetkjlxmmNItmUwh2lMgyH1GtiVxcPQDp9ZE1LnTXMQbMqSYab4OnEyDYbUazjW
163E0byrQqp06Y66KRn1x4TrOuHUmFIvYilBIDZRLpVPV3qtKkO4lkNiKDGHU+FIfUiWnVBKRgQwTK3
164X+q0qQ7i5pbr6nuCI2tTUci9iCUE0LD6a3XuQ3KnTXWUF7cAa6+uJ1jvqk2ti/MUoFd5LstERVut
165OLWmr1WQN25u0qFdd/W4aonLdLdN2rBemoVxNTUwy3WlT40OBF5IGtY3s/RZl6myQu8uCetl2kQF
166mnatdhUjLIpEUrD+iWVAAz2qrDgSPSSeYHD7Q2Do2RXIVdGuJBKtFc1IProS5Ao91vXARGpzi0XN
167RLc8zysIPNtqdgx7XcVQgLZf4DE2HHeVYMt01NBMtBqVWaEf6mG0UbIdDroqyq2ZD1Qos8KbWzFJ
168T9/cNuyLueMX40DBKzQ73HBKq+kVUTpHuHvcPNQ2HY6JIdpri1SA7prMIHhXNT+Aw6ZTMyOaJ+lR
169zY8ogKilyHoSszqzgHrUhm6DALgBd0xJA3A3HkpCZivCai/OnoAnVmIF2xwxqyqs9i5Z4LJcpZyQ
170xHgUgJQsq+lbwekQa6xLjzA4lgBJRGfJTzAD67LoZCrdLJKPkMBew7uupJlmYnsZen+FyUUzUpaE
171TMrMMDO7jrEt5Ks9PLP4YmQWklHi6NWMV8Qw+BzShSzNW3xF3mAyrbHPfWFWWRGQnSGh5eB4WoMf
1727XDIvZP0BCzch2b1rMmwS6g4MqnfFOKyc8IqZ1gvKY1qoNSs7z1C1dDY2LvMRAfTV0fQOSGjWC5/
1731kxE05Uy7M6J25p8qm/03sqSsyncLCj1+vkUWrPGk4ULHOe5m2RY+MkMb+hmd+lgYU5IRnO8DOYF
1746hLtlCkVLMy12WiL7k+Mh4rSksjVgTUMZ9qJULQdn/DdfXSsZpmfyqjwRcFAPjYxTLSwavziRFRD
175wnVLIwGSwCanHsFnS+MFgF25ySVLrN31TyuC2bKE7Djje+7k0Wm7R5q5ZGZVF4GBxT95QwaOrJE2
176KD7QePqkQl6tBFtCBYCLqpGp7uj1GCidVewYOpb1J8UG1l5M0wKFLxZXouQqGs0UpDrAsiootQDk
177G1MVpUoDArdBootm7aOvyoqoEWi2pyTVYNxlJDWmGr9Nbj9jr+mNdrQ9J0pTBiRro2bZkQDujOpl
178NkH/HxtpiBH77U/NAAAAAElFTkSuQmCC
179</one:Data></one:Image></one:Page>
corpus/m6/native-template-controls-01/read/page-002.pdf created
Binary files /dev/null and b/corpus/m6/native-template-controls-01/read/page-002.pdf differ
corpus/m6/native-template-controls-01/read/page-002.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{F3B3040C-0089-05FF-2C9F-3BFB91647BCD}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T04:21:25.000Z" pageLevel="1" style="font-family:Calibri;font-size:11.0pt" lang="en-US"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="Fixture Author" lastModifiedBy="Fixture Author" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{9C3D193E-0294-060F-08C2-1BB16FEA3244}{23}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="191.1661224365234" height="13.4277172088623"/><one:Indents><one:Indent level="0" indent="0.0"/></one:Indents><one:OEChildren><one:OE creationTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{9C3D193E-0294-060F-08C2-1BB16FEA3244}{24}{B0}" alignment="left"><one:T><![CDATA[A notebook created in Rust.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/native-template-controls-01/read/payloads.json created+3
...@@ -0,0 +1,3 @@
1[
2
3]
\ No newline at end of file
corpus/m6/native-template-controls-01/run.json created+17
...@@ -0,0 +1,17 @@
1{
2 "notebook": "/Users/clo/dev/one/corpus/writer/create-notebook-01/notebook",
3 "expected_pages": 1,
4 "author": null,
5 "author_timeout_seconds": 600,
6 "inspect": true,
7 "base": {
8 "file": "win7-office-base.qcow2",
9 "format": "qcow2",
10 "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346",
11 "virtual_size": 68719476736
12 },
13 "scripts": {
14 "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
15 "read.ps1": "086789e467779add0fc071ad8c524c2b02d3d0d609aea4a41f3128cadba371e8"
16 }
17}
corpus/m6/native-template-controls-01/scripts/cold.ps1 created+27
...@@ -0,0 +1,27 @@
1param([Parameter(Mandatory=$true)][string]$Root, [string]$CloneHost = '')
2Set-StrictMode -Version Latest
3$ErrorActionPreference = 'Stop'
4$root = [IO.Path]::GetFullPath($Root).TrimEnd('\')
5if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') {
6 throw 'Choose a run directly below C:\one-tests\runs.'
7}
8if (Get-Process ONENOTE -ErrorAction SilentlyContinue) { throw 'Close OneNote before resetting its test cache.' }
9$key = 'HKCU:\Software\Microsoft\Office\14.0\OneNote'
10if ($CloneHost) {
11 if ($CloneHost -notmatch '^ONE-[A-Z0-9-]+$' -or [Environment]::MachineName -ne $CloneHost) {
12 throw 'The disposable clone hostname does not match this machine.'
13 }
14 New-Item "$key\Options\Paths" -Force | Out-Null
15 New-ItemProperty "$key\Options\Paths" -Name UnfiledNotesSection -PropertyType ExpandString -Value 'C:\one-tests\Loose.one' -Force | Out-Null
16} elseif ((Get-ItemProperty "$key\Options\Paths").UnfiledNotesSection -ne 'C:\one-tests\Loose.one' -or
17 -not (Test-Path 'C:\one-tests\profile-original-cache')) {
18 throw 'Park the personal OneNote profile before resetting the test cache.'
19}
20$cache = Join-Path $env:LOCALAPPDATA 'Microsoft\OneNote\14.0'
21$parked = Join-Path 'C:\one-tests\caches' ([IO.Path]::GetFileName($root))
22if (Test-Path $parked) { throw 'Choose a new run; its parked cache already exists.' }
23New-Item -ItemType Directory -Path 'C:\one-tests\caches' -Force | Out-Null
24if (Test-Path $cache) { Move-Item -LiteralPath $cache -Destination $parked }
25if (Test-Path "$key\OpenNotebooks") { Remove-Item "$key\OpenNotebooks" -Recurse }
26New-Item "$key\OpenNotebooks" | Out-Null
27New-ItemProperty "$key\OpenNotebooks" -Name '1' -PropertyType String -Value "$root\notebook" | Out-Null
corpus/m6/native-template-controls-01/scripts/read.ps1 created+139
...@@ -0,0 +1,139 @@
1param(
2 [Parameter(Mandatory=$true)][string]$Root,
3 [int]$ExpectedPages = -1,
4 [switch]$UseCurrentCache,
5 [switch]$Pdf,
6 [switch]$KeepOpen,
7 [string]$CloneHost = ''
8)
9Set-StrictMode -Version Latest
10$ErrorActionPreference = 'Stop'
11$root = [IO.Path]::GetFullPath($Root).TrimEnd('\')
12if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') {
13 throw 'Choose a run directly below C:\one-tests\runs.'
14}
15$notebook = Join-Path $root 'notebook'
16$output = Join-Path $root 'read'
17if (Test-Path $output) { throw 'Choose a new read destination.' }
18if ($UseCurrentCache) {
19 if ((Get-ItemProperty 'HKCU:\Software\Microsoft\Office\14.0\OneNote\Options\Paths').UnfiledNotesSection -ne 'C:\one-tests\Loose.one') {
20 throw 'Park the personal OneNote profile before reading test notebooks.'
21 }
22} else {
23 & "$PSScriptRoot\cold-current.ps1" -Root $root -CloneHost $CloneHost
24}
25New-Item -ItemType Directory -Path $output | Out-Null
26$app = New-Object -ComObject OneNote.Application
27$notebookId = ''
28$failure = $null
29try {
30 $app.OpenHierarchy($notebook, '', [ref]$notebookId, 0)
31 $process = Get-Process ONENOTE
32 @{ hostname = [Environment]::MachineName; onenote = $process.MainModule.FileVersionInfo.FileVersion;
33 powershell = $PSVersionTable.PSVersion.ToString(); schema = 'xs2010'; cold = (-not $UseCurrentCache.IsPresent) } |
34 ConvertTo-Json | Set-Content (Join-Path $output 'environment.json') -Encoding UTF8
35 $sections = @()
36 foreach ($file in @(Get-ChildItem $notebook -Recurse | Where-Object { $_.Extension -eq '.one' })) {
37 $id = ''
38 $app.OpenHierarchy($file.FullName, '', [ref]$id, 0)
39 $sections += $id
40 }
41 $deadline = [DateTime]::UtcNow.AddSeconds(300)
42 $previous = ''
43 $stableSince = [DateTime]::UtcNow
44 $settled = $false
45 do {
46 $pages = @{}
47 foreach ($section in $sections) {
48 $hierarchy = ''
49 $app.GetHierarchy($section, 4, [ref]$hierarchy, 1)
50 [xml]$xml = $hierarchy
51 foreach ($node in $xml.SelectNodes('//*[@path]')) {
52 if (-not $node.GetAttribute('path').StartsWith("$notebook\", [StringComparison]::OrdinalIgnoreCase)) {
53 throw 'OneNote opened a section outside the copied notebook.'
54 }
55 }
56 foreach ($node in $xml.SelectNodes('//*[local-name()="Page"]')) {
57 $id = $node.GetAttribute('ID')
58 $content = ''
59 $app.GetPageContent($id, [ref]$content, 1, 1)
60 $pages[$id] = $content
61 }
62 }
63 $signature = [String]::Join('|', @($pages.Keys | Sort-Object | ForEach-Object { $_ + $pages[$_] }))
64 if ($signature -ne $previous) {
65 $previous = $signature
66 $stableSince = [DateTime]::UtcNow
67 }
68 if ((($ExpectedPages -ge 0 -and $pages.Count -eq $ExpectedPages) -or
69 ($ExpectedPages -lt 0 -and $pages.Count -gt 0)) -and
70 ([DateTime]::UtcNow - $stableSince).TotalSeconds -ge 2) { $settled = $true; break }
71 Start-Sleep -Milliseconds 250
72 } while ([DateTime]::UtcNow -lt $deadline)
73 if (-not $settled -or ($ExpectedPages -ge 0 -and $pages.Count -ne $ExpectedPages) -or ($ExpectedPages -lt 0 -and $pages.Count -eq 0)) {
74 $index = 0
75 foreach ($id in @($pages.Keys | Sort-Object)) {
76 [IO.File]::WriteAllText((Join-Path $output ('unsettled-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8)
77 $index++
78 }
79 $hierarchy = ''
80 $app.GetHierarchy($notebookId, 4, [ref]$hierarchy, 1)
81 [IO.File]::WriteAllText((Join-Path $output 'unsettled-hierarchy.xml'), $hierarchy, [Text.Encoding]::UTF8)
82 throw "Expected $ExpectedPages pages; OneNote returned $($pages.Count)."
83 }
84 $index = 0
85 $payloads = @()
86 foreach ($id in @($pages.Keys | Sort-Object)) {
87 [IO.File]::WriteAllText((Join-Path $output ('page-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8)
88 if ($Pdf) {
89 $pdfPath = Join-Path $output ('page-{0:d3}.pdf' -f $index)
90 $app.NavigateTo($id, '', $false)
91 $app.Publish($id, $pdfPath, 3, '')
92 if (-not (Test-Path $pdfPath) -or (Get-Item $pdfPath).Length -eq 0) { throw 'OneNote did not publish the page PDF.' }
93 }
94 [xml]$page = $pages[$id]
95 foreach ($file in $page.SelectNodes('//*[local-name()="InsertedFile" or local-name()="MediaFile"]')) {
96 $bytes = [IO.File]::ReadAllBytes($file.GetAttribute('pathCache'))
97 $hash = [BitConverter]::ToString([Security.Cryptography.SHA256]::Create().ComputeHash($bytes)).Replace('-', '').ToLowerInvariant()
98 [IO.File]::WriteAllBytes((Join-Path $output ($hash + '.attachment')), $bytes)
99 $payloads += @{ page = $id; object = $file.ParentNode.GetAttribute('objectID');
100 kind = $file.LocalName; name = $file.GetAttribute('preferredName');
101 sha256 = $hash; bytes = $bytes.Length }
102 }
103 $index++
104 }
105 [IO.File]::WriteAllText((Join-Path $output 'payloads.json'), (ConvertTo-Json -InputObject $payloads -Depth 4), [Text.Encoding]::UTF8)
106 $all = ''
107 $app.GetHierarchy($notebookId, 4, [ref]$all, 1)
108 [xml]$finalTree = $all
109 $finalIds = @($finalTree.SelectNodes('//*[local-name()="Page"]') | ForEach-Object { $_.GetAttribute('ID') } | Sort-Object -Unique)
110 if ($finalIds.Count -ne $pages.Count -or @($finalIds | Where-Object { -not $pages.ContainsKey($_) }).Count -ne 0) {
111 throw 'The notebook hierarchy changed while collecting page evidence; repeat the cold read.'
112 }
113 [IO.File]::WriteAllText((Join-Path $output 'hierarchy.xml'), $all, [Text.Encoding]::UTF8)
114 Write-Output "Read $($sections.Count) sections and $($pages.Count) pages."
115} catch {
116 $failure = $_
117 [IO.File]::WriteAllText((Join-Path $output 'failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8)
118 throw
119} finally {
120 try {
121 try {
122 if ($notebookId -and $CloneHost) { $app.SyncHierarchy($notebookId) }
123 if ($notebookId -and -not $KeepOpen -and (-not $UseCurrentCache -or $CloneHost)) {
124 $app.CloseNotebook($notebookId, $false)
125 }
126 } catch {
127 if ($null -eq $failure) { throw }
128 [IO.File]::WriteAllText((Join-Path $output 'cleanup-failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8)
129 }
130 } finally {
131 [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
132 }
133 $app = $null
134 [GC]::Collect()
135 [GC]::WaitForPendingFinalizers()
136 if (-not $UseCurrentCache -and -not $CloneHost) {
137 Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10
138 }
139}
corpus/m6/native-template-controls-01/source.json created+14
...@@ -0,0 +1,14 @@
1[
2 {
3 "path": "Open Notebook.onetoc2",
4 "bytes": 1612,
5 "sha256": "fafa5dcb3cd827c7edd30c8ea2fbc957a59fb4d2a8b28b667a3c551c8261ab86",
6 "mtime_ns": 1788592288950419463
7 },
8 {
9 "path": "synthetic.one",
10 "bytes": 3348,
11 "sha256": "b0662387c3fdc256d8dbe809e3b8f73b3586559696467fb1fff8f589095fa797",
12 "mtime_ns": 1788592288941514581
13 }
14]
corpus/m6/native-template-controls-01/teardown.json created+1
...@@ -0,0 +1 @@
1{"absent": true}
corpus/m6/native-template-controls-01/ui-operations.json created+11
...@@ -0,0 +1,11 @@
1{
2 "operations": [
3 "New Page dropdown > Page Templates > Decorative > Hearts",
4 "Set title to Hearts template control",
5 "Choose default template > Hearts - Decorative (mouse selection verified)",
6 "New Page: visually verified the Hearts background appeared automatically",
7 "Set title to Default template page"
8 ],
9 "expected_pages": 3,
10 "template": "Hearts"
11}
\ No newline at end of file
corpus/m6/rust-collapse-control-01/ORACLE.md created+17
...@@ -0,0 +1,17 @@
1# Saved paragraph collapse default
2
3The Rust scalar writer changed only property `0x0c001c11` on the paragraph
4containing `Collapsed parent` from byte `01` to `00`, starting from
5`../native-features-01/notebook`. The mutated input is `input/notebook`.
6A fresh OneNote 14.0.4763.1000 clone opened it without further editing.
7
8The original native fixture reports `collapsed="1"` and hides both descendants
9in its PDF. This control omits `collapsed` from XML and shows both descendants
10in its PDF. Both versions retain the same child/grandchild structure.
11`tests/document.rs` and `tools/test_document_oracle.py` assert these facts.
12The model exposes the byte as `collapse_state`: 0 means expanded and 1 collapsed;
13other values remain uninterpreted. The report folds state 1 while retaining
14expandable descendant content.
15
16The separate `../native-expanded-control-ui-01` demonstrates that a client can
17expand its transient view without changing the notebook or its PDF output.
corpus/m6/rust-collapse-control-01/agent.py created+439
...@@ -0,0 +1,439 @@
1import base64
2import ctypes
3import hashlib
4import json
5import os
6import struct
7import subprocess
8import sys
9import tempfile
10import threading
11import time
12import zlib
13from ctypes import wintypes
14from http.server import ThreadingHTTPServer, BaseHTTPRequestHandler
15
16BASE = os.path.dirname(os.path.abspath(__file__))
17with open(__file__, 'rb') as source:
18 AGENT_SHA256 = hashlib.sha256(source.read()).hexdigest()
19LOCK = threading.Lock()
20
21user32 = ctypes.windll.user32
22gdi32 = ctypes.windll.gdi32
23
24SRCCOPY = 0x00CC0020
25CAPTUREBLT = 0x40000000
26BI_RGB = 0
27DIB_RGB_COLORS = 0
28
29# restype must be set on x64: the default c_int return truncates a 64-bit HANDLE.
30user32.GetDC.restype = wintypes.HDC
31user32.GetDC.argtypes = [wintypes.HWND]
32user32.ReleaseDC.restype = ctypes.c_int
33user32.ReleaseDC.argtypes = [wintypes.HWND, wintypes.HDC]
34user32.GetSystemMetrics.restype = ctypes.c_int
35user32.GetSystemMetrics.argtypes = [ctypes.c_int]
36gdi32.CreateCompatibleDC.restype = wintypes.HDC
37gdi32.CreateCompatibleDC.argtypes = [wintypes.HDC]
38gdi32.CreateCompatibleBitmap.restype = wintypes.HBITMAP
39gdi32.CreateCompatibleBitmap.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int]
40gdi32.SelectObject.restype = wintypes.HGDIOBJ
41gdi32.SelectObject.argtypes = [wintypes.HDC, wintypes.HGDIOBJ]
42gdi32.BitBlt.restype = wintypes.BOOL
43gdi32.BitBlt.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int, ctypes.c_int,
44 ctypes.c_int, wintypes.HDC, ctypes.c_int, ctypes.c_int,
45 wintypes.DWORD]
46gdi32.GetDIBits.restype = ctypes.c_int
47gdi32.GetDIBits.argtypes = [wintypes.HDC, wintypes.HBITMAP, wintypes.UINT,
48 wintypes.UINT, ctypes.c_void_p, ctypes.c_void_p,
49 wintypes.UINT]
50gdi32.DeleteObject.restype = wintypes.BOOL
51gdi32.DeleteObject.argtypes = [wintypes.HGDIOBJ]
52gdi32.DeleteDC.restype = wintypes.BOOL
53gdi32.DeleteDC.argtypes = [wintypes.HDC]
54
55WNDENUMPROC = ctypes.WINFUNCTYPE(wintypes.BOOL, wintypes.HWND, wintypes.LPARAM)
56user32.GetForegroundWindow.restype = wintypes.HWND
57user32.GetForegroundWindow.argtypes = []
58user32.GetWindowTextW.restype = ctypes.c_int
59user32.GetWindowTextW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int]
60user32.GetClassNameW.restype = ctypes.c_int
61user32.GetClassNameW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int]
62user32.GetClientRect.restype = wintypes.BOOL
63user32.GetClientRect.argtypes = [wintypes.HWND, ctypes.POINTER(wintypes.RECT)]
64user32.EnumChildWindows.restype = wintypes.BOOL
65user32.EnumChildWindows.argtypes = [wintypes.HWND, WNDENUMPROC, wintypes.LPARAM]
66
67
68class BITMAPINFOHEADER(ctypes.Structure):
69 _fields_ = [("biSize", wintypes.DWORD),
70 ("biWidth", wintypes.LONG),
71 ("biHeight", wintypes.LONG),
72 ("biPlanes", wintypes.WORD),
73 ("biBitCount", wintypes.WORD),
74 ("biCompression", wintypes.DWORD),
75 ("biSizeImage", wintypes.DWORD),
76 ("biXPelsPerMeter", wintypes.LONG),
77 ("biYPelsPerMeter", wintypes.LONG),
78 ("biClrUsed", wintypes.DWORD),
79 ("biClrImportant", wintypes.DWORD)]
80
81
82PREAMBLE = (
83 "#Requires AutoHotkey v2.0\n"
84 "#SingleInstance Off\n"
85 "#Warn All, Off\n"
86 'FileEncoding "UTF-8-RAW"\n'
87 'SendMode "Input"\n'
88 "SetWorkingDir A_ScriptDir\n"
89 'CoordMode "Mouse", "Screen"\n'
90 'CoordMode "Pixel", "Screen"\n'
91 'CoordMode "ToolTip", "Screen"\n'
92 "SetTitleMatchMode 2\n"
93 "DetectHiddenWindows true\n"
94)
95
96
97def ahk_path():
98 u64 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey64.exe")
99 u32 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey32.exe")
100 return u64 if os.path.exists(u64) else u32
101
102
103def _chunk(tag, data):
104 return (struct.pack(">I", len(data)) + tag + data +
105 struct.pack(">I", zlib.crc32(tag + data) & 0xffffffff))
106
107
108def _to_png(bgra, w, h):
109 arr = bytearray(bgra)
110 r = arr[2::4]
111 arr[2::4] = arr[0::4]
112 arr[0::4] = r
113 del arr[3::4]
114 stride = w * 3
115 mv = memoryview(arr)
116 raw = bytearray()
117 for y in range(h):
118 raw.append(0)
119 raw += mv[y * stride:(y + 1) * stride]
120 ihdr = struct.pack(">IIBBBBB", w, h, 8, 2, 0, 0, 0)
121 return (b"\x89PNG\r\n\x1a\n" + _chunk(b"IHDR", ihdr) +
122 _chunk(b"IDAT", zlib.compress(bytes(raw))) + _chunk(b"IEND", b""))
123
124
125def capture():
126 w = user32.GetSystemMetrics(0)
127 h = user32.GetSystemMetrics(1)
128 hdc = user32.GetDC(None)
129 mem = None
130 hbm = None
131 try:
132 mem = gdi32.CreateCompatibleDC(hdc)
133 hbm = gdi32.CreateCompatibleBitmap(hdc, w, h)
134 old = gdi32.SelectObject(mem, hbm)
135 gdi32.BitBlt(mem, 0, 0, w, h, hdc, 0, 0, SRCCOPY | CAPTUREBLT)
136 gdi32.SelectObject(mem, old)
137 bmi = BITMAPINFOHEADER()
138 bmi.biSize = ctypes.sizeof(BITMAPINFOHEADER)
139 bmi.biWidth = w
140 bmi.biHeight = -h # negative => top-down rows, matches screenshot orientation
141 bmi.biPlanes = 1
142 bmi.biBitCount = 32
143 bmi.biCompression = BI_RGB
144 buf = ctypes.create_string_buffer(w * h * 4)
145 if gdi32.GetDIBits(mem, hbm, 0, h, buf, ctypes.byref(bmi),
146 DIB_RGB_COLORS) == 0:
147 raise RuntimeError("GetDIBits failed")
148 data = buf.raw
149 finally:
150 if hbm:
151 gdi32.DeleteObject(hbm)
152 if mem:
153 gdi32.DeleteDC(mem)
154 user32.ReleaseDC(None, hdc)
155 return _to_png(data, w, h), w, h
156
157
158def _win_text(fn, hwnd, n=512):
159 buf = ctypes.create_unicode_buffer(n)
160 fn(hwnd, buf, n)
161 return buf.value
162
163
164def active_window():
165 hwnd = user32.GetForegroundWindow()
166 if not hwnd:
167 return {"title": "", "class": "", "dialog": False}
168 cls = _win_text(user32.GetClassNameW, hwnd)
169 return {"title": _win_text(user32.GetWindowTextW, hwnd),
170 "class": cls, "dialog": cls == "#32770"}
171
172
173def control_tree():
174 hwnd = user32.GetForegroundWindow()
175 rows = []
176
177 def add(h):
178 rect = wintypes.RECT()
179 user32.GetClientRect(h, ctypes.byref(rect))
180 rows.append((_win_text(user32.GetClassNameW, h),
181 _win_text(user32.GetWindowTextW, h),
182 rect.left, rect.top,
183 rect.right - rect.left, rect.bottom - rect.top))
184
185 if hwnd:
186 add(hwnd)
187
188 def cb(child, _lparam):
189 add(child)
190 return True
191 user32.EnumChildWindows(hwnd, WNDENUMPROC(cb), 0)
192 lines = ["%-24s %-28s %s" % ("class", "text", "l,t,w,h")]
193 for cls, text, l, t, w, h in rows:
194 lines.append("%-24s %-28s %d,%d,%d,%d" % (cls, text, l, t, w, h))
195 return "\n".join(lines)
196
197
198def _run(argv, timeout_ms, encoding, on_timeout=None):
199 def dec(b):
200 return b.decode(encoding, "replace") if b else ""
201
202 p = subprocess.Popen(argv, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
203 try:
204 out, err = p.communicate(timeout=timeout_ms / 1000.0)
205 return p.returncode, dec(out), dec(err), None
206 except subprocess.TimeoutExpired:
207 if on_timeout:
208 on_timeout()
209 subprocess.call(["taskkill", "/F", "/T", "/PID", str(p.pid)])
210 try:
211 # A process the script launched can outlive taskkill still holding the
212 # inherited stdout pipe; an unbounded wait here wedges the agent's lock.
213 out, err = p.communicate(timeout=5)
214 except subprocess.TimeoutExpired:
215 out = err = b""
216 for pipe in (p.stdout, p.stderr):
217 if pipe:
218 pipe.close()
219 msg = "timed out after %d ms, process killed" % timeout_ms
220 return None, dec(out), dec(err), msg
221
222
223def run_ahk(script, timeout_ms, on_timeout=None):
224 fd, path = tempfile.mkstemp(suffix=".ahk")
225 os.close(fd)
226 # AutoHotkey (Unicode-only) needs a UTF-8 BOM to read the file as UTF-8.
227 with open(path, "wb") as f:
228 f.write(b"\xef\xbb\xbf" + (PREAMBLE + script).encode("utf-8"))
229 try:
230 # /ErrorStdOut sends syntax errors to stderr instead of a blocking modal.
231 code, out, err, error = _run([ahk_path(), "/ErrorStdOut", path], timeout_ms,
232 "utf-8", on_timeout)
233 finally:
234 os.remove(path)
235 if error:
236 error = "script " + error
237 return code, out, err, error
238
239
240def _safe_capture(error):
241 try:
242 png, w, h = capture()
243 return base64.b64encode(png).decode("ascii"), w, h, error
244 except Exception as e:
245 note = "screenshot failed: " + repr(e)
246 return "", 0, 0, (error + "; " + note if error else note)
247
248
249LOG_PATH = os.path.join(BASE, "agent.log")
250LOG_LOCK = threading.Lock()
251
252
253def log(text, stamp=True):
254 """Console and agent.log, so a session can be reconstructed after the fact."""
255 line = time.strftime("%Y-%m-%d %H:%M:%S ") + text if stamp else text
256 with LOG_LOCK:
257 print(line, end="" if line.endswith("\n") else "\n", flush=True)
258 try:
259 with open(LOG_PATH, "a", encoding="utf-8") as f:
260 f.write(line if line.endswith("\n") else line + "\n")
261 except OSError:
262 pass # a log that cannot be written must not take the agent down
263
264
265class Handler(BaseHTTPRequestHandler):
266 def log_message(self, *a):
267 pass
268
269 def _send(self, code, obj):
270 body = json.dumps(obj).encode("utf-8")
271 self.send_response(code)
272 self.send_header("Content-Type", "application/json")
273 self.send_header("Content-Length", str(len(body)))
274 self.end_headers()
275 self.wfile.write(body)
276
277 def _log(self, start, code, body=None):
278 log("%s %s %dms exit=%s" % (self.command, self.path,
279 int((time.time() - start) * 1000), code))
280 if body:
281 log("".join(" | %s\n" % l for l in body.splitlines()), stamp=False)
282
283 def _auth_ok(self):
284 token = os.environ.get("WIN7_TOKEN")
285 return not token or self.headers.get("X-Win7-Token") == token
286
287 def _body(self):
288 n = int(self.headers.get("Content-Length") or 0)
289 raw = self.rfile.read(n) if n else b""
290 return json.loads(raw.decode("utf-8")) if raw else {}
291
292 def do_GET(self):
293 start = time.time()
294 if not self._auth_ok():
295 self._send(401, {"error": "bad token"})
296 elif self.path == "/health":
297 self._send(200, {"ok": True, "w": user32.GetSystemMetrics(0),
298 "h": user32.GetSystemMetrics(1),
299 "hostname": os.environ.get("COMPUTERNAME", ""),
300 "ahk": ahk_path(), "python": sys.executable,
301 "agent_sha256": AGENT_SHA256})
302 else:
303 self._send(404, {"error": "not found"})
304 self._log(start, None)
305
306 def do_POST(self):
307 start = time.time()
308 code = None
309 if not self._auth_ok():
310 self._send(401, {"error": "bad token"})
311 self._log(start, None)
312 return
313 try:
314 data = self._body()
315 except Exception:
316 self._send(400, {"error": "bad json"})
317 self._log(start, None)
318 return
319 body = {"/exec": data.get("script"), "/cmd": data.get("command"),
320 "/spawn": data.get("command"),
321 "/put": data.get("path"), "/get": data.get("path")}.get(self.path)
322 try:
323 if self.path == "/exec":
324 resp = self._exec(data)
325 code = resp["exit"]
326 elif self.path == "/cmd":
327 resp = self._cmd(data)
328 code = resp["exit"]
329 elif self.path == "/spawn":
330 resp = self._spawn(data)
331 code = 0
332 elif self.path == "/put":
333 resp = self._put(data)
334 elif self.path == "/get":
335 resp = self._get(data)
336 elif self.path == "/shot":
337 resp = self._shot()
338 elif self.path == "/ui":
339 resp = self._ui()
340 else:
341 self._send(404, {"error": "not found"})
342 self._log(start, None)
343 return
344 self._send(200, resp)
345 except Exception as e:
346 self._send(200, {"error": repr(e), "exit": None, "stdout": "",
347 "stderr": "", "png_b64": "", "w": 0, "h": 0})
348 self._log(start, code, body)
349
350 def _exec(self, data):
351 pre = []
352
353 def grab(): # capture before taskkill so the blocker is still on screen
354 pre.append((_safe_capture(None), active_window()))
355
356 with LOCK:
357 code, out, err, error = run_ahk(data.get("script", ""),
358 data.get("timeout_ms", 60000), grab)
359 if pre:
360 (b64, w, h, note), win = pre[0]
361 else:
362 time.sleep(data.get("shot_delay_ms", 500) / 1000.0)
363 b64, w, h, note = _safe_capture(None)
364 win = active_window()
365 if note:
366 error = error + "; " + note if error else note
367 return {"exit": code, "stdout": out, "stderr": err, "png_b64": b64,
368 "w": w, "h": h, "error": error, "win": win}
369
370 def _put(self, data):
371 path = data.get("path", "")
372 blob = base64.b64decode(data.get("b64", ""))
373 parent = os.path.dirname(path)
374 if parent and not os.path.isdir(parent):
375 os.makedirs(parent)
376 with open(path, "wb") as f:
377 f.write(blob)
378 return {"bytes": len(blob), "path": os.path.abspath(path), "error": None}
379
380 def _get(self, data):
381 with open(data.get("path", ""), "rb") as f:
382 blob = f.read()
383 return {"b64": base64.b64encode(blob).decode("ascii"), "bytes": len(blob),
384 "error": None}
385
386 def _cmd(self, data):
387 with LOCK:
388 # A raw command-line string, not a list: on Windows list2cmdline would
389 # backslash-escape the embedded quotes before cmd.exe ever sees them.
390 code, out, err, error = _run("cmd.exe /c " + data.get("command", ""),
391 data.get("timeout_ms", 60000), "oem")
392 return {"exit": code, "stdout": out, "stderr": err, "error": error}
393
394 def _spawn(self, data):
395 flags = subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS
396 process = subprocess.Popen(data.get("command", ""), stdin=subprocess.DEVNULL,
397 stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL,
398 close_fds=True, creationflags=flags)
399 return {"pid": process.pid, "error": None}
400
401 def _shot(self):
402 b64, w, h, error = _safe_capture(None)
403 win = active_window()
404 return {"png_b64": b64, "w": w, "h": h, "error": error, "win": win}
405
406 def _ui(self):
407 win = active_window()
408 controls = control_tree()
409 return {"win": win, "controls": controls, "error": None}
410
411
412def keep_awake():
413 """Hold the display and system awake for as long as this process lives.
414
415 Screen blanking alone is harmless -- BitBlt still captures the composited
416 desktop -- but sleep kills the agent outright, and a locked session moves
417 the desktop to Winlogon where neither AutoHotkey nor the capture can reach.
418 """
419 ES_CONTINUOUS, ES_SYSTEM_REQUIRED, ES_DISPLAY_REQUIRED = 0x80000000, 0x1, 0x2
420 kernel32 = ctypes.windll.kernel32
421 kernel32.SetThreadExecutionState.restype = wintypes.DWORD
422 kernel32.SetThreadExecutionState.argtypes = [wintypes.DWORD]
423 return kernel32.SetThreadExecutionState(
424 ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED)
425
426
427def main():
428 user32.SetProcessDPIAware()
429 awake = keep_awake()
430 port = int(os.environ.get("WIN7_PORT", "8777"))
431 srv = ThreadingHTTPServer(("0.0.0.0", port), Handler)
432 log("win7-agent listening on 0.0.0.0:%d ahk=%s log=%s%s"
433 % (port, ahk_path(), LOG_PATH,
434 "" if awake else " (WARNING: could not inhibit sleep)"))
435 srv.serve_forever()
436
437
438if __name__ == "__main__":
439 main()
corpus/m6/rust-collapse-control-01/commands.jsonl created+3
...@@ -0,0 +1,3 @@
1{"command": "powershell -NoProfile -Command \"Expand-Archive -LiteralPath C:\\one-tests\\transfer.zip -DestinationPath C:\\one-tests\\runs\\capture\\notebook\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
2{"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-2129FECA -ExpectedPages 20 -Pdf", "exit": 0, "stdout": "Read 5 sections and 20 pages.\r\n", "stderr": "", "error": null}
3{"command": "powershell -NoProfile -Command \"Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\read -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
corpus/m6/rust-collapse-control-01/format-differences.json created+1
...@@ -0,0 +1 @@
1[]
\ No newline at end of file
corpus/m6/rust-collapse-control-01/geometry-differences.json created+1
...@@ -0,0 +1 @@
1[]
\ No newline at end of file
corpus/m6/rust-collapse-control-01/health.json created+9
...@@ -0,0 +1,9 @@
1{
2 "ok": true,
3 "w": 800,
4 "h": 600,
5 "hostname": "ONE-M6-2129FECA",
6 "ahk": "C:\\win7-agent\\vendor\\ahk\\AutoHotkey64.exe",
7 "python": "C:\\win7-agent\\vendor\\python\\python.exe",
8 "agent_sha256": "ef7ca89be026695cf4412460a2eec308b0ed253fb9245597a7fe5d6938e49f89"
9}
corpus/m6/rust-collapse-control-01/input/notebook/Empty.one created
Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/input/notebook/Empty.one differ
corpus/m6/rust-collapse-control-01/input/notebook/Features.one created
Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/input/notebook/Features.one differ
corpus/m6/rust-collapse-control-01/input/notebook/Group A/Duplicate.one created
Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/input/notebook/Group A/Duplicate.one differ
corpus/m6/rust-collapse-control-01/input/notebook/Group A/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/input/notebook/Group A/Open Notebook.onetoc2 differ
corpus/m6/rust-collapse-control-01/input/notebook/Group B/Nested/Duplicate.one created
Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/input/notebook/Group B/Nested/Duplicate.one differ
corpus/m6/rust-collapse-control-01/input/notebook/Group B/Nested/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/input/notebook/Group B/Nested/Open Notebook.onetoc2 differ
corpus/m6/rust-collapse-control-01/input/notebook/Group B/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/input/notebook/Group B/Open Notebook.onetoc2 differ
corpus/m6/rust-collapse-control-01/input/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/input/notebook/Open Notebook.onetoc2 differ
corpus/m6/rust-collapse-control-01/input/notebook/fixture-data/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/input/notebook/fixture-data/Open Notebook.onetoc2 differ
corpus/m6/rust-collapse-control-01/input/notebook/fixture-data/attachment.txt created
Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/input/notebook/fixture-data/attachment.txt differ
corpus/m6/rust-collapse-control-01/input/notebook/fixture-data/pattern.bmp created
Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/input/notebook/fixture-data/pattern.bmp differ
corpus/m6/rust-collapse-control-01/input/notebook/fixture-data/pattern.gif created
Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/input/notebook/fixture-data/pattern.gif differ
corpus/m6/rust-collapse-control-01/input/notebook/fixture-data/pattern.jpg created
Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/input/notebook/fixture-data/pattern.jpg differ
corpus/m6/rust-collapse-control-01/input/notebook/fixture-data/pattern.png created
Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/input/notebook/fixture-data/pattern.png differ
corpus/m6/rust-collapse-control-01/input/notebook/fixture-data/pattern.tiff created
Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/input/notebook/fixture-data/pattern.tiff differ
corpus/m6/rust-collapse-control-01/input/notebook/fixture-data/silence.wav created
Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/input/notebook/fixture-data/silence.wav differ
corpus/m6/rust-collapse-control-01/input/notebook/fixture.json created+86
...@@ -0,0 +1,86 @@
1{
2 "sections": [
3 "Features.one",
4 "Group A/Duplicate.one",
5 "Group B/Nested/Duplicate.one",
6 "Empty.one"
7 ],
8 "pages": [
9 {
10 "section": "Features.one",
11 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image png</one:T></one:OE></one:Title><one:Image format=\"auto\" alt=\"Pattern png\" hyperlink=\"https://example.invalid/image/png\"><one:Position x=\"72\" y=\"108\"/><one:Size width=\"144\" height=\"48\"/><one:File path=\"__ASSETS__\\pattern.png\"/></one:Image></one:Page>"
12 },
13 {
14 "section": "Features.one",
15 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image jpg</one:T></one:OE></one:Title><one:Image format=\"auto\" alt=\"Pattern jpg\" hyperlink=\"https://example.invalid/image/jpg\"><one:Position x=\"72\" y=\"108\"/><one:Size width=\"144\" height=\"48\"/><one:File path=\"__ASSETS__\\pattern.jpg\"/></one:Image></one:Page>"
16 },
17 {
18 "section": "Features.one",
19 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image bmp</one:T></one:OE></one:Title><one:Image format=\"auto\" alt=\"Pattern bmp\" hyperlink=\"https://example.invalid/image/bmp\"><one:Position x=\"72\" y=\"108\"/><one:Size width=\"144\" height=\"48\"/><one:File path=\"__ASSETS__\\pattern.bmp\"/></one:Image></one:Page>"
20 },
21 {
22 "section": "Features.one",
23 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image tiff</one:T></one:OE></one:Title><one:Image format=\"auto\" alt=\"Pattern tiff\" hyperlink=\"https://example.invalid/image/tiff\"><one:Position x=\"72\" y=\"108\"/><one:Size width=\"144\" height=\"48\"/><one:File path=\"__ASSETS__\\pattern.tiff\"/></one:Image></one:Page>"
24 },
25 {
26 "section": "Features.one",
27 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image gif</one:T></one:OE></one:Title><one:Image format=\"auto\" alt=\"Pattern gif\" hyperlink=\"https://example.invalid/image/gif\"><one:Position x=\"72\" y=\"108\"/><one:Size width=\"144\" height=\"48\"/><one:File path=\"__ASSETS__\\pattern.gif\"/></one:Image></one:Page>"
28 },
29 {
30 "section": "Features.one",
31 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image role background=false, printout=false</one:T></one:OE></one:Title><one:Image format=\"auto\" backgroundImage=\"false\" isPrintOut=\"false\" originalPageNumber=\"2\" alt=\"Role pattern\"><one:Position x=\"36\" y=\"36\"/><one:Size width=\"288\" height=\"192\"/><one:File path=\"__ASSETS__\\pattern.png\"/></one:Image><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Foreground role control</one:T></one:OE></one:OEChildren></one:Outline></one:Page>"
32 },
33 {
34 "section": "Features.one",
35 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image role background=true, printout=false</one:T></one:OE></one:Title><one:Image format=\"auto\" backgroundImage=\"true\" isPrintOut=\"false\" originalPageNumber=\"2\" alt=\"Role pattern\"><one:Position x=\"36\" y=\"36\"/><one:Size width=\"288\" height=\"192\"/><one:File path=\"__ASSETS__\\pattern.png\"/></one:Image><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Foreground role control</one:T></one:OE></one:OEChildren></one:Outline></one:Page>"
36 },
37 {
38 "section": "Features.one",
39 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image role background=false, printout=true</one:T></one:OE></one:Title><one:Image format=\"auto\" backgroundImage=\"false\" isPrintOut=\"true\" originalPageNumber=\"2\" alt=\"Role pattern\"><one:Position x=\"36\" y=\"36\"/><one:Size width=\"288\" height=\"192\"/><one:File path=\"__ASSETS__\\pattern.png\"/></one:Image><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Foreground role control</one:T></one:OE></one:OEChildren></one:Outline></one:Page>"
40 },
41 {
42 "section": "Features.one",
43 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image role background=true, printout=true</one:T></one:OE></one:Title><one:Image format=\"auto\" backgroundImage=\"true\" isPrintOut=\"true\" originalPageNumber=\"2\" alt=\"Role pattern\"><one:Position x=\"36\" y=\"36\"/><one:Size width=\"288\" height=\"192\"/><one:File path=\"__ASSETS__\\pattern.png\"/></one:Image><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Foreground role control</one:T></one:OE></one:OEChildren></one:Outline></one:Page>"
44 },
45 {
46 "section": "Features.one",
47 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Files and recording</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:InsertedFile pathSource=\"__ASSETS__\\attachment.txt\" preferredName=\"Fictitious attachment.txt\"/></one:OE><one:OE><one:MediaFile pathSource=\"__ASSETS__\\silence.wav\" preferredName=\"silence.wav\"><one:MediaReference mediaID=\"{9A418E57-7F64-40C5-87D0-8A8F7C1E5422}\"/></one:MediaFile></one:OE><one:OE><one:MediaIndex timeIndex=\"500\"><one:MediaReference mediaID=\"{9A418E57-7F64-40C5-87D0-8A8F7C1E5422}\"/></one:MediaIndex><one:T>Recording annotation</one:T></one:OE></one:OEChildren></one:Outline></one:Page>"
48 },
49 {
50 "section": "Features.one",
51 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:QuickStyleDef index=\"0\" name=\"Fixture style\" font=\"Calibri\" fontSize=\"14\" strikethrough=\"true\" spaceBefore=\"0.25\" spaceAfter=\"0.125\"/><one:Title><one:OE><one:T>Paragraph controls</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE quickStyleIndex=\"0\"><one:T>Inherited strike and spacing</one:T></one:OE><one:OE alignment=\"center\" spaceBefore=\"12\" spaceAfter=\"6\"><one:T>Centered paragraph</one:T></one:OE><one:OE RTL=\"true\" alignment=\"right\"><one:T>مرحبا بالعالم</one:T></one:OE><one:OE collapsed=\"true\"><one:T>Collapsed parent</one:T><one:OEChildren indent=\"2\"><one:OE><one:T>Hidden child remains stored</one:T><one:OEChildren><one:OE><one:T>Grandchild</one:T></one:OE></one:OEChildren></one:OE></one:OEChildren></one:OE><one:OE><one:T><![CDATA[A<br><br>B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;C]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>"
52 },
53 {
54 "section": "Features.one",
55 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Numbering controls</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:List><one:Number numberSequence=\"0\" numberFormat=\"##\" restartNumberingAt=\"3\" font=\"Calibri\"/></one:List><one:T>Sequence 0, item 0</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"0\" numberFormat=\"##\" font=\"Calibri\"/></one:List><one:T>Sequence 0, item 1</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"1\" numberFormat=\"##\" restartNumberingAt=\"3\" font=\"Calibri\"/></one:List><one:T>Sequence 1, item 0</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"1\" numberFormat=\"##\" font=\"Calibri\"/></one:List><one:T>Sequence 1, item 1</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"2\" numberFormat=\"##\" restartNumberingAt=\"3\" font=\"Calibri\"/></one:List><one:T>Sequence 2, item 0</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"2\" numberFormat=\"##\" font=\"Calibri\"/></one:List><one:T>Sequence 2, item 1</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"3\" numberFormat=\"##\" restartNumberingAt=\"3\" font=\"Calibri\"/></one:List><one:T>Sequence 3, item 0</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"3\" numberFormat=\"##\" font=\"Calibri\"/></one:List><one:T>Sequence 3, item 1</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"4\" numberFormat=\"##\" restartNumberingAt=\"3\" font=\"Calibri\"/></one:List><one:T>Sequence 4, item 0</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"4\" numberFormat=\"##\" font=\"Calibri\"/></one:List><one:T>Sequence 4, item 1</one:T></one:OE></one:OEChildren></one:Outline></one:Page>"
56 },
57 {
58 "section": "Features.one",
59 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Task controls</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:OutlookTask guidTask=\"{45AF40E3-1D54-463C-90D3-C454F2F71A2E}\" completed=\"false\" disabled=\"true\" creationDate=\"2020-01-02T03:04:05Z\" startDate=\"2020-01-02T00:00:00Z\" dueDate=\"2020-01-03T00:00:00Z\"/><one:T>Disabled standalone task</one:T></one:OE></one:OEChildren></one:Outline></one:Page>"
60 },
61 {
62 "section": "Group A/Duplicate.one",
63 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" pageLevel=\"1\"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Group path Group A/Duplicate.one, level 1</one:T></one:OE></one:OEChildren></one:Outline></one:Page>"
64 },
65 {
66 "section": "Group A/Duplicate.one",
67 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" pageLevel=\"2\"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Group path Group A/Duplicate.one, level 2</one:T></one:OE></one:OEChildren></one:Outline></one:Page>"
68 },
69 {
70 "section": "Group A/Duplicate.one",
71 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" pageLevel=\"3\"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Group path Group A/Duplicate.one, level 3</one:T></one:OE></one:OEChildren></one:Outline></one:Page>"
72 },
73 {
74 "section": "Group B/Nested/Duplicate.one",
75 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" pageLevel=\"1\"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Group path Group B/Nested/Duplicate.one, level 1</one:T></one:OE></one:OEChildren></one:Outline></one:Page>"
76 },
77 {
78 "section": "Group B/Nested/Duplicate.one",
79 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" pageLevel=\"2\"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Group path Group B/Nested/Duplicate.one, level 2</one:T></one:OE></one:OEChildren></one:Outline></one:Page>"
80 },
81 {
82 "section": "Group B/Nested/Duplicate.one",
83 "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" pageLevel=\"3\"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Group path Group B/Nested/Duplicate.one, level 3</one:T></one:OE></one:OEChildren></one:Outline></one:Page>"
84 }
85 ]
86}
\ No newline at end of file
corpus/m6/rust-collapse-control-01/input/notebook/synthetic.one created
Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/input/notebook/synthetic.one differ
corpus/m6/rust-collapse-control-01/machine.json created+1
...@@ -0,0 +1 @@
1{"name": "m6-2129feca", "hostname": "ONE-M6-2129FECA"}
corpus/m6/rust-collapse-control-01/pdf-format-checks.json created+1
...@@ -0,0 +1 @@
1[]
\ No newline at end of file
corpus/m6/rust-collapse-control-01/read/4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2.attachment created
Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/read/4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2.attachment differ
corpus/m6/rust-collapse-control-01/read/56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9.attachment created
Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/read/56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9.attachment differ
corpus/m6/rust-collapse-control-01/read/environment.json created+7
...@@ -0,0 +1,7 @@
1{
2 "powershell": "5.1.14409.1005",
3 "schema": "xs2010",
4 "hostname": "ONE-M6-2129FECA",
5 "cold": true,
6 "onenote": "14.0.4763.1000"
7}
corpus/m6/rust-collapse-control-01/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{7FF805BD-2ECA-45DE-875B-6380126B89EB}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-06T06:06:55.000Z" color="#B49EDE" isCurrentlyViewed="true"><one:Section name="synthetic" ID="{9826F1B9-3F44-055D-00C4-70A8B70899BB}{1}{B0}" path="C:\one-tests\runs\capture\notebook\synthetic.one" lastModifiedTime="2026-09-06T06:06:43.000Z" color="#8AA8E4"><one:Page ID="{F7A8EC8B-3D59-06AD-2499-50E24986D032}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T06:06:43.000Z" pageLevel="1"/></one:Section><one:Section name="Features" ID="{E8193ADC-B8E0-0E18-0025-6088806D2597}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Features.one" lastModifiedTime="2026-09-06T06:06:45.000Z" color="#91BAAE" isCurrentlyViewed="true"><one:Page ID="{EBD20CA0-3BB8-0AE2-1F39-B708FDC47187}{1}{B0}" name="Image png" dateTime="2026-09-06T02:25:40.000Z" lastModifiedTime="2026-09-06T06:06:44.000Z" pageLevel="1"/><one:Page ID="{891D327E-04B3-0504-15A4-694AD24A755C}{1}{B0}" name="Image jpg" dateTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T06:06:44.000Z" pageLevel="1"/><one:Page ID="{202FE174-3D17-0B20-3B03-81A42F30AAED}{1}{B0}" name="Image bmp" dateTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T06:06:44.000Z" pageLevel="1"/><one:Page ID="{8F5694D0-BF6A-01E7-04F4-6DA12605435E}{1}{B0}" name="Image tiff" dateTime="2026-09-06T02:25:43.000Z" lastModifiedTime="2026-09-06T06:06:44.000Z" pageLevel="1"/><one:Page ID="{46989F11-78CD-0EE7-3DCF-BCB77E542B8A}{1}{B0}" name="Image gif" dateTime="2026-09-06T02:25:44.000Z" lastModifiedTime="2026-09-06T06:06:44.000Z" pageLevel="1"/><one:Page ID="{42539E69-EF96-055C-1596-8E9D9557953F}{1}{B0}" name="Image role background=false, printout=false" dateTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T06:06:44.000Z" pageLevel="1"/><one:Page ID="{95626B46-B586-0D38-32A7-F99FCDA6714C}{1}{B0}" name="Image role background=true, printout=false" dateTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T06:06:44.000Z" pageLevel="1"/><one:Page ID="{029DEFC9-D31C-0143-3797-229050892478}{1}{B0}" name="Image role background=false, printout=true" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T06:06:44.000Z" pageLevel="1"/><one:Page ID="{50B6BBFF-A1C0-0E31-2263-9098DAA8E147}{1}{B0}" name="Image role background=true, printout=true" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T06:06:45.000Z" pageLevel="1"/><one:Page ID="{F8B18912-24AC-0DDE-3A3C-8F1CA984DD2B}{1}{B0}" name="Files and recording" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T06:06:45.000Z" pageLevel="1" isCurrentlyViewed="true"/><one:Page ID="{1C0057FB-F4C7-05C8-21C1-BCA3EEC3EB79}{1}{B0}" name="Paragraph controls" dateTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T06:06:45.000Z" pageLevel="1"/><one:Page ID="{38D761EE-7BB4-07D9-0DCA-97FEB15C623C}{1}{B0}" name="Numbering controls" dateTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T06:06:45.000Z" pageLevel="1"/><one:Page ID="{C0E8B161-0216-0E28-1DAF-5245DA57E02A}{1}{B0}" name="Task controls" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:06:45.000Z" pageLevel="1"/></one:Section><one:Section name="Empty" ID="{59C00A11-027A-082F-0325-5D2D101420B0}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Empty.one" lastModifiedTime="2026-09-06T06:06:49.000Z" color="#9BBBD2"/><one:SectionGroup name="fixture-data" ID="{DBE6BA9C-E2FD-4BDB-AE3A-21057C5045D6}{1}{B0}" path="C:\one-tests\runs\capture\notebook\fixture-data" lastModifiedTime="2026-09-06T06:06:55.000Z"/><one:SectionGroup name="Group A" ID="{EB904F2F-0519-4126-81B9-74A5CFD9E7F6}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Group A" lastModifiedTime="2026-09-06T06:06:47.000Z"><one:Section name="Duplicate" ID="{8C6C6689-1064-082F-09D7-B9668135D768}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Group A\Duplicate.one" lastModifiedTime="2026-09-06T06:06:47.000Z" color="#F6B078"><one:Page ID="{430911FD-2FE1-03BB-0151-B80066D42D89}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:06:46.000Z" pageLevel="1"/><one:Page ID="{B4422B9A-ADD9-0260-110A-EE08D0CC8569}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:06:46.000Z" pageLevel="2"/><one:Page ID="{8C1EAC79-68AB-0A5D-2828-A3A64B067A44}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:06:47.000Z" pageLevel="3"/></one:Section></one:SectionGroup><one:SectionGroup name="Group B" ID="{B449C55F-DE3A-4082-A756-580703279B6E}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Group B" lastModifiedTime="2026-09-06T06:06:48.000Z"><one:SectionGroup name="Nested" ID="{63B5C2AA-086E-481B-9B18-F92BC313AEFC}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Group B\Nested" lastModifiedTime="2026-09-06T06:06:48.000Z"><one:Section name="Duplicate" ID="{767FD809-56DE-0070-3659-78F3D3A98715}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Group B\Nested\Duplicate.one" lastModifiedTime="2026-09-06T06:06:48.000Z" color="#D5A4BB"><one:Page ID="{9F934F15-7A74-0C90-3CC2-A7D8175AF3B3}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:06:48.000Z" pageLevel="1"/><one:Page ID="{E587259B-4459-0CAB-210C-5A0DE85331B9}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:06:48.000Z" pageLevel="2"/><one:Page ID="{72E58750-0765-0CF1-3FA0-FF786780A22F}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T06:06:48.000Z" pageLevel="3"/></one:Section></one:SectionGroup></one:SectionGroup></one:Notebook>
corpus/m6/rust-collapse-control-01/read/page-000.pdf created
Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/read/page-000.pdf differ
corpus/m6/rust-collapse-control-01/read/page-000.xml created+6
...@@ -0,0 +1,6 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{029DEFC9-D31C-0143-3797-229050892478}{1}{B0}" name="Image role background=false, printout=true" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T06:06:44.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{67FD5EEB-E612-09FF-1421-7F0B3DE09D02}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image role background=false, printout=true]]></one:T></one:OE></one:Title><one:Image format="png" isPrintOut="true" alt="Role pattern" originalPageNumber="2" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{67FD5EEB-E612-09FF-1421-7F0B3DE09D02}{39}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="288.0" height="192.0" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec
3CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI
4E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp
5oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT
6+wHXVRp4qDc0HQAAAABJRU5ErkJggg==</one:Data></one:Image><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{67FD5EEB-E612-09FF-1421-7F0B3DE09D02}{41}{B0}"><one:Position x="72.0" y="108.0" z="1"/><one:Size width="146.7475433349609" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{67FD5EEB-E612-09FF-1421-7F0B3DE09D02}{42}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Foreground role control]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/rust-collapse-control-01/read/page-001.pdf created
Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/read/page-001.pdf differ
corpus/m6/rust-collapse-control-01/read/page-001.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{1C0057FB-F4C7-05C8-21C1-BCA3EEC3EB79}{1}{B0}" name="Paragraph controls" dateTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T06:06:45.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:QuickStyleDef index="1" name="Fixture style" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="14.0" strikethrough="true" spaceBefore="0.25" spaceAfter="0.125"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{59D679AE-B391-06B6-057C-67F3278C95F2}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Paragraph controls]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{59D679AE-B391-06B6-057C-67F3278C95F2}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="480.0" height="114.517463684082"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{59D679AE-B391-06B6-057C-67F3278C95F2}{40}{B0}" alignment="left" spaceBefore="9.0" spaceAfter="4.5" quickStyleIndex="1"><one:T><![CDATA[<span
3style='text-decoration:line-through'>Inherited strike and spacing</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{59D679AE-B391-06B6-057C-67F3278C95F2}{47}{B0}" alignment="center" spaceBefore="12.0" spaceAfter="6.0" quickStyleIndex="0"><one:T><![CDATA[Centered paragraph]]></one:T></one:OE><one:OE RTL="true" creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{59D679AE-B391-06B6-057C-67F3278C95F2}{52}{B0}" alignment="right" quickStyleIndex="0" style="font-family:Arial;font-size:11.0pt;text-align:right"><one:T><![CDATA[<span
4style='direction:rtl;unicode-bidi:embed' lang=ar-SA>مرحبا بالعالم</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{59D679AE-B391-06B6-057C-67F3278C95F2}{58}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Collapsed parent]]></one:T><one:OEChildren indent="2"><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{59D679AE-B391-06B6-057C-67F3278C95F2}{63}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Hidden child remains stored]]></one:T><one:OEChildren><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{59D679AE-B391-06B6-057C-67F3278C95F2}{68}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Grandchild]]></one:T></one:OE></one:OEChildren></one:OE></one:OEChildren></one:OE><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{59D679AE-B391-06B6-057C-67F3278C95F2}{73}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[AB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;C]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/rust-collapse-control-01/read/page-002.pdf created
Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/read/page-002.pdf differ
corpus/m6/rust-collapse-control-01/read/page-002.xml created+9
...@@ -0,0 +1,9 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{202FE174-3D17-0B20-3B03-81A42F30AAED}{1}{B0}" name="Image bmp" dateTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T06:06:44.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:43.000Z" lastModifiedTime="2026-09-06T02:25:43.000Z" objectID="{716BA5DA-9413-0C77-20A2-92B2C1A825BC}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image bmp]]></one:T></one:OE></one:Title><one:Image format="png" hyperlink="https://example.invalid/image/bmp" alt="Pattern bmp" originalPageNumber="0" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{716BA5DA-9413-0C77-20A2-92B2C1A825BC}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="144.0" height="48.00000381469727" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAAXNSR0IArs4c6QAAAAlwSFlzAAAO
3xAAADsQBlSsOGwAAARlJREFUeF7t2VFHQ2EcBvD3PWetVqvVam1ERESMiIiIiL7/J5p9gD1dvF51
48eNcn4uf53n2P1ZLKUOpnkMCtYx0kkAt00F8gkAtsxFQBJpPAEWgxRGgCLScAopAq2NAEWhzAigC
53c0ARaD7U0AR6OEMUAR6nAOKQE/ngCLQ8wWgCLRdAIpAL5eAItDrFaAI9LYEFIHerwFFoI8bQBHo
6cwUoAn3dAopA32tAEehnAygKjPu/xjyHBAY0WQDQL+0BBKhtYSVIgiSo6w+xiqmYiqnYX34J2SAb
7ZINskA1qa4EESZAEdW1B15e7g9xBbf2VIAmSICPtDmprgQRJkAR1bUHXl7uD3EFt/ZUgCZIgI+0O
8amuBBEnQP07QDo1OW207QPoWAAAAAElFTkSuQmCC
9</one:Data></one:Image></one:Page>
corpus/m6/rust-collapse-control-01/read/page-003.pdf created
Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/read/page-003.pdf differ
corpus/m6/rust-collapse-control-01/read/page-003.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{38D761EE-7BB4-07D9-0DCA-97FEB15C623C}{1}{B0}" name="Numbering controls" dateTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T06:06:45.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{7DEB8FAD-6D13-052C-3C85-B96DD1EA78EF}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Numbering controls]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{7DEB8FAD-6D13-052C-3C85-B96DD1EA78EF}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="125.0376281738281" height="137.070068359375"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{7DEB8FAD-6D13-052C-3C85-B96DD1EA78EF}{40}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="0" numberFormat="##" restartNumberingAt="3" font="Calibri" text="3"/></one:List><one:T><![CDATA[Sequence 0, item 0]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{7DEB8FAD-6D13-052C-3C85-B96DD1EA78EF}{46}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="0" numberFormat="##" font="Calibri" text="4"/></one:List><one:T><![CDATA[Sequence 0, item 1]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{7DEB8FAD-6D13-052C-3C85-B96DD1EA78EF}{52}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="1" numberFormat="##" restartNumberingAt="3" font="Calibri" text="III"/></one:List><one:T><![CDATA[Sequence 1, item 0]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{7DEB8FAD-6D13-052C-3C85-B96DD1EA78EF}{58}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="1" numberFormat="##" font="Calibri" text="IV"/></one:List><one:T><![CDATA[Sequence 1, item 1]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{7DEB8FAD-6D13-052C-3C85-B96DD1EA78EF}{64}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="2" numberFormat="##" restartNumberingAt="3" font="Calibri" text="iii"/></one:List><one:T><![CDATA[Sequence 2, item 0]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{7DEB8FAD-6D13-052C-3C85-B96DD1EA78EF}{70}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="2" numberFormat="##" font="Calibri" text="iv"/></one:List><one:T><![CDATA[Sequence 2, item 1]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{7DEB8FAD-6D13-052C-3C85-B96DD1EA78EF}{76}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="3" numberFormat="##" restartNumberingAt="3" font="Calibri" text="C"/></one:List><one:T><![CDATA[Sequence 3, item 0]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{7DEB8FAD-6D13-052C-3C85-B96DD1EA78EF}{82}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="3" numberFormat="##" font="Calibri" text="D"/></one:List><one:T><![CDATA[Sequence 3, item 1]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{7DEB8FAD-6D13-052C-3C85-B96DD1EA78EF}{88}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="4" numberFormat="##" restartNumberingAt="3" font="Calibri" text="c"/></one:List><one:T><![CDATA[Sequence 4, item 0]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{7DEB8FAD-6D13-052C-3C85-B96DD1EA78EF}{94}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="4" numberFormat="##" font="Calibri" text="d"/></one:List><one:T><![CDATA[Sequence 4, item 1]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/rust-collapse-control-01/read/page-004.pdf created
Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/read/page-004.pdf differ
corpus/m6/rust-collapse-control-01/read/page-004.xml created+6
...@@ -0,0 +1,6 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{42539E69-EF96-055C-1596-8E9D9557953F}{1}{B0}" name="Image role background=false, printout=false" dateTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T06:06:44.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{7084D3AE-345C-0482-337B-ED3436C9458D}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image role background=false, printout=false]]></one:T></one:OE></one:Title><one:Image format="png" alt="Role pattern" originalPageNumber="2" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{7084D3AE-345C-0482-337B-ED3436C9458D}{39}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="288.0" height="192.0" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec
3CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI
4E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp
5oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT
6+wHXVRp4qDc0HQAAAABJRU5ErkJggg==</one:Data></one:Image><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{7084D3AE-345C-0482-337B-ED3436C9458D}{41}{B0}"><one:Position x="72.0" y="108.0" z="1"/><one:Size width="146.7475433349609" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{7084D3AE-345C-0482-337B-ED3436C9458D}{42}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Foreground role control]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/rust-collapse-control-01/read/page-005.pdf created
Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/read/page-005.pdf differ
corpus/m6/rust-collapse-control-01/read/page-005.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{430911FD-2FE1-03BB-0151-B80066D42D89}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:06:46.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{C7B7174C-111F-04A7-1D5C-DA56EB330EC9}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{C7B7174C-111F-04A7-1D5C-DA56EB330EC9}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="231.1436157226562" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{C7B7174C-111F-04A7-1D5C-DA56EB330EC9}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group A/Duplicate.one, level 1]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/rust-collapse-control-01/read/page-006.pdf created
Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/read/page-006.pdf differ
corpus/m6/rust-collapse-control-01/read/page-006.xml created+46
...@@ -0,0 +1,46 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{46989F11-78CD-0EE7-3DCF-BCB77E542B8A}{1}{B0}" name="Image gif" dateTime="2026-09-06T02:25:44.000Z" lastModifiedTime="2026-09-06T06:06:44.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{3DCD9720-1EE7-0B14-2A69-288A8E63A2E9}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image gif]]></one:T></one:OE></one:Title><one:Image format="png" hyperlink="https://example.invalid/image/gif" alt="Pattern gif" originalPageNumber="0" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{3DCD9720-1EE7-0B14-2A69-288A8E63A2E9}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="144.0" height="48.00000381469727" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAMAAADS6oI8AAADAFBMVEW4t5mrt5O4qpWrqo6euo2S
3uoeZs4ieqoiSqoK4nJCrnIq4kIyrkIaen4SSn36ZmH+ekH+SkHmGuoGGs395t3pounJos3CGqnx5
4qnVtqm9iqmqGnHd5nHGGkHN5kG1on2lomGdokGS4hIirhIK4d4Srd32eh3ySh3aZgHeed3eSd3G4
5a4Cra3m4YHyrYHaea3OSa22eYG+SYGmGh3CGgG55hGloh2FogF+Gd2t5d2Rtd15id1mGa2d5a2CG
6YGN5YF1ta1pia1VoYFRWumlWs2dJt2I4ulo4s1hWqmRJql09qlcyqlImulEaukshs0wKukMKs0Em
7qkwaqkYPqkAEqjtWnF9JnFlWkFtJkFU4n1E4mE84kEwmn0gan0IhmEMmkEMakD0KnzoKmDgKkDVW
8h1hWgFZJhFE4h0k4gEdWd1NJd0w9d0Yyd0FWa09Ja0hWYEtJYEU9a0Iyaz04YDwmh0AahzohgDsK
9hzIKgDAmdzsadzUPdy8EdyomazcaazEmYDMaYC0PaysEayYKYCW4VHirVHK4R3SrR22eV2ySV2aZ
10UGeeR2eSR2G4O3CrO2m4MGyrMGaeO2OSO12eMF+SMFmGV2CGUF55VFloV1FoUE+GR1t5R1RtR05i
11R0mGO1d5O1CGMFN5ME1tO0piO0VoMES4JGirJGK4GGSrGF6eJ1ySJ1aZIFeeGFeSGFG4DmGrDlq4
12A12rA1eeDlSSDk6eA1CSA0qGJE95JEmGGEt5GEVoJ0FoID9oGDyGDkh5DkGGA0R5Az5tDjtiDjZo
13AzVWVEdJVEE4Vzk4UDdWR0NJRzw9RzYyRzFWOz9JOzhWMDtJMDU9OzIyOy04MCwmVzAaVyohUCsK
14VyIKUCAmRysaRyUPRx8ERxomOycaOyEmMCMaMB0POxsEOxYKMBVWJDdJJDFWGDNJGC04Jyk4ICc4
15GCRWDjBJDilWAyxJAyY9DiMyDh44Ax0mJyAaJxohIBsmGBsaGBUKJxIKIBAKGA0mDhgaDhImAxQa
16Aw4PDgwEDgcKAwZYdbPqAAAAAWJLR0QAiAUdSAAAAAxjbVBQSkNtcDA3MTIAAAADSABzvAAABjJJ
17REFUWEedkImbTgUcha9ChZl2RUKR0TKTtGiRsZUSEpI0tKm0GoW0WSOjMmNpL82oFG1apJJltNDC
18KKRNURRZytZqRr9zzl2+79779Ty+9w943+ccZ7fPLvGv+N1js9jk8r7HfDFPzCRvktfIDOGEA64/
19rYD8oUCFVyhPGuAHtqRYUJq0IHFAOFBh7C4Hu/4B//4NfgO/bwGbN4JNm34FC8D7pWD+XDBv3hww
208w3w5uvgtVfBjBmvAAf+CvrL6f+HfgXo30L/RurdAP2l9M+lfs4c+t+g/3X6X6U+JiB/egH54wJ/
21xQ74bUNkAR9a8F5kQeKAaOAvUr5T7CB20Aay5WexTkBPSt8Rb4uXyUvkBfK8cCqkNxL9O3ZIbyQH
221klvxATkDwVC/p3btcAPrE8RmJ0U0IAX4wJ/+mDBdoLAeg8E1q5da/f8BGZ7IDBr1iy75y0DeqIB
23U6dOtXueM5wgsM1QYKvhB0wOaE8MmBzAbkyfPl2BadOmmd2A3Qv8QRBAAXoGfiHRwLskEkDB9OGA
245H5gm/Rbt8oeDcgeDtgAg/qUAQ7YliJQVoZ7lhjJgZIS/FNcHAkUFeGfwsJC50efH8T34guPMgE5
25eNajRBSLSWQiKSImB5GA608rIH8osMZbsDppgB9YmmLBlKQFiQPCgTXGj6vBD6vA99+Bz8EXS0HZ
26YrBkyWfgGfDsFFDyNCgungwmTQATx4OicaCw8EHgwL+G/tX0r6JfAfqX0r+YejdA/xT6n6Z+8mT6
27J9A/nv5x1McE5E8vIH/KQGRAzAI+9Ex0QeKAUOBb8g34mnxFPiWfgI/FIvIUeRI8IR4nD5D7yX1i
28NHECfzRAvxuQXwH63YD8MQH5owEN0II9DWiAuyAxsHJl8NCKFb5/4cLIAg547LHIAj00dmx8YCXh
29QysEBywkuOhDY9GiDwD9ABc9YjwsqCcYMMoYPfpe4HwrvbHckH+ZIb0Bu0G9Ib0BexAoKCiQf8yY
30MdCPGkW9BaD+kiCAAvQMfESigUeJH3gIWAAF04cDkvuB5dIvWyZ7NCB7EKBegQLqUwY4YHmKQH4+
317ulnJAdycxP8iYGcHPyTnZ3tjPQZJoaK2zzyBeSgtUeuaCGakpNIDjE5iARcf1oB+UOBEd6C4UkD
32/ED/FAtaJi1IHBAOjDBGDgfDhoCh94BbwW39Qf4toF+/m0Er0LolyD0btGjRHDRtAk46EeScALKz
33jwcO/CPoH07/EPoVoL8//bdQ7wbob0n/2dQ3b05/E/pPpP8E6mMC8qcXkD9lIDIgZgEfahVdkDgg
34FLib3AXuJHeQm8iN4AZxPTmLnAnOEKeT48ix5BjRkDiBPxqg3w3IrwD9bkD+mID80YAGaMGeBjTA
35XZAYGDw4eGjQIN/ft29kAQc0axZZoIcaN44PDCZ8aJDggL4EF11rXCPoB7joVOMUQT3BgAZGw4ZH
36A+du6Y2BhvwDDOkN2IPANdIbsAeBrKws+Rs1agR9gwbUWwDq2wkCKEDPwHXED/Qhpj6N+IGTgQVQ
37MH04ILkfGCj9gAGyBwHp+/SRPQhQr0AW9SkDHDAwRaBHj/hA3boJ/sRAjRr4p3r16s7VPleIy8Vl
38Hj3EJS5HedQVR4oDyQGkBjE5iARcf1oB+VMF3AG9Qwt6plhQP2mBBuwfF7jKB4XeBI2eHgh0797d
39HroY1PdAoE6dOnbPEQb0RAOqVatm9+xnOEGgl6FAnuEHTA5oTwyYHMBuZGZmKpCRkWF2A3YvcCVB
40AAXoGbiURAP1SCSAgunDAcn9QC/p8/JkjwZkDwdsgEF9ONDN83flgkigffuki2p7/lq1Ei/6v0A3
4148quoFcXkHcRuABc2h6cL84jtUG9WuBwcRjJ3Bdk7AP2FnsRB/5u9Helvwv9CtDvBuRXgH43IP9h
429O9LvxuQPxqQP72A/DGBzp2DAZ06+f527SILOKBmzcgCDahaNT7QmfChToID2hFcdI7RVtAPcNEh
43xsGCeoIBlQx7h3ST3uhoyN/BkN6APQi0ld6APQhUqVJF/sqVK0NfqZL0jgP1hQQBFKBn4FziB9oQ
44Ux9K/MBBwAIomD4ckNwPdJS+QwfZg4D0bdrIHgSoV6AK9SkDHNAxzQD9sYH/AHAD8Cry1R2MAAAA
45AElFTkSuQmCC
46</one:Data></one:Image></one:Page>
corpus/m6/rust-collapse-control-01/read/page-007.pdf created
Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/read/page-007.pdf differ
corpus/m6/rust-collapse-control-01/read/page-007.xml created+6
...@@ -0,0 +1,6 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{50B6BBFF-A1C0-0E31-2263-9098DAA8E147}{1}{B0}" name="Image role background=true, printout=true" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T06:06:45.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{BF7907BA-9193-043C-037B-89EAC9098E80}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image role background=true, printout=true]]></one:T></one:OE></one:Title><one:Image format="png" backgroundImage="true" isPrintOut="true" alt="Role pattern" originalPageNumber="2" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{BF7907BA-9193-043C-037B-89EAC9098E80}{39}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="288.0" height="192.0" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec
3CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI
4E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp
5oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT
6+wHXVRp4qDc0HQAAAABJRU5ErkJggg==</one:Data></one:Image><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{BF7907BA-9193-043C-037B-89EAC9098E80}{41}{B0}"><one:Position x="72.0" y="108.0" z="1"/><one:Size width="146.7475433349609" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{BF7907BA-9193-043C-037B-89EAC9098E80}{42}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Foreground role control]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/rust-collapse-control-01/read/page-008.pdf created
Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/read/page-008.pdf differ
corpus/m6/rust-collapse-control-01/read/page-008.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{72E58750-0765-0CF1-3FA0-FF786780A22F}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T06:06:48.000Z" pageLevel="3" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{81667D82-EFF7-011F-3A9C-7480685ED1AA}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{81667D82-EFF7-011F-3A9C-7480685ED1AA}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="266.8237915039062" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{81667D82-EFF7-011F-3A9C-7480685ED1AA}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group B/Nested/Duplicate.one, level 3]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/rust-collapse-control-01/read/page-009.pdf created
Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/read/page-009.pdf differ
corpus/m6/rust-collapse-control-01/read/page-009.xml created+21
...@@ -0,0 +1,21 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{891D327E-04B3-0504-15A4-694AD24A755C}{1}{B0}" name="Image jpg" dateTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T06:06:44.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T02:25:42.000Z" objectID="{57209451-F36E-0DE1-2BD7-FB8E1A042EAD}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image jpg]]></one:T></one:OE></one:Title><one:Image format="jpg" hyperlink="https://example.invalid/image/jpg" alt="Pattern jpg" originalPageNumber="0" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{57209451-F36E-0DE1-2BD7-FB8E1A042EAD}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="144.0" height="48.00000381469727" isSetByUser="true"/><one:Data>/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a
3HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy
4MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABAAGADASIA
5AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
6AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3
7ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
8p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA
9AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
10BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
11U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
12uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDwhYfa
13plh9qsrD7VMsPtUqRFOqVVh9qmWH2qysPtUyw+1UpHbTqlZYfaplh9qsrD7VMsPtVqR206pVWGpl
14h9qsrDUyw+1UpHbTqlZYalWH2q0sNSrD7VSkdtOqVlh9qmWH2qysPtUyw+1UpHdTqnHrD7VMsPtV
15lYfaplh9q81SPyqnVKqw+1TLD7VZWH2qZYfaqUjtp1SssPtUyw+1WVh9qmWH2qlI7adUqrDUyw+1
16WVhqZYfarUjtp1SssNSrD7VaWGpVh9qpSO2nVKyw+1TLD7VZWH2qZYfaqUjup1Tj1h9qmWH2qysP
17tUyw+1eapH5VTqlVYfaplh9qsrD7VMsPtVKR206pWWH2qZYfarKw+1TLD7VSkdtOqVVhqZYfarKw
181MsPtVqR206pWWGpVh9qtLDUqw+1UpHbTqlZYfaplh9qsrD7VMsPtVKR206px6w+1TLD7VZWH2qZ
19YfavNUj8rp1SqsPtUyw+1WVh9qmWH2qlI7adUrLD7VMsPtVlYfaplh9qpSO2nVKqw1MsPtVlYamW
20H2q1I7adUrLDUqw+1WlhqVYfaqUjtp1SssPtUyw+1WVh9qmWH2qlI7adU//Z
21</one:Data></one:Image></one:Page>
corpus/m6/rust-collapse-control-01/read/page-010.pdf created
Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/read/page-010.pdf differ
corpus/m6/rust-collapse-control-01/read/page-010.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{8C1EAC79-68AB-0A5D-2828-A3A64B067A44}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:06:47.000Z" pageLevel="3" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{2A1D5E1A-2BC7-04F7-170E-ECA792BDFAE7}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{2A1D5E1A-2BC7-04F7-170E-ECA792BDFAE7}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="231.1436157226562" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{2A1D5E1A-2BC7-04F7-170E-ECA792BDFAE7}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group A/Duplicate.one, level 3]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/rust-collapse-control-01/read/page-011.pdf created
Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/read/page-011.pdf differ
corpus/m6/rust-collapse-control-01/read/page-011.xml created+300
...@@ -0,0 +1,300 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{8F5694D0-BF6A-01E7-04F4-6DA12605435E}{1}{B0}" name="Image tiff" dateTime="2026-09-06T02:25:43.000Z" lastModifiedTime="2026-09-06T06:06:44.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:44.000Z" lastModifiedTime="2026-09-06T02:25:44.000Z" objectID="{CCD662AF-902E-0DF8-3EAA-6192FFDAE59B}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image tiff]]></one:T></one:OE></one:Title><one:Image format="png" hyperlink="https://example.invalid/image/tiff" alt="Pattern tiff" originalPageNumber="0" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{CCD662AF-902E-0DF8-3EAA-6192FFDAE59B}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="144.0" height="48.00000381469727" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAAXNSR0IArs4c6QAAAARnQU1BAACx
3jwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAEImSURBVHheDbiBV2GL+v+/f9V1q+uk46TjpDFp
4TBqDMUhoh3Zoh3Zoh3Zoh3YYgzE0Jo1J46TjpOOk61Yf32pZ1bKqZVXLqpZV/W2/8y8863nez/v1
5AgAAaAL+vxagiQQ0twIt7cC/yACpA/h3J9BKBdq6gPZu4D90gNwD/NQLdDABSh/Q2Q/8zAaoA8Av
6g0AXF6DxgG4B8KsQoIuA3yRAjxRgyIBeBfACBJhK4KUa6IMAlgbo1wGvYICtB14bgQEE4JiAQQvw
7BgW4VuCtHeBhAN8BCFzAOxwQuoH3XkBEAGIfIAkAQ0FAGgKGI4AsCshjgGIFGEkA4CowugYoU4Bq
8HVBvAGMZANoExrcATQ7QbgO6HWCiAMC7wOQeoC8Bhn3AeAhMlQHkCJg+AUwVwHwKWM6BmSqAXgCz
9V4C1BtiuAfstMFcHsDtg/gFwNADnI+B6BhYAoPn/a2puamluJjW3tDb/q72ZRG7+d0dza2dzG7W5
10vav5P93NZHrzTz3NHb3NFGZzZ1/zz/3NVHbzLwPNXYPNNG5zN6/5V0EzXdj8m6i5R9LMkDb3yppf
11KJqZYPNLZXOfupkFNfdrml/pmtlw82t984CxmYM0D5qa31iauWjzW2szz97Mx5oFjuZ3rmYh3vze
123SzyNouJZomveSjQLA02D4eaZZFmebRZEWseWWkGE82jq83KtWZVqlm93jy20Qxlmsc3mzVbzdpc
13s267eWKnGS40T+426/eaDaVm437z1GEzUm6ePmo2nTSbK82W0+aZ82a02jx70Wy9arbVmu3XzXO3
14zVi9ef6u2fHQ7Gw0ux6bF56bcQAgNTX9MxtSC4n0r1YSqZ30bzKptYPU1klqp5L+00Uid5N+opM6
15ekiUXlInk/RzH4naT/qFTeoaINEGSd1c0q88El1A+k1I6hGRGBJSr5T0QkZiKkgvQVKfksRSk/oh
160isNia0jvYZJA3oSx0gaREhvTCSuhfQWJfGsJL6dJMBI7xwkoYv0HieJ3CSxlyQhSEM+kjRAGg6S
17ZCGSPEJSREkjMRK4QhpNkJSrJNUaSZ0ija2ToA3SeIak2SRpt0i6HGlimwTvkCYLJP0uybBHMpZI
18U/sk5JA0XSaZjkjmE5KlQpo5JaHnpNkqyXpBsl2R7DXS3DUJuyXN10mOO5LzgeRqkBYeSfgzaREA
192pqb2lpa2v5FaiO1tv27va2V3NbW0dbe2fYfahu5q+2n7rYOehulp62zt+1nZhu1r+2X/rYudhtt
20oK17sO1Xbhud1/aboK1H2MYQtfVK2l5I25iytpeKtj6wjaVs61e3vYLa2Jq217q2AbiNo28bNLa9
21Qdq4pra3ljYe2sa3tgnsbe+wNqGj7b2rTYS3id1tEm/bENEm9bUNB9pkwTZ5qE0RaRuJtoGxttGV
22NmWiTbXapl5rG0u1Qett4xttmkybdrNNt9U2kWuDt9smd9r0hTbDbptxr22q1Ibst00ftpnKbeaj
23NstJ20ylDT1tmz1vs1bbbBdt9qu2uVobdt02f9vmqLc579pcD20LjTb8sW3xuc0NAOSWJvK/Wsgk
24EvnfreTWdnIbmdzeQf5PJ5lMJf/URe7oJlPo5M4e8s+9ZCqT/EsfuaufTGOTuwfIvw6S6Vzybzxy
25j4DMEJJ7ReQXEjJTSn4pI/cpyCyQ3K8kv1KT2RD5tYY8oCNzYPKgnvzGSOYi5LcmMs9C5qNkgZX8
26zk4WYuT3DrLIRRbjZImbPOQlSwnysI8sC5DlQbIiRB6JkMEoeTRGVq6QVQmyepU8tkaGUuTxdbJm
27g6zNkHWb5IktMpwjT26T9TtkQ4Fs3CVP7ZGREnl6n2w6JJvLZMsReeaEjFbIs6dk6znZViXbL8hz
28V2SsRp6/Jjtuyc462XVHXngg4w3y4iPZ/Uz2AADlX00UUgvl3yRKayulrZ3STqb8p4NC7qT8RKV0
29dFEo3ZROOuXnHgq1l/ILk9LVR6H1U7rZlF8HKPRBym9cSg+PwhBQeoWUFyIKU0J5KaX0ySgsBaUf
30pLxSUthqymuIMqChcHSUQZjyRk/hGilvEQrPROFbKAKU8s5KEdop7zGKyEERuygSnDLkpki9lGGC
31IvNR5AGKIkgZCVHACGU0SlHGKKoVijpBGVulQGuU8RRFs07RblB0GcrEJgXeokzmKPptimGHYixQ
32pnYpyB5lukQx7VPMhxRLmTJzREFPKLMVivWUYjun2KuUuQsKdkWZr1Ec1xTnLcVVpyzcUfAHymKD
334n6keJ4pXgCgkpqo/26htpKoba3U9nbqf/7ZnA7qT53UDiqV0kXt7Kb+TKdSe6i/9FK7mFRaH7W7
34n/orm0ofoP42SO3hUhk8aq+A+kJIZYqoLyXUPimVJaP2K6ivQCpbSX2tpg5AVI6GOqijvoGpXD31
35rZHKQ6h8E1Vgob5DqUIr9b2dKsKoYgdV4qIO4VSpmzrspcoIqtxHVQSoI0EqGKKORqjKKFUVo6pX
36qGMJKrRKHV+jalJU7TpVt0GdyFDhTerkFlWfoxq2qcYd6lSBiuxSp/eophLVvE+1HFJnylT0iDp7
37QrVWqLZTqv2cOlelYhfU+Suqo0Z1XlNdt9SFOhW/oy4+UN0NqueR6n2mLgEA7d9NtNYWWhuJ1t5K
38+087jUym/dRB6+ikUai0zi7az900Kp32Sw+tq5dGY9K6+2i/9tPobNpvA7SeQRqDS+vl0V4IaEwh
397aWI1iehsaS0fhntlYLGBmmvlbQBNY0D0QY1tDc6GhemvdXTeEYaH6EJTLR3FpoQpb230kR2mhij
40SRy0IRdNitOG3TSZlyYnaAofbSRAA4O00RBNGaGpojR1jDa2QoMStPFVmmaNpk3RdOu0iQ0anKFN
41btL0WzRDjmbcpk3t0JACbXqXZtqjmUs0yz5t5pCGlmmzRzTrCc1WodlPaXPnNKxKm7+gOa5ozhrN
42dU1buKXhddriHc39QPM0aN5H2tIzjQAAemsTva2F3k6i/6eVTm6n/0Smd3TQ/7mrTir95y46tZv+
43C53e1UOn9dK7mfRf++j0fvpvbHrPAJ0xSO/l0l/w6EwB/aWQ3ieisyT0fin9lYzOVtBfg/QBJZ2j
44pg9C9DcaOldHfwvTeXo630gXIPR3JrrQQn+P0kVWuthOl2D0IQdd6qIP43SZmy730hUEfcRHBwP0
450SBdGaKrInR1lD4Wo0Mr9PEEXbNK167RdSn6xDod3qBPZuj6Tbphi27M0ae26cgOfbpAN+3SzXt0
46S4k+s09HD+mzZbr1iG47odsr9LlTOnZOn6/SHRd05xXdVaMvXNPxW/pine6+o3se6N4GfemRTjzT
47lwGA0dbEaG9h/IfEILcyfmpndJAZlA5GZyfjZyqD2sX4pZvRRWfQehjdvYxfmQx6H+O3fkYPm8EY
48YPQOMl5wGUwe46WA0SdksESMfgnjlZTBljFeKxgDIIOjZAyqGW8gBlfDeKtj8GAGX88QGBnvEIbQ
49xHhvYYhQhtjKkNgZQxhD6mAMuxgynCF3MxRexgjBAH2M0QBDGWSoQgx1hDEWZUAxxvgKQ5NgaFcZ
50ujXGRIoBrzMmNxj6DMOwyTBuMaZyDGSbMb3DMBUY5l2GZY8xU2Kg+4zZQ4a1zLAdMewnjLkKAztl
51zJ8zHFWG84LhumIs1Bj4NWPxluGuMzx3DO8DY6nBIB4Zy88MHwAw25uY/2lhkknMn1qZHe1MCpnZ
522cH8uZNJpTJ/6WJ2dTNpdGZ3D/PXXiadyfytj9nTz2Swmb0DzBeDTCaX+ZLH7BMwWUJmv4j5SsJk
53S5mvZcwBBZMDMgeVzDdqJhdivtUweTomH2YK9Mx3RqYQYb43MUUWphhlSqzMITtTijGHHUyZiynH
54mQo3c8TLBAnmqI+pDDBVQaY6xByLMKEoczzG1KwwtQmmbpU5scaEU8zJdaZ+g2nIMI2bzKktJpJj
55Tm8zTTtMc4Fp2WXO7DHREnN2n2k9ZNrKTPsRc+6EiVWY86dMxznTWWW6LpgLV0y8xly8ZrpvmZ46
5603vHXHpgEg3m8iPT98z0AwDrP00scgvrJxKro5VFaWd1klk/d7ConaxfqKyuLhatm9VNZ/3aw6L3
57sn5jsnr6WIx+Vi+b9WKAxRxkveSy+ngsloDVL2S9ErHYEtZrKWtAxuIoWIMg642SxVWz3kIsnobF
5817EEMOudniU0st4jLJGJJbawJChryMqS2lnDGEvmYMldLAXOGnGzQC9rlGApfSxVgKUOssZCLCjC
59Go+yNDGWdoWlS7AmVlnwGmsyxdKvswwbLGOGNbXJQrZY0zmWaZtl3mFZCqyZXRa6x5otsaz7LNsh
60y15mzR2xsBPWfIXlOGU5z1muKmvhgoVfsRZrLPc1y3PL8tZZS3cs4oG13GD5Hln+Z1YAANjkJvZP
61LewOEpvSyu5sZ/9MZlM72L90sruobFoXu7ub/Sv9n8hh/9bL7mGyGX3s3n72CzabOcB+Ocju47JZ
62PHa/gP1KyGaL2K8l7AEpmyNjDyrYb0A2V8l+q2bzIDZfwxbo2O9gtlDPfm9kixC22MSWWNhDKFtq
63ZQ/b2TKMLXewFS72CM4G3exRL1tJsFU+tjrAHguyoRB7PMLWRNnaGFu3wp5IsOFV9uQaW59iG9bZ
64xg32VIaNbLKnt9imHNu8zbbssGcKbHSXPbvHtpbYtn22/ZA9V2ZjR+z5E7ajwnaesl3n7IUqG79g
65L16x3TW255rtvWUv1dnEHXv5ge1rsP2P7MAz+wMAcH5q4nS0cCgkTmcr5+d2DpXM+aWD09XJoVE5
663V2cX7s5dDrntx5OTy+HweT09nFe9HOYbM7LAU7fIIfF5fTzOK8EHLaQ81rEGZBwOFLOoIzzRsHh
67gpy3Sg5PzeFDHIGG807HEcKc93qOyMgRIxyJiTNk4UhRzrCVI7Nz5BhH4eCMuDggzhl1c5Rejorg
68qH2csQAHCnLGQxxNhKONcnQxzsQKB05wJlc5+jWOIcUxrnOmNjhIhjO9yTFtccw5jmWbM7PDQQuc
692V2OdY9jK3Hs+5y5Qw5W5swfcRwnHGeF4zrlLJxz8Cpn8YLjvuJ4ahzvNWfplkPUOct3HN8Dx9/g
70BB45H545QQDgdjRxKS3cThL351YutZ37C5nb1cGldXK7qdxfu7j0bu5vdG5PD5fRy+1lcl/0cZn9
713Jdsbt8AlzXI7edyX/G4bAH3tZA7IOJyJNxBKfeNjMtVcN+CXJ6Sy1dzBRD3nYYr1HHfw1yRnis2
72ciUId8jElVq4wyhXZuXK7VwFxh1xcEEXdxTnKt1clZerJrhjPi4U4I4HuZoQVxvh6qLciRgXXuFO
73Jrj6Va5hjWtMcafWucgGdzrDNW1yzVtcS447s81Fd7izBa51l2vb49pL3Ll9LnbInS9zHUdc5wnX
74VeEunHLxc+5ileu+4HquuN4ad+maS9xyl+tc3x3X/8ANNLgfHrnBZ+5HAOBTmvidLfyfSXxqK/+X
75dn4XmU/r4Hd38n+l8uld/N+6+T10PqOH39vLf8HkM/v4L/v5fWw+a4DfP8h/xeWzefzXAv6AkM8R
768Qcl/DdSPlfGf6vg80A+X8kXqPnvIL5Qw3+v44tgvljPlxj5QwhfauIPW/gylC+38hV2/gjGBx38
77URdfifNVbr7ayx8j+JCPPx7ga4J8bYivi/Anonw4xp9c4esTfMMq37jGn0rxkXX+9AbflOGbN/mW
78Lf5Mjo9u82d3+NYC37bLt+/x50p8bJ8/f8h3lPnOI77rhL9Q4eOn/MVzvrvK91zwvVf8pRqfuOYv
793/J9db7/jh944H9o8IOP/I/P/BAACDubhD+3CKkk4S+twq52IY0s7O4Q/toppFOFv3UJe7qFDLqw
80t0f4olfIZApf9gn7/glktrB/QPhqUMjmCl/zhAMCIUcoHBQJ30iEXKnwrUzIUwj5oFCgFL5TC4WQ
818L1GKNIJxbBQohcOGYVSRDhsEsosQjkqVFiFI3YhiAlHHUKlS6jChWq3cMwrhAjhuE+oCQi1QaEu
82JJyICOGocDIm1K8IDQmhcVU4tSZEUsLpdaFpQ2jOCC2bwpktIZoTzm4LrTtCW0Fo3xXO7QmxknB+
83X+g4FDrLQteRcOFEiFeEi6dC97nQUxV6L4RLV0KiJly+Fvpuhf66MHAn/PAgDDaEHx+FoWdhGADE
84PzeJqS3iX0jirlYxrV3cTRb/2iGmd4p/o4p7usSMbnEvXfyiR8zsFb9kivv6xKx+cT9b/GpAzB4U
85v+aKB3hijkA8KBS/EYm5EvFbqZgnE/MVYgEofqcUC9Xi95BYpBGLdWIJLB7Si6VG8TAilpnEcotY
86gYpHrGLQLh7FxEqHWOUSq3HxmFsMecXjhFjjE2sDYl1QPBESwxHxZFSsj4kNK2JjQjy1KkbWxNMp
87sWldbN4QWzLimU0xuiWezYmt22LbjtheEM/tirE98XxJ7NgXOw/FrrJ44UiMn4gXK2L3qdhzLvZW
88xUsXYuJKvFwT+67F/ltxoC7+cCcOPog/NsShR3H4WRwBACm1SfpLi7SLJKW1Srvbpb+SpfQO6W+d
890h6qlNEl7e2WvqBLmT3Sl73SPqaU1Sft75e+Ykv/eVevB6UDXCmHJx0USN8IpVyR9K1EypNK+TKp
90QCF9B0qFSul7tVQEScUaqUQnHYKlUr102CiVIVK5SaqwSEdQKWiVjtqlSkyqckjVLukYLoXc0nGv
91VENItT6pLiCdCErhkHQyItVHpYaY1LginUpIkVXp9JrUlJKa16WWDelMRopuSme3pNac1LYtte9I
925wpSbFc6vyd1lKTOfanrULpQluJH0sUTqbsi9ZxKvefSpaqUuJAuX0l9Nan/Whq4lX6oS4N30o8P
930lBDGn6URp6lnwBA/kuTvKtFTiPJu1vlv7bL6WT5bx3ynk45gyrv7ZK/6JYz6fKXPfK+XjmLKe/v
94k7/ql7PZ8tcD8oFBOYcrH+TJ3wjkXKH8rUjOk8j5UrlAJn+nkAtB+XulXKSWiyG5RCMf0smlsHxY
95L5cZ5XJErjDJRyxyEJWPWuVKu1yFydUO+ZhLDuHycbdc45VrCbnOJ58IyOGgfDIk10fkhqjcGJNP
96rciRhHx6VW5ak5tTcsu6fGZDjmbks5ty65bclpPbt+VzO3KsIJ/flTv25M6S3LUvXziU42X54pHc
97fSL3VOTeU/nSuZyoypcv5L4rub8mD1zLP9zKg3X5xzt56EEebsgjj/JPz/IoAIBdTSCtBewmgb+2
98gvR28Dcy2NMBMjrBXir4ogtkdoMv6WBfD8jqBfuZ4Ks+kN0PvmaDAwMgZxAc5IJveCBXAL4VgjwR
99yJeAAin4TgYKFeB7EBQpQbEalEDgkAaU6sBhGJTpQbkRVCDgiAkELeAoCiqtoMoOqjFwzAFCLnAc
100BzVuUOsFdQQ44QPhADgZBPUh0BABjVFwKgYiK+B0AjStguY10JICZ9ZBdAOczYDWTdC2Bdpz4Nw2
101iO2A8wXQsQs690BXCVzYB/FDcLEMuo9AzwnorYBLpyBxDi5XQd8F6L8CAzXwwzUYvAU/1sHQHRh+
102ACMN8NMjGH0GPwOAitak6m5R/UpS0VtVv7WresgqRoeqt1P1gqpidqledqv66CpWj6q/V/WKqWL3
103qV73qwbYKs6AanBQ9Yar4vJUbwUqnlDFF6kEEtU7qUooU71XqESgSqxUSdSqIUgl1aiGdSoZrJLr
104VQqjagRRgSbVqEWlRFUqq0ptV41hKsihGnepNLhK61bpvKoJQgX7VJMBlT6oMoRUxohqKqpCYqrp
105FZUpoTKvqixrqpmUCl1XzW6orBmVbVNl31LN5VTYtmp+R+UoqJy7KteeaqGkwvdVi4cqd1nlOVJ5
106T1RLFRVxqlo+V/mqKv+FKnCl+lBTBa9VH29VoboqfKeKPKg+NVTRR9XnZ1UMAKDuJujXFohOgn5r
107hXraIQYZ6u2AXnRCTCr0sgvq64ZYdKi/B3rVC7GZ0Os+aKAf4rChwQHozSDE5UJveRBP8M8nhwQi
1086J0EEkqh9zJIpIDEICRRQkNqSApBwxpIpoPkMKTQQyNGCESgUROktEAqFFJboTE7BGHQuAPSuCAt
109Dunc0IQXgglo0gfpA5AhCBlD0FQEQqLQdAwyrUDmBGRZhWbWIDQFza5D1g3IloHsm9DcFoTloPlt
110yLEDOQuQaxda2IPwErS4D7kPIU8Z8h5BSycQUYGWTyHfOeSvQoEL6MMVFKxBH6+h0C0UrkORO+jT
111AxRtQJ8fodgzFAcA7a9NWnqL9jeStqdVy2jX9pK1Lzq0zE7tS6q2r0vL6tb207WverTsXu1rpnag
112T8vp1w6ytW8GtNxB7VuulsfT8gVagVD7TqQVSrTvpVqRTCtWaCWgdkiplaq1w5BWptHKdVoFrB3R
113a0GjdhTRKk1alUWrRrVjVi1k145jWo1Dq3Vpdbh2wq2FvdpJQqv3aQ0BrTGonQppkYh2Oqo1xbTm
114Fa0loZ1Z1aJr2tmU1rqutW1o7Rnt3KYW29LO57SOba1zR+sqaBd2tfiedrGkde9rPYdab1m7dKQl
115TrTLFa3vVOs/1waq2g8X2uCV9mNNG7rWhm+1kbr20502+qD93NDGHrXxZ+0KAMD0Jvi3FriHBDNa
1164d52+AUZZnbALzvhPirM6oL7u+FXdJjdA7/uhQeYMKcPHuyH37Bh7gD8dhDmcWE+DxYI4HdCWCiC
11730tgkRQWy2CJAh4CYakSHlbDMgiWa2CFDh6BYVAPjxphJQKrTLDaAo+hMGSFx+2wBoO1Dljngidw
118GHbDk15YT8AGH2wMwFNBGAnB0xHYFIXNMdiyAs8kYHQVnl2DrSnYtg7bN+C5DIxtwvNbsCMHO7dh
1191w68UIDxXXhxD3aXYM8+7D2El8owcQQvn8C+Cuw/hQPn8IcqHLyAP17BoRocvoYjt/CnOhy9gz8/
120wLEGHH+EV57hLwBg+K3J0NNiYJAMva2GF+0GJtnwssPQ12lgUQ39XYZX3QY23fC6xzDQa+AwDYN9
121hjf9Bi7b8HbAwBs08LkGAc/wTmAQCg3vRQaRxCCWGiQyw5DCIAUNw0qDTG2QQwaFxjCiM4CwYVRv
122UBoNKsSgNhnGLAYINYxbDRq7QYsZdA7DhMsA44ZJt0HvNRgIg9FnmAoYkKBhOmQwRQzmqMESM8ys
123GNCEYXbVYF0z2FIG+7phbsOAZQzzmwbHlsGZM7i2DQs7BrxgWNw1uPcMnpLBu29YOjQQZcPykcF3
124YvBXDIFTw4dzQ7Bq+HhhCF0ZwjVD5Nrw6dYQrRs+3xliD4Z4w7DyaPjybEgAANLThDBakF4S8qIV
125YbYjL8lIXwfC6kT6qcirLoTdjbymIwM9CKcXGWQib/oQbj/ylo3wBhD+ICLgIu94iFCAvBciIhEi
126liASKTL0T89RIMMgIlMicjWigJARDQLqkFEYUeoRlRFRI8iYCYEsyDiKaKyI1o7oMGTCgcAuZBJH
1279G7E4EWMBDLlQ5AAMh1ETCHEHEEsUWQmhqAryGwCsa4itjXEnkLm1hFsA5nPII5NxLmFuHLIwjaC
1287yCLBcS9i3j2EG8JWdpHiENkuYz4jhD/CRKoIB9OkeA58rGKhC6Q8BUSqSGfrpHoLfK5jsTukPgD
129stJAvjwiiWfkKwCYGU3m3hbzC5KZ2Wp+2W7uI5tZHeb+TvMrqpndZX7dbR6gmzk95sFe8xummdtn
130fttv5rHN/AGzYND8jmsW8szvBWaR0CwWmSUS85DULJWZhxVmGWiWK80KtXkEMoMa86jOrITNKr1Z
131bTSPIWbIZB63mDWoWWs16+zmCcwMO8yTLrMeNxvcZqPXPEWYEZ95OmA2Bc3mkNkSMc9EzWjMPLti
132tibMtlWzfc08lzJj6+b5DbMjY3Zuml1b5oWcGd82L+6Y3QWzZ9fs3TMvlczEvnn50Owrm/1H5sCJ
133+UPFHDw1fzw3h6rm8IU5cmX+VDNHr82fb82xujl+Z155MH9pmBOP5q/P5lUAQHub0BctKJOEvmxF
134+9pRFhnt70BfdaJsKvq6Cx3oRjl0dLAHfdOLcpno2z6U14/y2ahgAH03iAq56HseKhKgYiEqEaFD
135ElQqRYdlqEyB/tMCFUp0RI2CEDqqQZU6VAWjaj06ZkQhBB03oRoLqkVRnRWdsKMwhk46UL0LNeCo
1360Y1OeVGEQKd9qCmAmoOoJYTORFA0is7GUOsKakug9lV0bg3FUuj8OurYQJ0Z1LWJLmyheA5d3Ebd
137O6ingHp30aU9lCihy/uo7xD1l9HAEfrhBA1W0I+naOgcDVfRyAX66QqN1tDP12jsFo3X0ZU79MsD
138mmigXx/R1Wc0CQC2F002ZovtJcnW12pjtdv6ybZXHTZ2p+011TbQZeN02wbptjc9Nm6v7S3Txuuz
1398fttArbt3YBNOGh7z7WJeDaxwCYR2oZENqnENiy1yWQ2ucKmAG0jShuoto1CNqXGptLZ1LBtTG+D
140jLZxxKYx2bQWmw61TVhtsN02idn0DpvBZTPitim3DfHapgmbyWczB2yWoG0mZEMjttmozRqz2VZs
1419oRtbtWGrdnmUzbHus25YXNlbAubNnzLtpizubdtnh2bt2Bb2rURe7blks23b/Mf2gJl24cjW/DE
1429rFiC53awue2SNX26cIWvbJ9rtli17b4rW2lbvtyZ0s82L42bKuPtuSzbQ0AMGYT9rIF6yNhrFas
143vx17RcbYHdjrTmyAinG6sMFu7A0d4/Zgb3sxHhPj92GCfuwdGxMOYO8HMREXE/MwiQAbEmJSETYs
144wWRSTC7DFApsBMRAJTaqxpQQptJgah02BmOQHhs3YhoE05ownQWbQDHYik3aMT2GGRyY0YVN4Rji
145xqa9mInAzD7MEsBmghgawmYjmDWK2WKYfQWbS2DYKja/hjlSmHMdc21gCxkM38QWtzB3DvNsY94d
146bKmAEbvY8h7mK2H+fSxwiH0oY8Ej7OMJFqpg4VMsco59qmLRC+zzFRarYfFrbOUW+1LHEnfY1wds
147tYElH7G1Z+wbADhfNjn7WpwskrO/1fmq3ckmO193OAc6nRyqc7DL+abbyaU73/Y4eb1OPtMp6HO+
14863cK2c73A07RoFPMdUp4ziGBUyp0DoucMolTLnUqZM4RhRMEnaNKp1LtVEFOtcY5pnNCsHNc79QY
149nVrEqTM5JyxOGHVOWp16u9OAOY0O55TLieDOabfT5HWaCafF55wJONGgczbktEactqjTHnPOrTix
150hHN+1elYczpTTte6c2HDiWeci5tO95bTk3N6t51LO06i4Fzedfr2nP6SM7Dv/HDoDJadH4+coRNn
151uOKMnDo/nTujVefnC2fsyhmvOVeunV9unYm68+udc/XBmWw41x6d356dKQDA+5pwVgveT8JfteLs
152dvw1GR/owDmd+CAVf9OFc7vxt3Sc14Pze3EBE3/Xhwv78fdsXDSAiwdxCRcf4uFSAT4sxGUiXC7B
153FVJ8RIaDCnwUxJVKXKXG1RA+pvmnIOPjMK7R41ojrkPwCRMOW/BJFNdbcYMdN2L4lANHXPg0jpvc
154uNmLWwh8xoejAXw2iFtDuC2C26P4XAzHVvD5BO5YxZ1ruCuFL6zj+Aa+mMHdm7hnC/fm8KVtnNjB
155lwu4bxf37+GBEv5hHw8e4h/LeOgID5/gkQr+6RSPnuOfq3jsAo9f4Ss1/Ms1nrjFv9bx1Ts8+YCv
156NfBvj3jqGf8OAB5Wk6e/xfOK5GG3el63ewbIHk6HZ7DT84bq4XZ53nZ7eHQPv8cj6PW8Y3qEfZ73
157/R4R2yMe8EgGPUNcj5TnGRZ4ZEKPXORRSDwjUg8o84wqPErQo1J61GrPGOSBNJ5xnUcDe7R6j87o
158mUA8sMkzafHoUY/B6jHaPVOYB3F4pl0eE+4xuz0Wr2eG8KA+z2zAYw16bCGPPeKZi3qwmGd+xeNI
159eJyrHteaZyHlwdc9ixsed8bj2fR4tzxLOQ+x7Vne8fgKHv+uJ7Dn+VDyBPc9Hw89obInfOSJnHg+
160VTzRU8/nc0+s6olfeFauPF9qnsS15+utZ7XuSd551h483xqe1KPn+7NnHQCI/ibiVQvBJhGvW4mB
161doJDJgY7iDedBJdKvO0ieN0En04Ieoh3vYSQSbzvI0T9hJhNSAaIoUFCyiWGeYRMQMiFhEJEjEgI
162UEqMygilglCBhFpJjKkJCCLGNYRGR2hhQqcnJowEjBCTJkJvIQwoYbQSU3YCwYhpB2FyEWacsLiJ
163GS+BEsSsj7AGCFuQsIeIuQiBRYn5GOFYIZwJwrVKLKwReIpYXCfcG4QnQ3g3iaUtgsgRy9uEb4fw
164F4jALvFhjwiWiI/7ROiQCJeJyBHx6YSIVojPp0TsnIhXiZUL4ssVkagRX6+J1VsiWSfW7ohvD0Sq
165QXx/JNafiTQA+F81+dkt/tck/0Crn9PuHyT733T4uZ3+t1Q/r8vP7/YL6P53PX5hr/890y/q84v7
166/RK2f2jALx30D3P9Mp5fLvArhP4RkR+U+EelfqXMr1L41aB/TOmH1P5xyK/R+LU6vw72T+j9sNE/
167ifj1Jr/B4jei/imrH7H7pzG/yeE3u/wW3D/j9qNe/yzht/r8toDfHvTPhfxYxD8f9TtifueK35Xw
168L6z68TX/YsrvXvd7NvzejH9p009s+Zdzft+237/jDxT8H3b9wT3/x5I/tO8PH/ojZf+nI3/0xP+5
1694o+d+uPn/pWq/8uFP3Hl/1rzr177k7f+tbr/250/9eD/3vCvP/rTz/4NAAiym4KvW4IDpCCnNTjY
170HnxDDnI7gm87gzxqkN8VFHQH39GDwp7g+96giBkU9wUl/cEhdlA6EBweDMq4QTkvqBAER4RBUBQc
171lQSV0qBKFlQrgmNgEFIGx9VBDRTUaoI6XXACDsL64KQxqP8HH0xBoyU4hQYRa3DaHjRhQbMjaHEF
172Z/Ag6g7OeoNWImjzBe2B4FwwiIWC85GgIxp0xoKuleBCIoivBhfXgu5U0LMe9G4ElzJBYjO4vBX0
1735YL+7WBgJ/ihEAzuBj/uBUOlYHg/GDkMfioHo0fBzyfBWCUYPw2unAe/VIOJi+DXq+BqLZi8Dq7d
174Br/Vg6m74PeH4HojmH4MbjwHfwBA+HVTeKAlzCGFB1vDb9rDXHL4bUeY1xnmU8OCrvC77rCQHn7f
175Exb1hsXMsKQvPNQflrLDwwNh2WBYzg0reOERQRgUhkdFYaUkrJKG1bLwmCIMgeFxZVijDmuhsE4T
176ntCFYTg8qQ/rjWEDEjaawlOWMIKGp61hkz1sxsIWR3jGFUbx8Kw7bPWGbUTY7gvPBcJYMDwfCjsi
177YWc07IqFF1bCeCK8uBp2r4U9qbB3Pby0ESYy4eXNsG8r7M+FA9vhDzvhYCH8cTcc2guHS+HIfvjT
178YThaDn8+CsdOwvFKeOU0/OU8nKiGv16EV6/CyVp47Tr87Tacqoe/34XXH8LpRnjjMfzjOZwBgOhA
179U5TTEh0kRd+0Rrnt0bfkKK8jyu+MCqjRd11RYXf0PT0q6omKe6MSZnSoLyrtjw6zo7KBqHwwquBG
180R3hRUBAdFUaVoqhKElVLo2OyKKSIjoNRjTKqVUd1UHRCE4V10Uk4qtdHDcaoEYlOmaL/wNU0GjVZ
181o2Z71IJFZxxR1BWdxaNWd9TmjdqJ6JwvigWi88GoIxR1RqKuaHQhFsVXoouJqHs16lmLelPRpfUo
182sRFdzkR9m1H/VjSQi37YjgZ3oh8L0dBuNLwXjZSin/aj0cPo53I0dhSNn0RXKtEvp9HEefRrNbp6
183EU1eRddq0W/X0dRt9Hs9un4XTT9ENxrRH4/RzHP0dwCIc5rigy3xN6Q4tzX+tj3OI8f5HXFBZ/wd
184NS7sir/vjovocXFPXNIbH2LGpX3x4f64jB2XD8QVg/ERbhzkxUcFcaUwrhLF1ZL4mDQOyeLjirgG
185jGuVcZ06PgHFYU18UhfXw3GDPm40xqeQOGKKT1viJjRutsYt9vgMFkcd8VlX3IrHbe643RufI+KY
186Lz4fiDuCcWco7orEF6JxPBZfXIm7E3HPaty7Fl9KxYn1+PJG3JeJ+zfjga34h1w8uB3/uBMPFeLh
1873XhkL/6pFI/uxz8fxmPlePwovnIS/1KJJ07jX8/jq9V48iK+dhX/VounruPfb+Pr9Xj6Lr7xEP/R
188iGce478/xzcBIDHYlHjTkuCSEm9bE7z2BJ+cEHQk3nUmhNTE+66EqDshpickPYmh3oSUmRjuS8j6
189E3J2QjGQGBlMgNzEKC+hFCRUwoRalBiTJCBpYlyW0CgSWjChUyYm1AkYSkxqEnpdwgAnjPrElDGB
190IIlpU8JkSZjRhMWamLEnUCwx60hYXQkbnrC7E3PeBEYk5n0JRyDhDCZcocRCJIFHE4uxhHsl4Ukk
191vKuJpbUEkUosryd8Gwl/JhHYTHzYSgRziY/bidBOIlxIRHYTn/YS0VLi834idpiIlxMrR4kvJ4lE
192JfH1NLF6nkhWE2sXiW9XiVQt8f06sX6bSNcTG3eJHw+JTCPx+2Ni8zmRBYDkm6YktyX5lpTktSb5
1937UkBOfmuIynsTL6nJkVdSXF3UkJPDvUkpb3JYWZS1peU9ycV7OTIQBIcTI5yk0peUiVIqoXJMVES
194kiTHpUmNLKlVJHVgckKZhNXJSSip1yQNuqQRTk7pk4gxOY0kTaak2ZK0oMkZaxK1J2expNWRtLmS
195djw5505i3uQ8kXT4ks5A0hVMLoSSeCS5GE26Y0nPStKbSC6tJom15HIq6VtP+jeSgUzyw2YyuJX8
196mEuGtpPhnWSkkPy0m4zuJT+XkrH9ZPwwuVJOfjlKJk6SXyvJ1dNk8jy5Vk1+u0imrpLfa8n162T6
197NrlRT/64S2Yekr83kpuPyexzcgsAUtym1NuWFI+U4remBO2pd+SUsCP1vjMloqbEXSlJd2qInpL2
198pIZ7UzJmSt6XUvSnRtgpcCA1OphSclMqXkotSI0JU5AoNS5JaaQprSylU6QmwBSsTE2qU3ooZdCk
199jLrUFJxC9KlpY8qEpMymlMWSmkFTqDU1a09ZsX+4M2V3pebwFOZOzXtTDiLl9KVcgdRCMIWHUouR
200lDua8sRS3pXUUiJFrKaW11K+VMq/ngpspD5kUsHN1MetVCiXCm+nIjupT4VUdDf1eS8VK6Xi+6mV
201w9SXcipxlPp6klqtpJKnqbXz1LdqKnWR+n6VWq+l0tepjdvUj3oqc5f6/SG12UhlH1Nbz6k/ACD9
202tinNa0nzSWlBa/pde1pITr/vSIs602JqWtKVHupOS+np4Z60rDctZ6YVfemR/jTITo8OpJWDaRU3
203realxwRpSJgeF6U1krRWmtbJ0hOKNAymJ5VpvTptgNJGTXpKl0bg9LQ+bTKmzUjaYkrPWNIomp61
204pq32tA1L2x3pOVcaw9Pz7rTDm3YSaZcvvRBI48H0YijtjqQ90bQ3ll5aSROJ9PJq2reW9qfSgfX0
205h410MJP+uJkObaXDuXRkO/1pJx0tpD/vpmN76XgpvbKf/nKYTpTTX4/SqyfpZCW9dpr+dp5OVdPf
206L9LrV+l0Lb1xnf5xm87U07/fpTcf0tlGeusx/cdzOgcAGV5Tht+SEZAy71ozwvbMe3JG1JERd2Yk
2071MxQV0banRmmZ2Q9GXlvRsHMjPRlwP7MKDujHMioBjNqbmaMl4EEmXFhRiPKaCUZnTQzIcvAiswk
208mNErMwZ1xghlpjQZRJeZhjMmfcZszFiQzIwpg1oys2jGas3Y7Bk7lplzZDBXZh7PONwZpzfjIjIL
209vgweyCwGM+5QxhPJeKOZpViGWMksJzK+1Yx/LRNIZT6sZ4IbmY+ZTGgzE97KRHKZT9uZ6E7mcyET
210283E9zIrpcyX/UziMPO1nFk9yiRPMmuVzLfTTOo8872aWb/IpK8yG7XMj+tM5jbzez2zeZfJPmS2
211Gpk/HjO558yfAJDlN2UFLdl3pKywNfu+PSsiZ8UdWUlndoialXZlh7uzMnpW3pNV9GZHmFmwLzva
212n1Wys6qBrHowO8bNQrzsuCCrEWa1oqxOkp2QZmFZdlKR1YNZgzJrVGenoCyiyU7rsiY4a9ZnLcbs
213DJJFTdlZS9aKZm3WrN2encOymCM778o68KzTnXV5swtEFvdlFwNZdzDrCWW9kexSNEvEsssrWV8i
21461/NBtayH1LZ4Hr240Y2lMmGN7ORreynXDa6nf28k40VsvHd7Mpe9kspm9jPfj3MrpazyaPs2kn2
215WyWbOs1+P8+uV7Ppi+zGVfZHLZu5zv5+m92sZ7N32a2H7B+NbO4x++dzdhsAcoKm3LuWnJCUe9+a
216E7XnxOScpCM31JmTUnPDXTlZd05Ozyl6ciO9OZCZG+3LKftzKnZOPZAbG8xB3Nw4L6cR5LTCnE6U
217m5DkYGluUpbTK3IGMGdU5qbUOQTKTWtyJl3ODOcs+tyMMYciuVlTzmrJ2dCc3Zqbs+cwLDfvyDlc
218OSeec7lzC/9QOZFb9OXcgZwnmPOGckuRHBHNLcdyvpWcP5ELrOY+rOWCqdzH9VxoIxfO5CKbuU9b
219uWgu93k7F9vJxQu5ld3cl71copT7up9bPcwly7m1o9y3k1yqkvt+mls/z6WruY2L3I+rXKaW+/06
220t3mby9ZzW3e5Px5yuUbuz8fc9nMuDwD5d015YUv+PSkvas2L2/MScn6oIy/tzA9T87KuvLw7r6Dn
221R3ryYG9+lJlX9uVV/Xk1Oz82kIcG8+PcvIaX1wryOmF+QpSHJflJaV4vyxsUeSOYn1LmEXV+Gsqb
222NHmzLm+B8zP6PGrMzyJ5qylvs+TtaH7Omsfs+Xks73Dkna68C88vuPO4N79I5N2+vCeQ9wbzS6E8
223EckvR/O+WN6/kg8k8h9W88G1/MdUPrSeD2/kI5n8p818dCv/OZePbefjO/mVQv7Lbj6xl/9ayq/u
22455OH+bVy/ttRPnWS/17Jr5/m0+f5jWr+x0U+c5X/vZbfvM5nb/Nb9fwfd/ncQ/7PRn77MZ9/zu8A
225QEHYVHjfUhCRCuLWgqS9MEQuSDsKw50FGbUg7yoougsj9ALYUxjtLSiZBVVfQd1fGGMXoIHC+GBB
226wy1oeQWdoDAhLMCiwqSkoJcWDLKCUVGYAguIsjCtLpiggllTsOgKM3AB1RdmjQUrUrCZCnZLYQ4t
227YNbCvL3gwApOR8HlKizgBdxdWPQW3EThH2fhDRSWggUiVFiOFHzRgj9WCKwUPiQKwdXCx7VCKFUI
228rxciG4VPmUJ0s/B5qxDLFeLbhZWdwpdCIbFb+LpXWC0VkvuFtcPCt3IhdVT4flJYrxTSp4WN88KP
229aiFzUfj9qrBZK2SvC1u3hT/qhdxd4c+HwnajkH8s7DwX/gKA4vumoqilKCYVJa3FofailFwc7ijK
230OotyalHRVRzpLoL04mhPUdlbVDGL6r7iWH8RYhfHB4qawaKWW9TxihOCIiwsToqKeknRIC0aZcUp
231RREBi9PKokldNENFi6Y4oyuicHFWX7QaizakaDcV5yxFDC3OW4sOe9GJFV2O4oKriOPFRXfR7S16
232iKLXV1wKFIlgcTlU9EWK/mgxECt+WCkGE8WPq8XQWjGcKkbWi582itFM8fNmMbZVjOeKK9vFLzvF
233RKH4dbe4uldMlopr+8Vvh8VUufj9qLh+UkxXihunxR/nxUy1+PtFcfOqmK0Vt66Lf9wWc/Xin3fF
2347YdivlHceSz+9VwsAEBJ1FQSt5QkpNJQa0naXhoml2QdJXlnSUEtjXSVwO7SKL2k7CmpektqZmms
235rwT1l8bZJc1ASTtY0nFLE7wSLChNCkt6UckgKRmlpSlZCVGUpsGSSVkyq0sWqDSjKaG60ixcsupL
236NmPJjpTmTCXMUppHSw5ryWkvubDSgqOEu0qLeMntLnm8JS9RWvKViEBpOVjyhUr+SCkQLX2IlYIr
237pY+JUmi1FF4rRVKlT+ul6Ebpc6YU2yzFt0orudKX7VJip/S1UFrdLSX3Smul0rf9Uuqw9L1cWj8q
238pU9KG5XSj9NS5rz0e7W0eVHKXpW2aqU/rku529Kf9dL2XSn/UNpplP56LBWeS38DwIG46UDScjBE
239OpC2Hgy3H8jIB/KOA0XnwQj1AOw6GO0+UNIPVD0H6t6DMeYB1Hcw3n+gYR9oBw50gwcT3AOYdzAp
240ONALDwyiA6PkYEp6gMgOphUHJvDArDywqA9moANUczCrO7DCBzb9gd14MIccYKaDecuBAz1wWg9c
2419oMF7AB3HCy6Dtz4gcd94PUeLBEHhO9gOXDgCx74QweByMGH6EEwdvBx5SCUOAivHkTWDj6lDqLr
242B583DmKZg/jmwcrWwZfcQWL74OvOwWrhILl7sLZ38K10kNo/+H54sF4+SB8dbJwc/KgcZE4Pfj8/
2432KweZC8Otq4O/qgd5K4P/rw92K4f5O8Odh4O/mocFB4P/n4+2AWAsqSpPNRSlpLKw61lWXtZTi4r
244OsojnWWQWh7tKiu7yyp6Wd1THustQ8zyeF9Z01/Wssu6gfLEYBnmlid5Zb2gbBCWjaLylKSMSMvT
245srJJUTaDZYuyPKMuo1B5VlO26so2uGzXl+eMZQwpz5vKDkvZiZZd1vKCvYxj5UVH2e0qe/Cy111e
2468pYJorzsK/sCZX+wHAiVP0T+0Tnlj7FyaKUcTpQjq+VPa+Voqvx5vRzbKMcz5ZXN8petciJX/rpd
247Xt0pJwvltd3yt71yqlT+vl9ePyyny+WNo/KPk3KmUv79tLx5Xs5Wy1sX5T+uyrla+c/r8vZtOV8v
24879yV/3ooFxrlvx/Lu8/lIgAcDzUdS1uOh0nHstZjefuxgnw80nEMdh6PUo+VXceq7mM1/Xis5xjq
249PR5nHmv6jrX9xzr28cTAMTx4PMk91vOODYJjo/B4SnSMSI6npccm2bFZcWwBj2eUx6j6eBY6tmqO
250bbpjO3w8pz/GjMfzyLHDdOy0HLvQ4wXrMW4/XsSO3Y5jj+vYix8vuY8J7/EycezzHfsDx4Hg8YfQ
251cTBy/DF6HIodh1eOI4njT6vH0bXjz6nj2PpxfON4JXP8ZfM4sXX8NXe8un2c3DleKxx/2z1O7R1/
252Lx2v7x+nD483ysc/jo4zJ8e/V443T4+z58db1eM/Lo5zV8d/1o63r4/zt8c79eO/7o4LD8d/N453
253H4+Lz8d7AFCRNlWGWyoyUkXeWlG0V0bIFbCjMtpZUVIrqq6KursyRq9APZXx3oqGWdH2VXT9lQl2
254BR6oTA5W9NyKgVcxCipTwgoiqkxLKiZpxSyrWBSVGbCCKiuz6ooVqtg0FbuuMgdXMH1l3lhxIBWn
255qeKyVBbQCm6tLNorbqzicVS8rsoSXiHclWVvxUdU/L5KIFD5EKwEQ5WPkUooWgnHKpGVyqdEJbpa
256+bxWiaUq8fXKykblS6aS2Kx83aqs5irJ7craTuVboZLarXzfq6yXKun9ysZh5Ue5kjmq/H5S2axU
257sqeVrfPKH9VK7qLy51Vlu1bJX1d2bit/1SuFu8rfD5XdRqX4WNl7rvwXAM6Gm85kLWdy0pmi9Wyk
258/Qwkn412nCk7z1TUM3XX2Vj3GUQ/G+850/SeaZlnur6zif4zmH02OXCmHzwzcM+MvLMpwRkiPJsW
259nZkkZ2bpmUV2NqM4Q8GzWeWZVX1mg87smrM53RkGn83rzxzGMydy5jKdLVjOcPRs0Xrmtp95sDOv
26042zJdUbgZ8vuM5/3zE+cBXxnHwJnweDZx9BZKHIWjp5FYmefVs6iibPPq2extbN46mxl/ezLxlki
261c/Z182x16yyZO1vbPvu2c5YqnH3fPVvfO0uXzjb2z34cnmXKZ78fnW2enGUrZ1unZ3+cn+WqZ39e
262nG1fneVrZzvXZ3/dnhXqZ3/fne0+nBUbZ3uPZ/99PisBQFXWVJW3VBWk6khrFWyvjpKryo6qqrOq
263plbHuqpQd3WcXtX0VLW9VR2zOtFXhfurk+yqfqBqGKwaudUpXhURVKeFVZOoapZULdLqjKyKKqqz
264YNWqrNrUVTtUndNUMV11Hq469FWnsepCqgumKm6pLqJVt7XqsVe9WHXJUSVc1WW86nNX/d5qgKh+
2658FWDgerHYDUUqoYj1Ui0+ilWja5UPyeqsX9k11p1JVX9sl5NbFS/Zqqrm9XkVnUtV/22XU3tVL8X
266quu71fRedaNU/bFfzRxWfy9XN4+q2ZPqVqX6x2k1d179s1rdvqjmr6o7tepf19XCbfXvenX3rlp8
267qO41qv99rJaeq/8DgEt506Wi5XKEdAm2Xo62XyrJl6qOS3Xn5Rj1Euq6HO++1NAvtT2Xut7LCeYl
2683Hc52X+pZ18aBi6Ng5dT3EuEdzktuDQJL82iS4vkckZ6icouZxWXVvDSpry0qy/noEtMczmvu3TA
269l079pct4uYBc4qbLRculG730WC+99ssl7JJwXC67Ln34pd99GfBefiAug77Lj4HLUPAyHLqMRC4/
270RS+jscvPK5exxGV89XJl7fJL6jKxfvl143I1c5ncvFzbuvyWu0xtX37fuVwvXKZ3Lzf2Ln+ULjP7
271l78fXm6WL7NHl1snl39ULnOnl3+eX25XL/MXlztXl3/VLgvXl3/fXu7WL4t3l3sPl/9tXJYeL//3
272fLkPADVFU22kpQaSaqOtNWV7TUWuqTtqY501iFob76ppumtaek3XU5vorcHM2mRfTd9fM7BrxoHa
2731GAN4dameTWToGYW1iyi2oykhkprs7KaVVGzgTW7sjanrmFQbV5Tc+hqTrjm0tcWjDUcqS2aam5L
274zYPWvNbakr1GYLVlR83nqvnxWsBd++CtBYnaR18tFKiFg7VIqPYpUotGa59jtdhKLZ6orazWvqzV
275/lGBX9drqxu1ZKa2tln7tlVL5Wrft2vrO7V0obaxW/uxV8uUar/v1zYPa9lybeuo9sdJLVep/Xla
2762z6v5au1nYvaX1e1Qq3293Vt97ZWrNf27mr/faiVGrX/Pdb2n2sHAHAz0nQDttyMkm6UrTeq9hs1
277+Was4wbqvBmn3mi6brTdNzr6zUTPDdx7M8m80ffdGPpvjOybqYEbZPBmmntj4t2YBTcW4c2M6AaV
2783MxKb6yyG5vixg7ezClvMPXNPHTj0Nw4dTcu+GZBf4MbbxaRG7fpxmO58aI3S9Ybwn6zjN34HDd+
279100Av/ngvgl6bz4SNyHfTThwEwnefArdRCM3n6M3sdhNfOVmJXHzZfUmsXbzNXWzun6T3LhZy9x8
28027xJbd18z92sb9+kd242Cjc/dm8yeze/l24292+yhzdb5Zs/jm5yJzd/Vm62T2/y5zc71Zu/Lm4K
281Vzd/1252r2+Ktzd79Zv/3t2UHm7+17jZf7w5eL45BIA62FQfbakrSXVVa13dXh8j16GO+nhnXUOt
282a7vquu76BL0O99Qne+t6Zt3QVzf216fYdWSgPj1YN3HrZl7dIqjPCOuoqD4rqVuldZusblfU58A6
283pqzPq+sOqO7U1F26+gJcx/X1RWPdjdQ9prrXUl9C64S1vmyv+7C631EPuOof8HrQXf/orYeIethX
284jwTqn4L1aKj+OVKPRevxWH1lpf4lUU+s1r+u1VdT9eR6fW2j/i1TT23Wv2/V13P19HZ9Y6f+o1DP
2857NZ/36tvlurZ/frWYf2Pcj13VP/zpL5dqedP6zvn9b+q9cJF/e+r+m6tXryu793W/1uvl+7q/3uo
2867zfqB4/1w+f6/wHA/WjTvbLlXkW6V7fej7XfQ+T78Y57Tee9lnqv67qf6L6H6feTPff63nsD897Y
287dz/Vf4+w76cH7k2D92buvYV3PyO4R4X3s6J7q+TeJr23y+7nFPcYeD+vvHeo753QvUtzv6C7x+H7
288Rf2923jvQe69pvslyz2B3i9b7332ez92H3Dcf3DdB/H7j+77kPc+TNxHfPefAvfR4P3n0H0sch+P
2893q/E7r+s3CcS919X71fX7pOp+7X1+28b96nM/ffN+/Wt+3TufmP7/sfOfaZw//vu/ebefbZ0v7V/
290/8fhfa58/+fR/fbJfb5yv3N6/9f5faF6//fF/e7VfbF2v3d9/9/b+1L9/n939/sP9weN+8PH+/97
291vi8DQEPZ1FC1NNSkxlhrA2pvjJMbmo6GtrOhozYmuhpwd2OS3tD3NAy9DSOzMdXXQPob0+yGaaBh
292HmxYuI0ZXgMVNGaFDauoYZM07NLGnKyBKRrzYMOhbDjVDRfUWNA0cF1jEW649Q2PseFFGkumBmFp
293LKMNn7XhtzcCWOODoxF0NT7ijZC7EfY2IkTjk68RDTQ+BxuxUCMeaaxEG19ijcRK42uisbraSK41
2941lKNb+uN1Ebje6axvvmPJW1s5Bo/thuZncbvhcbmbiO719gqNf7Yb+QOG3+WG9tHjfxJY6fS+Ou0
295UThv/F1t7F40ileNvVrjv9eN0m3jf/XG/l3j4KFx2Gj832Oj/Nz4fwDwpGp6Urc8jZGeoNan8fYn
296DflJ2/Gk63yaoD7BXU+T3U96+pOh58nY+zTFfEL6nqb7n0zsJ/PAk2XwaYb7hPKeZgVPVuGTTfRk
297lzzNSZ8w2dO84skBPjmVTy710wL0hGueFnVPbvjJo3/yGp+WkCfC9LRsefKhT37rU8D+9AF7Cjqe
298PrqeQvhT2P0U8T59Ip6ivqfPgadY8CkeelqJPH2JPiViT19XnlYTT8nVp7W1p2+pp9T60/eNp/XM
299U3rzaWPr6UfuKbP99PvO02bhKbv7tLX39EfpKbf/9Ofh03b5KX/0tHPy9FflqXD69Pf50271qXjx
300tHf19N/aU+n66X+3T/v1p4O7p8OHp/9rPJUfn/7f89PR/w8QCy14LJdV2gAAAABJRU5ErkJggg==</one:Data></one:Image></one:Page>
corpus/m6/rust-collapse-control-01/read/page-012.pdf created
Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/read/page-012.pdf differ
corpus/m6/rust-collapse-control-01/read/page-012.xml created+6
...@@ -0,0 +1,6 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{95626B46-B586-0D38-32A7-F99FCDA6714C}{1}{B0}" name="Image role background=true, printout=false" dateTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T06:06:44.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{53DFEECA-E57D-006C-003D-2B6E4A0E68D7}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image role background=true, printout=false]]></one:T></one:OE></one:Title><one:Image format="png" backgroundImage="true" alt="Role pattern" originalPageNumber="2" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{53DFEECA-E57D-006C-003D-2B6E4A0E68D7}{39}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="288.0" height="192.0" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec
3CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI
4E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp
5oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT
6+wHXVRp4qDc0HQAAAABJRU5ErkJggg==</one:Data></one:Image><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{53DFEECA-E57D-006C-003D-2B6E4A0E68D7}{41}{B0}"><one:Position x="72.0" y="108.0" z="1"/><one:Size width="146.7475433349609" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{53DFEECA-E57D-006C-003D-2B6E4A0E68D7}{42}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Foreground role control]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/rust-collapse-control-01/read/page-013.pdf created
Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/read/page-013.pdf differ
corpus/m6/rust-collapse-control-01/read/page-013.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{9F934F15-7A74-0C90-3CC2-A7D8175AF3B3}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:06:48.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{6DFB5BD4-87EB-01FA-2785-F65388D00318}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{6DFB5BD4-87EB-01FA-2785-F65388D00318}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="266.8237915039062" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{6DFB5BD4-87EB-01FA-2785-F65388D00318}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group B/Nested/Duplicate.one, level 1]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/rust-collapse-control-01/read/page-014.pdf created
Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/read/page-014.pdf differ
corpus/m6/rust-collapse-control-01/read/page-014.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B4422B9A-ADD9-0260-110A-EE08D0CC8569}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:06:46.000Z" pageLevel="2" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{8060E919-2E4C-0552-0459-8C67DE05595B}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{8060E919-2E4C-0552-0459-8C67DE05595B}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="231.1436157226562" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{8060E919-2E4C-0552-0459-8C67DE05595B}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group A/Duplicate.one, level 2]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/rust-collapse-control-01/read/page-015.pdf created
Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/read/page-015.pdf differ
corpus/m6/rust-collapse-control-01/read/page-015.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{C0E8B161-0216-0E28-1DAF-5245DA57E02A}{1}{B0}" name="Task controls" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:06:45.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{921E76FF-6CCF-061C-39D1-0DF668C7473E}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Task controls]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{921E76FF-6CCF-061C-39D1-0DF668C7473E}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="151.0606994628906" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{921E76FF-6CCF-061C-39D1-0DF668C7473E}{40}{B0}" alignment="left" quickStyleIndex="0"><one:OutlookTask startDate="2020-01-02T00:00:00.000Z" dueDate="2020-01-03T00:00:00.000Z" guidTask="{45AF40E3-1D54-463C-90D3-C454F2F71A2E}" completed="false" disabled="true" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[Disabled standalone task]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/rust-collapse-control-01/read/page-016.pdf created
Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/read/page-016.pdf differ
corpus/m6/rust-collapse-control-01/read/page-016.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E587259B-4459-0CAB-210C-5A0DE85331B9}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:06:48.000Z" pageLevel="2" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{F6DE4D39-7780-05FC-225B-2E7A6E7DE27F}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{F6DE4D39-7780-05FC-225B-2E7A6E7DE27F}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="266.8237915039062" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{F6DE4D39-7780-05FC-225B-2E7A6E7DE27F}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group B/Nested/Duplicate.one, level 2]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/rust-collapse-control-01/read/page-017.pdf created
Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/read/page-017.pdf differ
corpus/m6/rust-collapse-control-01/read/page-017.xml created+6
...@@ -0,0 +1,6 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EBD20CA0-3BB8-0AE2-1F39-B708FDC47187}{1}{B0}" name="Image png" dateTime="2026-09-06T02:25:40.000Z" lastModifiedTime="2026-09-06T06:06:44.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T02:25:42.000Z" objectID="{948CA9A1-C308-0E04-3C64-6BC195BAD88A}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image png]]></one:T></one:OE></one:Title><one:Image format="png" hyperlink="https://example.invalid/image/png" alt="Pattern png" originalPageNumber="0" lastModifiedTime="2026-09-06T02:25:42.000Z" objectID="{948CA9A1-C308-0E04-3C64-6BC195BAD88A}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="144.0" height="48.00000381469727" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec
3CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI
4E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp
5oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT
6+wHXVRp4qDc0HQAAAABJRU5ErkJggg==</one:Data></one:Image></one:Page>
corpus/m6/rust-collapse-control-01/read/page-018.pdf created
Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/read/page-018.pdf differ
corpus/m6/rust-collapse-control-01/read/page-018.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{F7A8EC8B-3D59-06AD-2499-50E24986D032}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T06:06:43.000Z" pageLevel="1" style="font-family:Calibri;font-size:11.0pt" lang="en-US"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="Fixture Author" lastModifiedBy="Fixture Author" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{9826F1B9-3F44-055D-00C4-70A8B70899BB}{23}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="191.1661224365234" height="13.4277172088623"/><one:Indents><one:Indent level="0" indent="0.0"/></one:Indents><one:OEChildren><one:OE creationTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{9826F1B9-3F44-055D-00C4-70A8B70899BB}{24}{B0}" alignment="left"><one:T><![CDATA[A notebook created in Rust.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/rust-collapse-control-01/read/page-019.pdf created
Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/read/page-019.pdf differ
corpus/m6/rust-collapse-control-01/read/page-019.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{F8B18912-24AC-0DDE-3A3C-8F1CA984DD2B}{1}{B0}" name="Files and recording" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T06:06:45.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:MediaPlaylist><one:MediaReference mediaID="{9A418E57-7F64-40C5-87D0-8A8F7C1E5422}"/></one:MediaPlaylist><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:47.000Z" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{E2ABB096-FC4F-0313-2920-1DADD2631B5C}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Files and recording]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{E2ABB096-FC4F-0313-2920-1DADD2631B5C}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="136.6015625" height="139.427719116211"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:47.000Z" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{E2ABB096-FC4F-0313-2920-1DADD2631B5C}{40}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\7d1ab415-649a-43bd-a863-bbef841467de.txt" pathSource="C:\one-tests\runs\capture\notebook\fixture-data\attachment.txt" preferredName="Fictitious attachment.txt"/></one:OE><one:OE creationTime="2026-09-06T02:25:47.000Z" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{E2ABB096-FC4F-0313-2920-1DADD2631B5C}{44}{B0}" alignment="left"><one:MediaFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\5cdfe8bc-15a0-4ef8-9710-d05c8cbe5118.wav" pathSource="C:\one-tests\runs\capture\notebook\fixture-data\silence.wav" preferredName="silence.wav"><one:MediaReference mediaID="{9A418E57-7F64-40C5-87D0-8A8F7C1E5422}"/></one:MediaFile></one:OE><one:OE creationTime="2026-09-06T02:25:47.000Z" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{E2ABB096-FC4F-0313-2920-1DADD2631B5C}{48}{B0}" alignment="left" quickStyleIndex="0"><one:MediaIndex timeIndex="500"><one:MediaReference mediaID="{9A418E57-7F64-40C5-87D0-8A8F7C1E5422}"/></one:MediaIndex><one:T><![CDATA[Recording annotation]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/m6/rust-collapse-control-01/read/payloads.json created+18
...@@ -0,0 +1,18 @@
1[
2 {
3 "sha256": "4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2",
4 "name": "Fictitious attachment.txt",
5 "object": "{E2ABB096-FC4F-0313-2920-1DADD2631B5C}{40}{B0}",
6 "kind": "InsertedFile",
7 "page": "{F8B18912-24AC-0DDE-3A3C-8F1CA984DD2B}{1}{B0}",
8 "bytes": 27
9 },
10 {
11 "sha256": "56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9",
12 "name": "silence.wav",
13 "object": "{E2ABB096-FC4F-0313-2920-1DADD2631B5C}{44}{B0}",
14 "kind": "MediaFile",
15 "page": "{F8B18912-24AC-0DDE-3A3C-8F1CA984DD2B}{1}{B0}",
16 "bytes": 16044
17 }
18]
\ No newline at end of file
corpus/m6/rust-collapse-control-01/run.json created+17
...@@ -0,0 +1,17 @@
1{
2 "notebook": "/Users/clo/dev/one/evidence/m6/rust-collapse-control-input/notebook",
3 "expected_pages": 20,
4 "author": null,
5 "author_timeout_seconds": 600,
6 "inspect": false,
7 "base": {
8 "file": "win7-office-base.qcow2",
9 "format": "qcow2",
10 "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346",
11 "virtual_size": 68719476736
12 },
13 "scripts": {
14 "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
15 "read.ps1": "086789e467779add0fc071ad8c524c2b02d3d0d609aea4a41f3128cadba371e8"
16 }
17}
corpus/m6/rust-collapse-control-01/scripts/cold.ps1 created+27
...@@ -0,0 +1,27 @@
1param([Parameter(Mandatory=$true)][string]$Root, [string]$CloneHost = '')
2Set-StrictMode -Version Latest
3$ErrorActionPreference = 'Stop'
4$root = [IO.Path]::GetFullPath($Root).TrimEnd('\')
5if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') {
6 throw 'Choose a run directly below C:\one-tests\runs.'
7}
8if (Get-Process ONENOTE -ErrorAction SilentlyContinue) { throw 'Close OneNote before resetting its test cache.' }
9$key = 'HKCU:\Software\Microsoft\Office\14.0\OneNote'
10if ($CloneHost) {
11 if ($CloneHost -notmatch '^ONE-[A-Z0-9-]+$' -or [Environment]::MachineName -ne $CloneHost) {
12 throw 'The disposable clone hostname does not match this machine.'
13 }
14 New-Item "$key\Options\Paths" -Force | Out-Null
15 New-ItemProperty "$key\Options\Paths" -Name UnfiledNotesSection -PropertyType ExpandString -Value 'C:\one-tests\Loose.one' -Force | Out-Null
16} elseif ((Get-ItemProperty "$key\Options\Paths").UnfiledNotesSection -ne 'C:\one-tests\Loose.one' -or
17 -not (Test-Path 'C:\one-tests\profile-original-cache')) {
18 throw 'Park the personal OneNote profile before resetting the test cache.'
19}
20$cache = Join-Path $env:LOCALAPPDATA 'Microsoft\OneNote\14.0'
21$parked = Join-Path 'C:\one-tests\caches' ([IO.Path]::GetFileName($root))
22if (Test-Path $parked) { throw 'Choose a new run; its parked cache already exists.' }
23New-Item -ItemType Directory -Path 'C:\one-tests\caches' -Force | Out-Null
24if (Test-Path $cache) { Move-Item -LiteralPath $cache -Destination $parked }
25if (Test-Path "$key\OpenNotebooks") { Remove-Item "$key\OpenNotebooks" -Recurse }
26New-Item "$key\OpenNotebooks" | Out-Null
27New-ItemProperty "$key\OpenNotebooks" -Name '1' -PropertyType String -Value "$root\notebook" | Out-Null
corpus/m6/rust-collapse-control-01/scripts/read.ps1 created+139
...@@ -0,0 +1,139 @@
1param(
2 [Parameter(Mandatory=$true)][string]$Root,
3 [int]$ExpectedPages = -1,
4 [switch]$UseCurrentCache,
5 [switch]$Pdf,
6 [switch]$KeepOpen,
7 [string]$CloneHost = ''
8)
9Set-StrictMode -Version Latest
10$ErrorActionPreference = 'Stop'
11$root = [IO.Path]::GetFullPath($Root).TrimEnd('\')
12if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') {
13 throw 'Choose a run directly below C:\one-tests\runs.'
14}
15$notebook = Join-Path $root 'notebook'
16$output = Join-Path $root 'read'
17if (Test-Path $output) { throw 'Choose a new read destination.' }
18if ($UseCurrentCache) {
19 if ((Get-ItemProperty 'HKCU:\Software\Microsoft\Office\14.0\OneNote\Options\Paths').UnfiledNotesSection -ne 'C:\one-tests\Loose.one') {
20 throw 'Park the personal OneNote profile before reading test notebooks.'
21 }
22} else {
23 & "$PSScriptRoot\cold-current.ps1" -Root $root -CloneHost $CloneHost
24}
25New-Item -ItemType Directory -Path $output | Out-Null
26$app = New-Object -ComObject OneNote.Application
27$notebookId = ''
28$failure = $null
29try {
30 $app.OpenHierarchy($notebook, '', [ref]$notebookId, 0)
31 $process = Get-Process ONENOTE
32 @{ hostname = [Environment]::MachineName; onenote = $process.MainModule.FileVersionInfo.FileVersion;
33 powershell = $PSVersionTable.PSVersion.ToString(); schema = 'xs2010'; cold = (-not $UseCurrentCache.IsPresent) } |
34 ConvertTo-Json | Set-Content (Join-Path $output 'environment.json') -Encoding UTF8
35 $sections = @()
36 foreach ($file in @(Get-ChildItem $notebook -Recurse | Where-Object { $_.Extension -eq '.one' })) {
37 $id = ''
38 $app.OpenHierarchy($file.FullName, '', [ref]$id, 0)
39 $sections += $id
40 }
41 $deadline = [DateTime]::UtcNow.AddSeconds(300)
42 $previous = ''
43 $stableSince = [DateTime]::UtcNow
44 $settled = $false
45 do {
46 $pages = @{}
47 foreach ($section in $sections) {
48 $hierarchy = ''
49 $app.GetHierarchy($section, 4, [ref]$hierarchy, 1)
50 [xml]$xml = $hierarchy
51 foreach ($node in $xml.SelectNodes('//*[@path]')) {
52 if (-not $node.GetAttribute('path').StartsWith("$notebook\", [StringComparison]::OrdinalIgnoreCase)) {
53 throw 'OneNote opened a section outside the copied notebook.'
54 }
55 }
56 foreach ($node in $xml.SelectNodes('//*[local-name()="Page"]')) {
57 $id = $node.GetAttribute('ID')
58 $content = ''
59 $app.GetPageContent($id, [ref]$content, 1, 1)
60 $pages[$id] = $content
61 }
62 }
63 $signature = [String]::Join('|', @($pages.Keys | Sort-Object | ForEach-Object { $_ + $pages[$_] }))
64 if ($signature -ne $previous) {
65 $previous = $signature
66 $stableSince = [DateTime]::UtcNow
67 }
68 if ((($ExpectedPages -ge 0 -and $pages.Count -eq $ExpectedPages) -or
69 ($ExpectedPages -lt 0 -and $pages.Count -gt 0)) -and
70 ([DateTime]::UtcNow - $stableSince).TotalSeconds -ge 2) { $settled = $true; break }
71 Start-Sleep -Milliseconds 250
72 } while ([DateTime]::UtcNow -lt $deadline)
73 if (-not $settled -or ($ExpectedPages -ge 0 -and $pages.Count -ne $ExpectedPages) -or ($ExpectedPages -lt 0 -and $pages.Count -eq 0)) {
74 $index = 0
75 foreach ($id in @($pages.Keys | Sort-Object)) {
76 [IO.File]::WriteAllText((Join-Path $output ('unsettled-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8)
77 $index++
78 }
79 $hierarchy = ''
80 $app.GetHierarchy($notebookId, 4, [ref]$hierarchy, 1)
81 [IO.File]::WriteAllText((Join-Path $output 'unsettled-hierarchy.xml'), $hierarchy, [Text.Encoding]::UTF8)
82 throw "Expected $ExpectedPages pages; OneNote returned $($pages.Count)."
83 }
84 $index = 0
85 $payloads = @()
86 foreach ($id in @($pages.Keys | Sort-Object)) {
87 [IO.File]::WriteAllText((Join-Path $output ('page-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8)
88 if ($Pdf) {
89 $pdfPath = Join-Path $output ('page-{0:d3}.pdf' -f $index)
90 $app.NavigateTo($id, '', $false)
91 $app.Publish($id, $pdfPath, 3, '')
92 if (-not (Test-Path $pdfPath) -or (Get-Item $pdfPath).Length -eq 0) { throw 'OneNote did not publish the page PDF.' }
93 }
94 [xml]$page = $pages[$id]
95 foreach ($file in $page.SelectNodes('//*[local-name()="InsertedFile" or local-name()="MediaFile"]')) {
96 $bytes = [IO.File]::ReadAllBytes($file.GetAttribute('pathCache'))
97 $hash = [BitConverter]::ToString([Security.Cryptography.SHA256]::Create().ComputeHash($bytes)).Replace('-', '').ToLowerInvariant()
98 [IO.File]::WriteAllBytes((Join-Path $output ($hash + '.attachment')), $bytes)
99 $payloads += @{ page = $id; object = $file.ParentNode.GetAttribute('objectID');
100 kind = $file.LocalName; name = $file.GetAttribute('preferredName');
101 sha256 = $hash; bytes = $bytes.Length }
102 }
103 $index++
104 }
105 [IO.File]::WriteAllText((Join-Path $output 'payloads.json'), (ConvertTo-Json -InputObject $payloads -Depth 4), [Text.Encoding]::UTF8)
106 $all = ''
107 $app.GetHierarchy($notebookId, 4, [ref]$all, 1)
108 [xml]$finalTree = $all
109 $finalIds = @($finalTree.SelectNodes('//*[local-name()="Page"]') | ForEach-Object { $_.GetAttribute('ID') } | Sort-Object -Unique)
110 if ($finalIds.Count -ne $pages.Count -or @($finalIds | Where-Object { -not $pages.ContainsKey($_) }).Count -ne 0) {
111 throw 'The notebook hierarchy changed while collecting page evidence; repeat the cold read.'
112 }
113 [IO.File]::WriteAllText((Join-Path $output 'hierarchy.xml'), $all, [Text.Encoding]::UTF8)
114 Write-Output "Read $($sections.Count) sections and $($pages.Count) pages."
115} catch {
116 $failure = $_
117 [IO.File]::WriteAllText((Join-Path $output 'failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8)
118 throw
119} finally {
120 try {
121 try {
122 if ($notebookId -and $CloneHost) { $app.SyncHierarchy($notebookId) }
123 if ($notebookId -and -not $KeepOpen -and (-not $UseCurrentCache -or $CloneHost)) {
124 $app.CloseNotebook($notebookId, $false)
125 }
126 } catch {
127 if ($null -eq $failure) { throw }
128 [IO.File]::WriteAllText((Join-Path $output 'cleanup-failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8)
129 }
130 } finally {
131 [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
132 }
133 $app = $null
134 [GC]::Collect()
135 [GC]::WaitForPendingFinalizers()
136 if (-not $UseCurrentCache -and -not $CloneHost) {
137 Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10
138 }
139}
corpus/m6/rust-collapse-control-01/source.json created+110
...@@ -0,0 +1,110 @@
1[
2 {
3 "path": "Empty.one",
4 "bytes": 4016,
5 "sha256": "9e99f8508837f3abe2874ccbd42bea9954ff01a596e3d4e8d1a01bc377b5a0df",
6 "mtime_ns": 1788661593561895158
7 },
8 {
9 "path": "Features.one",
10 "bytes": 121624,
11 "sha256": "6e174a041bd916c46e49c42d76332b03f835e08a0ba8e86d894d58a9916d4f01",
12 "mtime_ns": 1788674679363426341
13 },
14 {
15 "path": "Group A/Duplicate.one",
16 "bytes": 23504,
17 "sha256": "77d0ffb49f308122e1a9155d0941ccecece888cb8f9af395697569a7be70d308",
18 "mtime_ns": 1788661593563832275
19 },
20 {
21 "path": "Group A/Open Notebook.onetoc2",
22 "bytes": 3760,
23 "sha256": "945d36daadca6eef55cc34107f6415356836ec79ca2b484a7f1adc0643fa27e0",
24 "mtime_ns": 1788661593563917316
25 },
26 {
27 "path": "Group B/Nested/Duplicate.one",
28 "bytes": 23424,
29 "sha256": "952dd1766415dd2c622d6981eb1eb6bf9d3415abf50735048529240c6ae40343",
30 "mtime_ns": 1788661593564205357
31 },
32 {
33 "path": "Group B/Nested/Open Notebook.onetoc2",
34 "bytes": 3760,
35 "sha256": "12e9cefade3dfdce9ad27bdc678b6401c71a5ab0fbeb260f94febc6c74fa0bc2",
36 "mtime_ns": 1788661593564303940
37 },
38 {
39 "path": "Group B/Open Notebook.onetoc2",
40 "bytes": 3736,
41 "sha256": "0f6318eae2aee05a8f909f009b7ef948e1e7973c34bc348659b7f5cf5dd63f4d",
42 "mtime_ns": 1788661593564040816
43 },
44 {
45 "path": "Open Notebook.onetoc2",
46 "bytes": 5364,
47 "sha256": "06ec4fb5b2454514eafae121f3f740c443053f8a4c857e6eb0dc59e5f8024233",
48 "mtime_ns": 1788661593562572238
49 },
50 {
51 "path": "fixture-data/Open Notebook.onetoc2",
52 "bytes": 3656,
53 "sha256": "7b2c9d872dfbec669423821452b76d9cca25d2eea83034623ecaf4cf601848ce",
54 "mtime_ns": 1788661593562956029
55 },
56 {
57 "path": "fixture-data/attachment.txt",
58 "bytes": 27,
59 "sha256": "4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2",
60 "mtime_ns": 1788661593562850321
61 },
62 {
63 "path": "fixture-data/pattern.bmp",
64 "bytes": 18486,
65 "sha256": "d7802912d031a974c277d1500f845faf7d1d5dc3dd9d5a3daf69c44db8d9dbf5",
66 "mtime_ns": 1788661593563127403
67 },
68 {
69 "path": "fixture-data/pattern.gif",
70 "bytes": 3902,
71 "sha256": "e0d351f33d156bf3d77b4912269768e2261c0c4850a8e78a87c245a2db2c5953",
72 "mtime_ns": 1788661593563230986
73 },
74 {
75 "path": "fixture-data/pattern.jpg",
76 "bytes": 1071,
77 "sha256": "bf7ef0fb92642d75f186c27a0ba662138c7c3f9ea85b1c478805a229cda451ed",
78 "mtime_ns": 1788661593563318944
79 },
80 {
81 "path": "fixture-data/pattern.png",
82 "bytes": 250,
83 "sha256": "02065dc5a46ae9a4adc68d0fff2641b62cedaa396f59f93ec6ac79c8b358904a",
84 "mtime_ns": 1788661593563399569
85 },
86 {
87 "path": "fixture-data/pattern.tiff",
88 "bytes": 18572,
89 "sha256": "fbbc74945e085389c3e994bfab64c26144056066e0d631512e62a3007b373427",
90 "mtime_ns": 1788661593563547193
91 },
92 {
93 "path": "fixture-data/silence.wav",
94 "bytes": 16044,
95 "sha256": "56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9",
96 "mtime_ns": 1788661593563674442
97 },
98 {
99 "path": "fixture.json",
100 "bytes": 12415,
101 "sha256": "d3c2142230816e8717c7612a5d2ca816a7551cebc2bc445846f3824d3a44dbc3",
102 "mtime_ns": 1788661593562325448
103 },
104 {
105 "path": "synthetic.one",
106 "bytes": 7428,
107 "sha256": "eb1e702f86562e91efcabf0065211efdeaf39bdc977beb82382faf901bf3b2c4",
108 "mtime_ns": 1788661593562715779
109 }
110]
corpus/m6/rust-collapse-control-01/teardown.json created+1
...@@ -0,0 +1 @@
1{"absent": true}
corpus/m7/automatic-titles/README.md created+14
...@@ -0,0 +1,14 @@
1# Native automatic-title fixtures
2
3OneNote 2010 authored these synthetic sections in disposable, isolated Windows
4profiles. `provenance.json` records their capture paths and hashes.
5
6- `rtl-and-attachments.one`: RTL outline order, RTL table cells, and attachments
7 preceding text. RTL outlines choose descending x position; RTL rows use the
8 last stored cell first. Attachments do not supply automatic text titles.
9- `widths-and-limits.one`: differing outline widths establish that ordering uses
10 the x anchor, not the right edge. Automatic titles trim the truncated result
11 and count UTF-16 units without requiring grapheme boundaries.
12
13`tests/edit.rs` edits each relevant body candidate and checks the native-derived
14navigation label while preserving unrelated properties and historical objects.
corpus/m7/automatic-titles/provenance.json created+14
...@@ -0,0 +1,14 @@
1[
2 {
3 "path": "rtl-and-attachments.one",
4 "sha256": "85aaa8be3dc4662acfc42d4c191471d11ed2e94b2574bc819fd1320b94ce52e7",
5 "source": "evidence/m7/automatic-title-native-04/notebook/synthetic.one",
6 "bytes": 41052
7 },
8 {
9 "path": "widths-and-limits.one",
10 "sha256": "69cc44b8c5ebc7125f442e7a257738bf20d3796156e44b201eaead7da7486d5a",
11 "source": "evidence/m7/automatic-title-native-05/notebook/synthetic.one",
12 "bytes": 37324
13 }
14]
\ No newline at end of file
corpus/m7/automatic-titles/rtl-and-attachments.one created
Binary files /dev/null and b/corpus/m7/automatic-titles/rtl-and-attachments.one differ
corpus/m7/automatic-titles/widths-and-limits.one created
Binary files /dev/null and b/corpus/m7/automatic-titles/widths-and-limits.one differ
corpus/m7/empty-final-run/README.md created+13
...@@ -0,0 +1,13 @@
1# Empty final formatting run
2
3`input` is the 24-byte minimized stateful fuzz input retained from the M7 text
4editing campaign. The old oracle represented only characters and lost the
5insertion style of an emptied final run. An insertion there inherited the
6retained final run's style, which disagreed with that incomplete oracle.
7
8The stable semantic replay is
9`tests/edit.rs::an_emptied_final_run_retains_its_insertion_style`: erase UTF-16
10positions 22..27 in the native formatted fixture, insert `a` at 22, and require
11the original final run's formatting. The current fuzz oracle carries an explicit
12terminal style marker. Fixture-selection bytes have changed as cases were added;
13the named regression is the replay independent of that encoding.
corpus/m7/empty-final-run/input created
Binary files /dev/null and b/corpus/m7/empty-final-run/input differ
corpus/malformed/README.md created+6
...@@ -0,0 +1,6 @@
1`native-inflight.one` was read without exclusion during OneNote 2010's shared
2conflict save. Its committed revision references an object space that was not
3yet present. The eventual locked snapshot is valid and lives in
4`../collaboration/round-01/live/notebook/`. This intermediate file is a rejection
5fixture, not an accepted notebook. The commit test checks that even a no-op edit
6fails graph validation before any storage I/O.
corpus/malformed/native-inflight.one created
Binary files /dev/null and b/corpus/malformed/native-inflight.one differ
corpus/native-delete/cold-deletion-05/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one created
Binary files /dev/null and b/corpus/native-delete/cold-deletion-05/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one differ
corpus/native-delete/cold-deletion-05/notebook/OneNote_RecycleBin/Open Notebook.one created
Binary files /dev/null and b/corpus/native-delete/cold-deletion-05/notebook/OneNote_RecycleBin/Open Notebook.one differ
corpus/native-delete/cold-deletion-05/notebook/OneNote_RecycleBin/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/native-delete/cold-deletion-05/notebook/OneNote_RecycleBin/Open Notebook.onetoc2 differ
corpus/native-delete/cold-deletion-05/notebook/Open Notebook.one created
Binary files /dev/null and b/corpus/native-delete/cold-deletion-05/notebook/Open Notebook.one differ
corpus/native-delete/cold-deletion-05/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/native-delete/cold-deletion-05/notebook/Open Notebook.onetoc2 differ
corpus/native-delete/cold-deletion-05/notebook/synthetic.one created
Binary files /dev/null and b/corpus/native-delete/cold-deletion-05/notebook/synthetic.one differ
corpus/native-delete/cold-deletion-05/read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment created+1
...@@ -0,0 +1 @@
1Fictitious attachment for native corpus.
\ No newline at end of file
corpus/native-delete/cold-deletion-05/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{5F1D2055-5661-4021-A539-F77746FACC99}{1}{B0}" path="C:\one-tests\runs\cold-deletion-05\notebook" lastModifiedTime="2026-09-05T05:13:46.000Z" color="#9595AA"><one:Section name="synthetic" ID="{E11482BF-735E-0455-3840-4188C63CD178}{1}{B0}" path="C:\one-tests\runs\cold-deletion-05\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:13:46.000Z" color="#8AA8E4"><one:Page ID="{CD5D7139-FA95-4744-BF27-E9193A04CD67}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section><one:Section name="Open Notebook" ID="{C879886F-FFED-48DF-8CF6-DEEC1DAD972E}{1}{B0}" path="C:\one-tests\runs\cold-deletion-05\notebook\Open Notebook.one" lastModifiedTime="2026-09-05T05:13:46.000Z" color="#ADE792"/><one:SectionGroup name="OneNote_RecycleBin" ID="{2E5DCD9A-04C7-4A74-9C4A-3767FB928F82}{1}{B0}" path="C:\one-tests\runs\cold-deletion-05\notebook\OneNote_RecycleBin" lastModifiedTime="2026-09-05T05:13:46.000Z" isRecycleBin="true"><one:Section name="Deleted Pages" ID="{6EB4399B-1CBB-00A9-124E-A4E0F98BC4B6}{1}{B0}" path="C:\one-tests\runs\cold-deletion-05\notebook\OneNote_RecycleBin\OneNote_DeletedPages.one" lastModifiedTime="2026-09-05T05:13:46.000Z" color="#E1E1E1" isInRecycleBin="true" isDeletedPages="true"><one:Page ID="{5DD9F0BE-8050-019B-2E02-936121D4A593}{1}{B0}" name="Recoverable deletion marker." dateTime="2026-09-05T05:13:44.000Z" lastModifiedTime="2026-09-05T05:13:46.000Z" pageLevel="1" isInRecycleBin="true"/></one:Section><one:Section name="Open Notebook" ID="{DBE9B68D-98D6-4D12-8F69-8B6278A3CEFA}{1}{B0}" path="C:\one-tests\runs\cold-deletion-05\notebook\OneNote_RecycleBin\Open Notebook.one" lastModifiedTime="2026-09-05T05:13:46.000Z" color="#4DBCCA" isInRecycleBin="true"/></one:SectionGroup></one:Notebook>
corpus/native-delete/cold-deletion-05/read/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{5DD9F0BE-8050-019B-2E02-936121D4A593}{1}{B0}" name="Recoverable deletion marker." dateTime="2026-09-05T05:13:44.000Z" lastModifiedTime="2026-09-05T05:13:46.000Z" pageLevel="1" isInRecycleBin="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:13:45.000Z" objectID="{1EFF9E5A-18D8-0D07-1AE2-A087D42E5BAA}{14}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="171.9595184326172" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:13:45.000Z" lastModifiedTime="2026-09-05T05:13:45.000Z" objectID="{1EFF9E5A-18D8-0D07-1AE2-A087D42E5BAA}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Recoverable deletion marker.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/native-delete/cold-deletion-05/read/page-001.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{CD5D7139-FA95-4744-BF27-E9193A04CD67}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{AA91D985-B1E0-44F2-B0D5-65C2C5982806}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{AA91D985-B1E0-44F2-B0D5-65C2C5982806}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{887CF517-E908-4A41-AD4D-C74A051845D2}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{887CF517-E908-4A41-AD4D-C74A051845D2}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{FC210590-02B5-4EAF-AA63-E74A6194CC4F}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{FC210590-02B5-4EAF-AA63-E74A6194CC4F}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{C1086D1F-E42F-4701-9C13-4CBE8DF984C1}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{C1086D1F-E42F-4701-9C13-4CBE8DF984C1}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{4412757F-2257-44C7-B9BE-2B40B9284BF2}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{4412757F-2257-44C7-B9BE-2B40B9284BF2}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\chloe caruso\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{6ACD0C2F-43C7-4F47-A6B6-C915917BB0B4}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{6ACD0C2F-43C7-4F47-A6B6-C915917BB0B4}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{6ACD0C2F-43C7-4F47-A6B6-C915917BB0B4}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{6ACD0C2F-43C7-4F47-A6B6-C915917BB0B4}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{6ACD0C2F-43C7-4F47-A6B6-C915917BB0B4}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{6ACD0C2F-43C7-4F47-A6B6-C915917BB0B4}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{6ACD0C2F-43C7-4F47-A6B6-C915917BB0B4}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{6ACD0C2F-43C7-4F47-A6B6-C915917BB0B4}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/native-delete/deletion-05/before/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/native-delete/deletion-05/before/Open Notebook.onetoc2 differ
corpus/native-delete/deletion-05/before/synthetic.one created
Binary files /dev/null and b/corpus/native-delete/deletion-05/before/synthetic.one differ
corpus/native-delete/deletion-05/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one created+1
...@@ -0,0 +1 @@
1../../../cold-deletion-05/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one
\ No newline at end of file
corpus/native-delete/deletion-05/notebook/OneNote_RecycleBin/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/native-delete/deletion-05/notebook/OneNote_RecycleBin/Open Notebook.onetoc2 differ
corpus/native-delete/deletion-05/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/native-delete/deletion-05/notebook/Open Notebook.onetoc2 differ
corpus/native-delete/deletion-05/notebook/synthetic.one created+1
...@@ -0,0 +1 @@
1../../cold-deletion-05/notebook/synthetic.one
\ No newline at end of file
corpus/native-encrypted/cold-encrypted-02/notebook/Open Notebook.one created
Binary files /dev/null and b/corpus/native-encrypted/cold-encrypted-02/notebook/Open Notebook.one differ
corpus/native-encrypted/cold-encrypted-02/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/native-encrypted/cold-encrypted-02/notebook/Open Notebook.onetoc2 differ
corpus/native-encrypted/cold-encrypted-02/notebook/synthetic.one created
Binary files /dev/null and b/corpus/native-encrypted/cold-encrypted-02/notebook/synthetic.one differ
corpus/native-encrypted/cold-encrypted-02/read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment created+1
...@@ -0,0 +1 @@
1Fictitious attachment for native corpus.
\ No newline at end of file
corpus/native-encrypted/cold-encrypted-02/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{AD8774CA-4439-4E4C-8EF1-245F57E9EF5D}{1}{B0}" path="C:\one-tests\runs\cold-encrypted-02\notebook" lastModifiedTime="2026-09-05T06:04:26.000Z" color="#9595AA" isCurrentlyViewed="true"><one:Section name="synthetic" ID="{4C08A8E6-110F-0EFB-2689-97F336F79C5A}{1}{B0}" path="C:\one-tests\runs\cold-encrypted-02\notebook\synthetic.one" lastModifiedTime="2026-09-05T06:04:23.000Z" color="#8AA8E4" encrypted="true" isCurrentlyViewed="true"><one:Page ID="{C4157496-F80F-0371-2A7C-90850A14A044}{14}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T06:04:23.000Z" pageLevel="1" isCurrentlyViewed="true"/></one:Section><one:Section name="Open Notebook" ID="{F3BD1E6D-7715-43FC-8CB5-12EBED237E70}{1}{B0}" path="C:\one-tests\runs\cold-encrypted-02\notebook\Open Notebook.one" lastModifiedTime="2026-09-05T06:04:26.000Z" color="#AB9CB7"/></one:Notebook>
corpus/native-encrypted/cold-encrypted-02/read/page-000.xml created+8
...@@ -0,0 +1,8 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{C4157496-F80F-0371-2A7C-90850A14A044}{14}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T06:04:23.000Z" pageLevel="1" isCurrentlyViewed="true" selected="partial" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline selected="partial" author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{8682448A-9700-01A2-3B9E-B43BFFC473FA}{20}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren selected="partial"><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{8682448A-9700-01A2-3B9E-B43BFFC473FA}{19}{B0}" alignment="left" quickStyleIndex="0" selected="partial" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T selected="all"><![CDATA[]]></one:T><one:T style="font-size:11.0pt;color:#1F4E79"><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{8682448A-9700-01A2-3B9E-B43BFFC473FA}{25}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{8682448A-9700-01A2-3B9E-B43BFFC473FA}{24}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{8682448A-9700-01A2-3B9E-B43BFFC473FA}{34}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{8682448A-9700-01A2-3B9E-B43BFFC473FA}{27}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
8AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8682448A-9700-01A2-3B9E-B43BFFC473FA}{33}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8682448A-9700-01A2-3B9E-B43BFFC473FA}{32}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\chloe caruso\AppData\Local\Temp\OneNote\14.0\DNT\8722b1ff-e9f5-47ac-a873-6d5fcbde718b.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{8682448A-9700-01A2-3B9E-B43BFFC473FA}{44}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{8682448A-9700-01A2-3B9E-B43BFFC473FA}{43}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{8682448A-9700-01A2-3B9E-B43BFFC473FA}{42}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{8682448A-9700-01A2-3B9E-B43BFFC473FA}{41}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{8682448A-9700-01A2-3B9E-B43BFFC473FA}{40}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{8682448A-9700-01A2-3B9E-B43BFFC473FA}{39}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{8682448A-9700-01A2-3B9E-B43BFFC473FA}{37}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{8682448A-9700-01A2-3B9E-B43BFFC473FA}{36}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/native-encrypted/encrypted-01/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/native-encrypted/encrypted-01/notebook/Open Notebook.onetoc2 differ
corpus/native-encrypted/encrypted-01/notebook/synthetic.one created
Binary files /dev/null and b/corpus/native-encrypted/encrypted-01/notebook/synthetic.one differ
corpus/native-encrypted/manifest.json created+56
...@@ -0,0 +1,56 @@
1{
2 "captured_utc": "2026-09-05T06:05:21.931098+00:00",
3 "native_build": "14.0.7015.1000",
4 "source_fixture": "../native/20260905-05/snapshots/07-table/notebook",
5 "password": "fictitious-only",
6 "operations": [
7 "Fresh isolated cache; opened a disposable copy at C:\\one-tests\\runs\\encrypted-01\\notebook",
8 "Section context menu: Password Protect This Section; Set Password; Lock All; close UI and verify process exit",
9 "Fresh isolated cache at cold-encrypted-02; observed locked section; unlocked in UI with fixture password",
10 "read-current.ps1 -Root C:\\one-tests\\runs\\cold-encrypted-02 -ExpectedPages 1 -UseCurrentCache; exit 0",
11 "Closed UI and verified process exit"
12 ],
13 "files": [
14 {
15 "path": "cold-encrypted-02/notebook/Open Notebook.one",
16 "bytes": 3360,
17 "sha256": "f140e4d90d5cb3cc114864d09bf49a8864d0e2129d1ccb4d19f81d5e61789eb8"
18 },
19 {
20 "path": "cold-encrypted-02/notebook/Open Notebook.onetoc2",
21 "bytes": 5072,
22 "sha256": "8e662d3d07ad6d49c4a84ba3cd2092a293f40926ad5d373420b630a635b3c869"
23 },
24 {
25 "path": "cold-encrypted-02/notebook/synthetic.one",
26 "bytes": 17560,
27 "sha256": "7a6e519cc0ef8de10357ffd52a32bd94c33ea09d8e420ff2d0b216ed141ff695"
28 },
29 {
30 "path": "cold-encrypted-02/read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment",
31 "bytes": 43,
32 "sha256": "af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7"
33 },
34 {
35 "path": "cold-encrypted-02/read/hierarchy.xml",
36 "bytes": 1056,
37 "sha256": "4bd3bd85e825a869f6723e4c5a58c3098a681bb4056a84f88254136ac1dd3867"
38 },
39 {
40 "path": "cold-encrypted-02/read/page-000.xml",
41 "bytes": 5588,
42 "sha256": "6109c0d91b13a29df310ec5b9a3fdf9be3730fee1e889e48871622b6c447cf9e"
43 },
44 {
45 "path": "encrypted-01/notebook/Open Notebook.onetoc2",
46 "bytes": 4936,
47 "sha256": "9646f8eedc864b94ecbda3c0aacc5d979b9c1b8d35ad0738ea34863cb55dc90b"
48 },
49 {
50 "path": "encrypted-01/notebook/synthetic.one",
51 "bytes": 17560,
52 "sha256": "7a6e519cc0ef8de10357ffd52a32bd94c33ea09d8e420ff2d0b216ed141ff695"
53 }
54 ],
55 "native_observation": "The cold unlocked page contains one empty leading paragraph before the original four text paragraphs. This UI-produced state is part of the fixture oracle."
56}
corpus/native-ink/20260905-ui/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/native-ink/20260905-ui/notebook/Open Notebook.onetoc2 differ
corpus/native-ink/20260905-ui/notebook/synthetic.one created
Binary files /dev/null and b/corpus/native-ink/20260905-ui/notebook/synthetic.one differ
corpus/native-ink/cold-ui-ink/notebook/Open Notebook.one created
Binary files /dev/null and b/corpus/native-ink/cold-ui-ink/notebook/Open Notebook.one differ
corpus/native-ink/cold-ui-ink/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/native-ink/cold-ui-ink/notebook/Open Notebook.onetoc2 differ
corpus/native-ink/cold-ui-ink/notebook/synthetic.one created+1
...@@ -0,0 +1 @@
1../../20260905-ui/notebook/synthetic.one
\ No newline at end of file
corpus/native-ink/cold-ui-ink/read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment created+1
...@@ -0,0 +1 @@
1Fictitious attachment for native corpus.
\ No newline at end of file
corpus/native-ink/cold-ui-ink/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{FB19F9CC-DB45-4AEF-8BE7-4207367AB38C}{1}{B0}" path="C:\one-tests\runs\cold-ui-ink\notebook" lastModifiedTime="2026-09-05T05:12:47.000Z" color="#9595AA"><one:Section name="synthetic" ID="{31612912-3F4A-05E0-1F6D-22582F8A7AE2}{1}{B0}" path="C:\one-tests\runs\cold-ui-ink\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:12:47.000Z" color="#8AA8E4"><one:Page ID="{1D28DA94-B681-46F1-980A-8AC9D3B266FD}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section><one:Section name="Open Notebook" ID="{2B1C8CDD-462A-4BDE-BB8A-775238F65E47}{1}{B0}" path="C:\one-tests\runs\cold-ui-ink\notebook\Open Notebook.one" lastModifiedTime="2026-09-05T05:12:47.000Z" color="#F5F96F"/></one:Notebook>
corpus/native-ink/cold-ui-ink/read/page-000.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{1D28DA94-B681-46F1-980A-8AC9D3B266FD}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{7AE47228-FDF4-4547-97F8-06122C2E839C}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{7AE47228-FDF4-4547-97F8-06122C2E839C}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{58095EBA-A51C-4BF4-8A60-A49AECAEEE48}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{58095EBA-A51C-4BF4-8A60-A49AECAEEE48}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{2C54AE3D-4EA1-4F1A-8D4E-849A882267D5}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{2C54AE3D-4EA1-4F1A-8D4E-849A882267D5}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{117DC6B2-A83B-46B4-BB3E-2F6E644F2F5B}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{117DC6B2-A83B-46B4-BB3E-2F6E644F2F5B}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{9467DED2-6E43-4572-9E93-4890509EE068}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{9467DED2-6E43-4572-9E93-4890509EE068}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\chloe caruso\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{BAB8A782-0FD3-4EF2-819B-AAC578CD1B2E}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{BAB8A782-0FD3-4EF2-819B-AAC578CD1B2E}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{BAB8A782-0FD3-4EF2-819B-AAC578CD1B2E}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{BAB8A782-0FD3-4EF2-819B-AAC578CD1B2E}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{BAB8A782-0FD3-4EF2-819B-AAC578CD1B2E}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{BAB8A782-0FD3-4EF2-819B-AAC578CD1B2E}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{BAB8A782-0FD3-4EF2-819B-AAC578CD1B2E}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{BAB8A782-0FD3-4EF2-819B-AAC578CD1B2E}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/native/20260905-05/.native-corpus.json created+5
...@@ -0,0 +1,5 @@
1{
2 "format": "onenote-native-stage1-root-v1",
3 "root": "C:\\one-tests\\runs\\20260905-05",
4 "generated": true
5}
corpus/native/20260905-05/assets/fictitious-attachment.txt created+1
...@@ -0,0 +1 @@
1Fictitious attachment for native corpus.
\ No newline at end of file
corpus/native/20260905-05/assets/fictitious-image.png created
Binary files /dev/null and b/corpus/native/20260905-05/assets/fictitious-image.png differ
corpus/native/20260905-05/evidence/00-empty/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{D1F5A6FB-4A78-4C8A-87D0-3262527DD134}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook" lastModifiedTime="2026-09-05T05:06:53.000Z" color="#9595AA"><one:Section name="synthetic" ID="{8F2B1E24-1BCB-06DF-1A76-C3DADDCBC218}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:06:53.000Z" color="#8AA8E4"/></one:Notebook>
corpus/native/20260905-05/evidence/00-empty/native.json created+9
...@@ -0,0 +1,9 @@
1{
2 "fixture": "00-empty",
3 "notebook_id": "{D1F5A6FB-4A78-4C8A-87D0-3262527DD134}{1}{B0}",
4 "section_id": "{8F2B1E24-1BCB-06DF-1A76-C3DADDCBC218}{1}{B0}",
5 "hierarchy_file": "hierarchy.xml",
6 "pages": [
7
8 ]
9}
corpus/native/20260905-05/evidence/00-empty/reopened/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{80EC7AFC-536F-46CE-932F-B31F680CF2BD}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook" lastModifiedTime="2026-09-05T05:06:54.000Z" color="#9595AA"><one:Section name="synthetic" ID="{747EE904-56BC-0E83-2B6F-C99BBF8FA92F}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:06:54.000Z" color="#8AA8E4"/></one:Notebook>
corpus/native/20260905-05/evidence/00-empty/reopened/native.json created+8
...@@ -0,0 +1,8 @@
1{
2 "expected_page_count": 0,
3 "actual_page_count": 0,
4 "hierarchy_file": "hierarchy.xml",
5 "pages": [
6
7 ]
8}
corpus/native/20260905-05/evidence/01-blank-page/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{EB00B959-9882-45B1-908C-44DFF6F2B55A}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook" lastModifiedTime="2026-09-05T05:06:54.000Z" color="#9595AA"><one:Section name="synthetic" ID="{63B22DCB-CDA5-09EB-2BD2-88573B2DCA32}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:06:54.000Z" color="#8AA8E4"><one:Page ID="{4FFBDE4D-446E-4AFA-ACB5-20C6C715D62D}{1}{B0}" name="Untitled page" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:06:54.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/native/20260905-05/evidence/01-blank-page/native.json created+12
...@@ -0,0 +1,12 @@
1{
2 "fixture": "01-blank-page",
3 "notebook_id": "{EB00B959-9882-45B1-908C-44DFF6F2B55A}{1}{B0}",
4 "section_id": "{63B22DCB-CDA5-09EB-2BD2-88573B2DCA32}{1}{B0}",
5 "hierarchy_file": "hierarchy.xml",
6 "pages": [
7 {
8 "id": "{4FFBDE4D-446E-4AFA-ACB5-20C6C715D62D}{1}{B0}",
9 "file": "pages\\\\page-00.xml"
10 }
11 ]
12}
corpus/native/20260905-05/evidence/01-blank-page/pages/page-00.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{4FFBDE4D-446E-4AFA-ACB5-20C6C715D62D}{1}{B0}" name="Untitled page" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:06:54.000Z" pageLevel="1"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings></one:Page>
corpus/native/20260905-05/evidence/01-blank-page/reopened/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{2BEBEE9E-4409-456D-B6DA-1EA6BADED53F}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook" lastModifiedTime="2026-09-05T05:06:55.000Z" color="#9595AA"><one:Section name="synthetic" ID="{BD56F160-9A53-0D0E-174C-4DA53719C7FA}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:06:55.000Z" color="#8AA8E4"><one:Page ID="{911F02E6-1398-4E1F-902B-E534CB21DBE5}{1}{B0}" name="Untitled page" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/native/20260905-05/evidence/01-blank-page/reopened/native.json created+11
...@@ -0,0 +1,11 @@
1{
2 "expected_page_count": 1,
3 "actual_page_count": 1,
4 "hierarchy_file": "hierarchy.xml",
5 "pages": [
6 {
7 "id": "{911F02E6-1398-4E1F-902B-E534CB21DBE5}{1}{B0}",
8 "file": "pages\\\\page-00.xml"
9 }
10 ]
11}
corpus/native/20260905-05/evidence/01-blank-page/reopened/pages/page-00.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{911F02E6-1398-4E1F-902B-E534CB21DBE5}{1}{B0}" name="Untitled page" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" pageLevel="1"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings></one:Page>
corpus/native/20260905-05/evidence/02-text/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{58149BE9-F814-428F-BBD2-FC45BCC296CF}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook" lastModifiedTime="2026-09-05T05:06:55.000Z" color="#9595AA"><one:Section name="synthetic" ID="{54FFF47B-D5E8-0F67-0755-3A3C585D3E22}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:06:55.000Z" color="#8AA8E4"><one:Page ID="{78B607FD-5C23-4C76-8032-92ADA465223D}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/native/20260905-05/evidence/02-text/native.json created+12
...@@ -0,0 +1,12 @@
1{
2 "fixture": "02-text",
3 "notebook_id": "{58149BE9-F814-428F-BBD2-FC45BCC296CF}{1}{B0}",
4 "section_id": "{54FFF47B-D5E8-0F67-0755-3A3C585D3E22}{1}{B0}",
5 "hierarchy_file": "hierarchy.xml",
6 "pages": [
7 {
8 "id": "{78B607FD-5C23-4C76-8032-92ADA465223D}{1}{B0}",
9 "file": "pages\\\\page-00.xml"
10 }
11 ]
12}
corpus/native/20260905-05/evidence/02-text/pages/page-00.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{78B607FD-5C23-4C76-8032-92ADA465223D}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{1F7AAF41-1756-4FC0-8FC0-1E765BF9C75C}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{1F7AAF41-1756-4FC0-8FC0-1E765BF9C75C}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious plain text.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/native/20260905-05/evidence/02-text/reopened/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{FA2408D8-760F-4B00-8794-DF83984C07B0}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook" lastModifiedTime="2026-09-05T05:06:56.000Z" color="#9595AA"><one:Section name="synthetic" ID="{1DC7BDE2-5C1E-039A-3066-25192C6B7107}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:06:56.000Z" color="#8AA8E4"><one:Page ID="{318E4E64-D5D5-408B-B701-8D88D0536D18}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/native/20260905-05/evidence/02-text/reopened/native.json created+11
...@@ -0,0 +1,11 @@
1{
2 "expected_page_count": 1,
3 "actual_page_count": 1,
4 "hierarchy_file": "hierarchy.xml",
5 "pages": [
6 {
7 "id": "{318E4E64-D5D5-408B-B701-8D88D0536D18}{1}{B0}",
8 "file": "pages\\\\page-00.xml"
9 }
10 ]
11}
corpus/native/20260905-05/evidence/02-text/reopened/pages/page-00.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{318E4E64-D5D5-408B-B701-8D88D0536D18}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{5642E6D8-9EA0-433D-B8F3-01532FCF8879}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{5642E6D8-9EA0-433D-B8F3-01532FCF8879}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious plain text.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/native/20260905-05/evidence/03-format-unicode-before.xml created+1
...@@ -0,0 +1 @@
102-text/reopened/pages/page-00.xml
\ No newline at end of file
corpus/native/20260905-05/evidence/03-format-unicode/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{A0DD33AA-0468-4676-A6E5-B9ECBA4C63E4}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook" lastModifiedTime="2026-09-05T05:06:56.000Z" color="#9595AA"><one:Section name="synthetic" ID="{D2385CFB-76BF-0BC5-1733-3ED568CA6CA5}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:06:56.000Z" color="#8AA8E4"><one:Page ID="{FE71AF7D-FF74-48D4-9054-964494F270BA}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/native/20260905-05/evidence/03-format-unicode/native.json created+12
...@@ -0,0 +1,12 @@
1{
2 "fixture": "03-format-unicode",
3 "notebook_id": "{A0DD33AA-0468-4676-A6E5-B9ECBA4C63E4}{1}{B0}",
4 "section_id": "{D2385CFB-76BF-0BC5-1733-3ED568CA6CA5}{1}{B0}",
5 "hierarchy_file": "hierarchy.xml",
6 "pages": [
7 {
8 "id": "{FE71AF7D-FF74-48D4-9054-964494F270BA}{1}{B0}",
9 "file": "pages\\\\page-00.xml"
10 }
11 ]
12}
corpus/native/20260905-05/evidence/03-format-unicode/pages/page-00.xml created+7
...@@ -0,0 +1,7 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{FE71AF7D-FF74-48D4-9054-964494F270BA}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{99BD07C1-B401-4B62-9FA6-1A9F6B6E95DB}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{99BD07C1-B401-4B62-9FA6-1A9F6B6E95DB}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/native/20260905-05/evidence/03-format-unicode/reopened/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{4FF564B2-2F73-47D9-9140-0944C84A2A9F}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook" lastModifiedTime="2026-09-05T05:06:57.000Z" color="#9595AA"><one:Section name="synthetic" ID="{9041B3FC-6DA4-0E18-20EE-FECC0EE56EAF}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:06:57.000Z" color="#8AA8E4"><one:Page ID="{BC08407A-E46F-4D09-A789-565DF2DD72B0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/native/20260905-05/evidence/03-format-unicode/reopened/native.json created+11
...@@ -0,0 +1,11 @@
1{
2 "expected_page_count": 1,
3 "actual_page_count": 1,
4 "hierarchy_file": "hierarchy.xml",
5 "pages": [
6 {
7 "id": "{BC08407A-E46F-4D09-A789-565DF2DD72B0}{1}{B0}",
8 "file": "pages\\\\page-00.xml"
9 }
10 ]
11}
corpus/native/20260905-05/evidence/03-format-unicode/reopened/pages/page-00.xml created+7
...@@ -0,0 +1,7 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{BC08407A-E46F-4D09-A789-565DF2DD72B0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{DBC4E8C6-AF1A-4EBF-A87B-DA860D4197D1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{DBC4E8C6-AF1A-4EBF-A87B-DA860D4197D1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/native/20260905-05/evidence/04-positioned-outline/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{D8DBA7A8-AE6E-4BAF-B8D6-4829E1133A50}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook" lastModifiedTime="2026-09-05T05:06:57.000Z" color="#9595AA"><one:Section name="synthetic" ID="{02BC5154-D788-0AD7-1C4F-69A4CEC02CA7}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:06:57.000Z" color="#8AA8E4"><one:Page ID="{2EF5A2D2-5E43-49C6-9B28-C13532F830B8}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/native/20260905-05/evidence/04-positioned-outline/native.json created+12
...@@ -0,0 +1,12 @@
1{
2 "fixture": "04-positioned-outline",
3 "notebook_id": "{D8DBA7A8-AE6E-4BAF-B8D6-4829E1133A50}{1}{B0}",
4 "section_id": "{02BC5154-D788-0AD7-1C4F-69A4CEC02CA7}{1}{B0}",
5 "hierarchy_file": "hierarchy.xml",
6 "pages": [
7 {
8 "id": "{2EF5A2D2-5E43-49C6-9B28-C13532F830B8}{1}{B0}",
9 "file": "pages\\\\page-00.xml"
10 }
11 ]
12}
corpus/native/20260905-05/evidence/04-positioned-outline/pages/page-00.xml created+7
...@@ -0,0 +1,7 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{2EF5A2D2-5E43-49C6-9B28-C13532F830B8}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{49390A6E-1536-4A70-94DA-4DEECD64D5D9}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{49390A6E-1536-4A70-94DA-4DEECD64D5D9}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{1F89D67B-A663-402D-8E6C-CF6669683190}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{1F89D67B-A663-402D-8E6C-CF6669683190}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/native/20260905-05/evidence/04-positioned-outline/reopened/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{8F6D3029-F262-4184-8607-BB24A0DF2C89}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook" lastModifiedTime="2026-09-05T05:06:58.000Z" color="#9595AA"><one:Section name="synthetic" ID="{0A6B7693-584E-05A9-3A23-2DAC8B3992C3}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:06:58.000Z" color="#8AA8E4"><one:Page ID="{26228515-D185-46B8-BD44-853D77018EDC}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/native/20260905-05/evidence/04-positioned-outline/reopened/native.json created+11
...@@ -0,0 +1,11 @@
1{
2 "expected_page_count": 1,
3 "actual_page_count": 1,
4 "hierarchy_file": "hierarchy.xml",
5 "pages": [
6 {
7 "id": "{26228515-D185-46B8-BD44-853D77018EDC}{1}{B0}",
8 "file": "pages\\\\page-00.xml"
9 }
10 ]
11}
corpus/native/20260905-05/evidence/04-positioned-outline/reopened/pages/page-00.xml created+7
...@@ -0,0 +1,7 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{26228515-D185-46B8-BD44-853D77018EDC}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{41EE2DA9-9AF0-450E-B2B6-09E6889D6BBD}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{41EE2DA9-9AF0-450E-B2B6-09E6889D6BBD}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{175EF1BC-29A5-4F53-A800-8B6E2C918FF4}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{175EF1BC-29A5-4F53-A800-8B6E2C918FF4}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/native/20260905-05/evidence/05-image/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{48D3CF06-7D14-487B-88C3-F8E48BE1A121}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook" lastModifiedTime="2026-09-05T05:06:58.000Z" color="#9595AA"><one:Section name="synthetic" ID="{BDE7B8CE-74E2-0A61-198D-D2B08E3E4816}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:06:58.000Z" color="#8AA8E4"><one:Page ID="{91AE4B48-FD29-4970-9EEA-7A2172065409}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/native/20260905-05/evidence/05-image/native.json created+12
...@@ -0,0 +1,12 @@
1{
2 "fixture": "05-image",
3 "notebook_id": "{48D3CF06-7D14-487B-88C3-F8E48BE1A121}{1}{B0}",
4 "section_id": "{BDE7B8CE-74E2-0A61-198D-D2B08E3E4816}{1}{B0}",
5 "hierarchy_file": "hierarchy.xml",
6 "pages": [
7 {
8 "id": "{91AE4B48-FD29-4970-9EEA-7A2172065409}{1}{B0}",
9 "file": "pages\\\\page-00.xml"
10 }
11 ]
12}
corpus/native/20260905-05/evidence/05-image/pages/page-00.xml created+8
...@@ -0,0 +1,8 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{91AE4B48-FD29-4970-9EEA-7A2172065409}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{F662E3F4-B65C-4AC6-9118-F6FA8D9AB168}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{F662E3F4-B65C-4AC6-9118-F6FA8D9AB168}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{A0D23FE1-0509-409B-8BAE-747229965521}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{A0D23FE1-0509-409B-8BAE-747229965521}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{9DFB576E-E393-4935-BDDE-DF86C5FB1DAF}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{9DFB576E-E393-4935-BDDE-DF86C5FB1DAF}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
8AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/native/20260905-05/evidence/05-image/reopened/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{2564F4D2-105C-4565-8A9B-A60B80FC54F0}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook" lastModifiedTime="2026-09-05T05:06:59.000Z" color="#9595AA"><one:Section name="synthetic" ID="{99DBA74D-4FAA-05D5-3C73-4FAFA5B2BC03}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:06:59.000Z" color="#8AA8E4"><one:Page ID="{B59254CB-C661-46C4-BB14-E73E598AA01C}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/native/20260905-05/evidence/05-image/reopened/native.json created+11
...@@ -0,0 +1,11 @@
1{
2 "expected_page_count": 1,
3 "actual_page_count": 1,
4 "hierarchy_file": "hierarchy.xml",
5 "pages": [
6 {
7 "id": "{B59254CB-C661-46C4-BB14-E73E598AA01C}{1}{B0}",
8 "file": "pages\\\\page-00.xml"
9 }
10 ]
11}
corpus/native/20260905-05/evidence/05-image/reopened/pages/page-00.xml created+8
...@@ -0,0 +1,8 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B59254CB-C661-46C4-BB14-E73E598AA01C}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D25EFC77-8D14-4572-B4E6-6BE5A616457D}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D25EFC77-8D14-4572-B4E6-6BE5A616457D}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{84EE2062-3E41-4F2F-AE50-E96D021AA134}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{84EE2062-3E41-4F2F-AE50-E96D021AA134}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{B9C748ED-D8DB-4681-9820-4299EE77E9BA}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{B9C748ED-D8DB-4681-9820-4299EE77E9BA}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
8AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/native/20260905-05/evidence/06-attachment/attachment.txt created+1
...@@ -0,0 +1 @@
1../../assets/fictitious-attachment.txt
\ No newline at end of file
corpus/native/20260905-05/evidence/06-attachment/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{97320152-F16F-4B23-9EE4-DAB12780CFC4}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook" lastModifiedTime="2026-09-05T05:06:59.000Z" color="#9595AA"><one:Section name="synthetic" ID="{DBB044A3-E570-06B3-04CF-BDFD9C8021D8}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:06:59.000Z" color="#8AA8E4"><one:Page ID="{F7F9B725-6CBB-45A2-83A8-156C60B83DC7}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/native/20260905-05/evidence/06-attachment/native.json created+12
...@@ -0,0 +1,12 @@
1{
2 "fixture": "06-attachment",
3 "notebook_id": "{97320152-F16F-4B23-9EE4-DAB12780CFC4}{1}{B0}",
4 "section_id": "{DBB044A3-E570-06B3-04CF-BDFD9C8021D8}{1}{B0}",
5 "hierarchy_file": "hierarchy.xml",
6 "pages": [
7 {
8 "id": "{F7F9B725-6CBB-45A2-83A8-156C60B83DC7}{1}{B0}",
9 "file": "pages\\\\page-00.xml"
10 }
11 ]
12}
corpus/native/20260905-05/evidence/06-attachment/pages/page-00.xml created+8
...@@ -0,0 +1,8 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{F7F9B725-6CBB-45A2-83A8-156C60B83DC7}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{90351F99-27CE-4614-8C5A-99B79F24D8A6}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{90351F99-27CE-4614-8C5A-99B79F24D8A6}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{C685C38C-949B-4C49-96EC-1B3F3B283CEF}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{C685C38C-949B-4C49-96EC-1B3F3B283CEF}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{FBACAB03-7201-45E7-A09C-B0CBD7457461}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{FBACAB03-7201-45E7-A09C-B0CBD7457461}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
8AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{7EB6B363-B479-4621-8531-D735E394BB52}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{7EB6B363-B479-4621-8531-D735E394BB52}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\chloe caruso\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/native/20260905-05/evidence/06-attachment/reopened/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{6E4BD2A7-26FC-4985-94A3-8ECC2081F131}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook" lastModifiedTime="2026-09-05T05:07:00.000Z" color="#9595AA"><one:Section name="synthetic" ID="{DB3BABAD-5F9C-0532-30E4-8A9D163690C8}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:07:00.000Z" color="#8AA8E4"><one:Page ID="{F772582B-D657-4623-B783-220CEA0E8CD7}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/native/20260905-05/evidence/06-attachment/reopened/native.json created+11
...@@ -0,0 +1,11 @@
1{
2 "expected_page_count": 1,
3 "actual_page_count": 1,
4 "hierarchy_file": "hierarchy.xml",
5 "pages": [
6 {
7 "id": "{F772582B-D657-4623-B783-220CEA0E8CD7}{1}{B0}",
8 "file": "pages\\\\page-00.xml"
9 }
10 ]
11}
corpus/native/20260905-05/evidence/06-attachment/reopened/pages/page-00.xml created+8
...@@ -0,0 +1,8 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{F772582B-D657-4623-B783-220CEA0E8CD7}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{90BEF097-9D22-4595-B871-AED7159269B6}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{90BEF097-9D22-4595-B871-AED7159269B6}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{C60E2C82-2E77-4FC8-A2C7-2C5FB19E8DFF}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{C60E2C82-2E77-4FC8-A2C7-2C5FB19E8DFF}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{FB27440D-C8ED-4666-94B7-87AB5DF3C571}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{FB27440D-C8ED-4666-94B7-87AB5DF3C571}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
8AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{7E3D5C6D-0E95-45A0-B11A-E05569220A42}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{7E3D5C6D-0E95-45A0-B11A-E05569220A42}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\chloe caruso\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/native/20260905-05/evidence/07-table/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{FF086732-4968-4A51-8C01-5EDFE6DA8207}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook" lastModifiedTime="2026-09-05T05:07:00.000Z" color="#9595AA"><one:Section name="synthetic" ID="{11D22281-460E-0999-06F6-9BFE9C650DEB}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:07:00.000Z" color="#8AA8E4"><one:Page ID="{3D9BD107-CFC5-4A88-8191-336F605D11F4}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/native/20260905-05/evidence/07-table/native.json created+12
...@@ -0,0 +1,12 @@
1{
2 "fixture": "07-table",
3 "notebook_id": "{FF086732-4968-4A51-8C01-5EDFE6DA8207}{1}{B0}",
4 "section_id": "{11D22281-460E-0999-06F6-9BFE9C650DEB}{1}{B0}",
5 "hierarchy_file": "hierarchy.xml",
6 "pages": [
7 {
8 "id": "{3D9BD107-CFC5-4A88-8191-336F605D11F4}{1}{B0}",
9 "file": "pages\\\\page-00.xml"
10 }
11 ]
12}
corpus/native/20260905-05/evidence/07-table/pages/page-00.xml created+8
...@@ -0,0 +1,8 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{3D9BD107-CFC5-4A88-8191-336F605D11F4}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{5A5779BB-84B0-493E-8E63-BFB49FC1F495}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{5A5779BB-84B0-493E-8E63-BFB49FC1F495}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{0CE7A5AE-37E5-4363-94D5-3D3C3BCD10DC}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{0CE7A5AE-37E5-4363-94D5-3D3C3BCD10DC}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{31CECD21-D17F-4ACD-A2A5-96C8D7A05852}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{31CECD21-D17F-4ACD-A2A5-96C8D7A05852}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
8AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{B4D4D541-1707-490B-8708-F136E3719761}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{B4D4D541-1707-490B-8708-F136E3719761}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\chloe caruso\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{9A0BAC11-7697-428B-9800-1363CB226C27}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{9A0BAC11-7697-428B-9800-1363CB226C27}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{9A0BAC11-7697-428B-9800-1363CB226C27}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{9A0BAC11-7697-428B-9800-1363CB226C27}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{9A0BAC11-7697-428B-9800-1363CB226C27}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{9A0BAC11-7697-428B-9800-1363CB226C27}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{9A0BAC11-7697-428B-9800-1363CB226C27}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{9A0BAC11-7697-428B-9800-1363CB226C27}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/native/20260905-05/evidence/07-table/reopened/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{FF93F995-F8D1-4378-98BA-17D0BE52B0CF}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook" lastModifiedTime="2026-09-05T05:07:01.000Z" color="#9595AA"><one:Section name="synthetic" ID="{0E6E067E-8A30-0475-0412-897099CDA222}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:07:01.000Z" color="#8AA8E4"><one:Page ID="{2227F5F8-03FB-4764-8375-21E165F5BE3D}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:07:01.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/native/20260905-05/evidence/07-table/reopened/native.json created+11
...@@ -0,0 +1,11 @@
1{
2 "expected_page_count": 1,
3 "actual_page_count": 1,
4 "hierarchy_file": "hierarchy.xml",
5 "pages": [
6 {
7 "id": "{2227F5F8-03FB-4764-8375-21E165F5BE3D}{1}{B0}",
8 "file": "pages\\\\page-00.xml"
9 }
10 ]
11}
corpus/native/20260905-05/evidence/07-table/reopened/pages/page-00.xml created+8
...@@ -0,0 +1,8 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{2227F5F8-03FB-4764-8375-21E165F5BE3D}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:07:01.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{45EB5D44-488E-44D2-8C87-AD3A9A695B5C}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{45EB5D44-488E-44D2-8C87-AD3A9A695B5C}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{135B8151-FBDB-4E8F-9631-2FB23E65BF15}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{135B8151-FBDB-4E8F-9631-2FB23E65BF15}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{2E72E9DE-1D41-4721-A041-8446D208F79B}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{2E72E9DE-1D41-4721-A041-8446D208F79B}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
8AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{AB68F1BE-DB39-44E7-85EC-E3B8E6D938A8}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{AB68F1BE-DB39-44E7-85EC-E3B8E6D938A8}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\chloe caruso\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{85B788EE-BAA9-4F67-9AE4-01EDCE8AC3EE}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{85B788EE-BAA9-4F67-9AE4-01EDCE8AC3EE}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{85B788EE-BAA9-4F67-9AE4-01EDCE8AC3EE}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{85B788EE-BAA9-4F67-9AE4-01EDCE8AC3EE}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{85B788EE-BAA9-4F67-9AE4-01EDCE8AC3EE}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{85B788EE-BAA9-4F67-9AE4-01EDCE8AC3EE}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{85B788EE-BAA9-4F67-9AE4-01EDCE8AC3EE}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{85B788EE-BAA9-4F67-9AE4-01EDCE8AC3EE}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/native/20260905-05/evidence/08-onepkg/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{C8EE19AD-91E0-41CA-85E4-E878444124CF}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook" lastModifiedTime="2026-09-05T05:07:02.000Z" color="#9595AA"><one:Section name="synthetic" ID="{C492F1FE-F062-01AA-3B64-DA544197518C}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:07:02.000Z" color="#8AA8E4"><one:Page ID="{E8DB0278-79A9-42BB-BC03-72C5BDAF4D93}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:07:02.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/native/20260905-05/evidence/08-onepkg/native.json created+12
...@@ -0,0 +1,12 @@
1{
2 "fixture": "08-onepkg",
3 "notebook_id": "{C8EE19AD-91E0-41CA-85E4-E878444124CF}{1}{B0}",
4 "section_id": "{C492F1FE-F062-01AA-3B64-DA544197518C}{1}{B0}",
5 "hierarchy_file": "hierarchy.xml",
6 "pages": [
7 {
8 "id": "{E8DB0278-79A9-42BB-BC03-72C5BDAF4D93}{1}{B0}",
9 "file": "pages\\\\page-00.xml"
10 }
11 ]
12}
corpus/native/20260905-05/evidence/08-onepkg/pages/page-00.xml created+8
...@@ -0,0 +1,8 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E8DB0278-79A9-42BB-BC03-72C5BDAF4D93}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:07:02.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{8F17AAC4-32DC-410D-B3F1-FE1E4233A8F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{8F17AAC4-32DC-410D-B3F1-FE1E4233A8F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{D9A776D1-8189-4B50-A947-7C96E63F4CBB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{D9A776D1-8189-4B50-A947-7C96E63F4CBB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{E48E1E5E-6713-42FE-9F37-D7620A520435}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{E48E1E5E-6713-42FE-9F37-D7620A520435}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
8AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{6194063E-A16B-4138-BA9A-B09C3E83CB06}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{6194063E-A16B-4138-BA9A-B09C3E83CB06}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\chloe caruso\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{4F4B7F6E-C0FB-4AB8-A592-52C916D03040}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{4F4B7F6E-C0FB-4AB8-A592-52C916D03040}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{4F4B7F6E-C0FB-4AB8-A592-52C916D03040}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{4F4B7F6E-C0FB-4AB8-A592-52C916D03040}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{4F4B7F6E-C0FB-4AB8-A592-52C916D03040}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{4F4B7F6E-C0FB-4AB8-A592-52C916D03040}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{4F4B7F6E-C0FB-4AB8-A592-52C916D03040}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{4F4B7F6E-C0FB-4AB8-A592-52C916D03040}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/native/20260905-05/evidence/08-onepkg/reopened/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{CB79D4B5-DEB0-4C2C-A11A-398AC498FECD}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook" lastModifiedTime="2026-09-05T05:07:03.000Z" color="#9595AA"><one:Section name="synthetic" ID="{77410FF4-E3F4-0474-3B47-9BCA70B7258D}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:07:03.000Z" color="#8AA8E4"><one:Page ID="{5B08FC72-6A3F-4765-BC20-335B8C8F3992}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:07:03.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/native/20260905-05/evidence/08-onepkg/reopened/native.json created+11
...@@ -0,0 +1,11 @@
1{
2 "expected_page_count": 1,
3 "actual_page_count": 1,
4 "hierarchy_file": "hierarchy.xml",
5 "pages": [
6 {
7 "id": "{5B08FC72-6A3F-4765-BC20-335B8C8F3992}{1}{B0}",
8 "file": "pages\\\\page-00.xml"
9 }
10 ]
11}
corpus/native/20260905-05/evidence/08-onepkg/reopened/pages/page-00.xml created+8
...@@ -0,0 +1,8 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{5B08FC72-6A3F-4765-BC20-335B8C8F3992}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:07:03.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{3CC454CE-214A-44D3-B3D2-BF807313DCF3}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{3CC454CE-214A-44D3-B3D2-BF807313DCF3}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{6A7488DB-921F-4E8E-A964-3D08D71F38BA}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{6A7488DB-921F-4E8E-A964-3D08D71F38BA}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{575DE054-7485-4720-9F14-96FC3B727034}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{575DE054-7485-4720-9F14-96FC3B727034}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
8AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{D247F834-B2FD-44E6-BAB9-F1020FA3BF07}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{D247F834-B2FD-44E6-BAB9-F1020FA3BF07}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\chloe caruso\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{FC988164-D36D-4F66-A5B1-135727F04441}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{FC988164-D36D-4F66-A5B1-135727F04441}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{FC988164-D36D-4F66-A5B1-135727F04441}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{FC988164-D36D-4F66-A5B1-135727F04441}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{FC988164-D36D-4F66-A5B1-135727F04441}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{FC988164-D36D-4F66-A5B1-135727F04441}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{FC988164-D36D-4F66-A5B1-135727F04441}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{FC988164-D36D-4F66-A5B1-135727F04441}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/native/20260905-05/inputs/02-text.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{911F02E6-1398-4E1F-902B-E534CB21DBE5}{1}{B0}"><one:Outline><one:OEChildren><one:OE><one:T><![CDATA[Fictitious plain text.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/native/20260905-05/inputs/03-format-unicode.xml created+1
...@@ -0,0 +1 @@
1<one:Page ID="{318E4E64-D5D5-408B-B701-8D88D0536D18}{1}{B0}" xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote"><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{5642E6D8-9EA0-433D-B8F3-01532FCF8879}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0" /><one:Size width="127.5136947631836" height="13.42771625518799" /><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{5642E6D8-9EA0-433D-B8F3-01532FCF8879}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11.0pt;font-weight:bold;color:#1F4E79">Fictitious: café, 東京, مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/native/20260905-05/inputs/04-positioned-outline.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{BC08407A-E46F-4D09-A789-565DF2DD72B0}{1}{B0}"><one:Outline><one:Position x="144" y="96"/><one:Size width="260" height="72"/><one:OEChildren><one:OE><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/native/20260905-05/inputs/05-image.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{26228515-D185-46B8-BD44-853D77018EDC}{1}{B0}"><one:Outline><one:Position x="144" y="192"/><one:Size width="96" height="96"/><one:OEChildren><one:OE><one:Image format="png"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoAAAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/native/20260905-05/inputs/06-attachment.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B59254CB-C661-46C4-BB14-E73E598AA01C}{1}{B0}"><one:Outline><one:Position x="264" y="192"/><one:OEChildren><one:OE><one:InsertedFile pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/native/20260905-05/inputs/07-table.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{F772582B-D657-4623-B783-220CEA0E8CD7}{1}{B0}"><one:Outline><one:Position x="144" y="312"/><one:OEChildren><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="37.11"/><one:Column index="1" width="37.11"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/native/20260905-05/manifest.json created+132
...@@ -0,0 +1,132 @@
1{
2 "format": "onenote-native-stage1-v1",
3 "status": "completed",
4 "root": "C:\\one-tests\\runs\\20260905-05",
5 "created_at_utc": "2026-09-05T05:06:51.6546507Z",
6 "office": {
7 "prog_id": "OneNote.Application",
8 "clsid": "{D7FAC39E-7FF1-49AA-98CF-A1DDD316337E}",
9 "local_server": "C:\\PROGRA~1\\MICROS~1\\Office14\\ONENOTE.EXE",
10 "executable": "C:\\PROGRA~1\\MICROS~1\\Office14\\ONENOTE.EXE",
11 "file_version": "14.0.7015.1000",
12 "xml_schema": "xs2010",
13 "xml_schema_value": 1,
14 "xml_namespace": "http://schemas.microsoft.com/office/onenote/2010/onenote"
15 },
16 "harness": {
17 "source_path": "C:\\one-tests\\corpus-current.ps1",
18 "source_sha256": "2cd9906d578377b1a5e17fe92048feb7042936e38c00009a7b07850deee080d6"
19 },
20 "notebook": {
21 "path": "notebook",
22 "section": "synthetic.one"
23 },
24 "fixtures": [
25 {
26 "name": "00-empty",
27 "status": "captured",
28 "description": "New notebook and section.",
29 "at_utc": "2026-09-05T05:06:54.3238034Z",
30 "details": {
31 "evidence": "evidence\\00-empty",
32 "reopened_evidence": "evidence\\00-empty\\reopened",
33 "snapshot": "snapshots\\00-empty"
34 }
35 },
36 {
37 "name": "01-blank-page",
38 "status": "captured",
39 "description": "Blank page with no title.",
40 "at_utc": "2026-09-05T05:06:55.3868642Z",
41 "details": {
42 "evidence": "evidence\\01-blank-page",
43 "reopened_evidence": "evidence\\01-blank-page\\reopened",
44 "snapshot": "snapshots\\01-blank-page"
45 }
46 },
47 {
48 "name": "02-text",
49 "status": "captured",
50 "description": "Plain text outline.",
51 "at_utc": "2026-09-05T05:06:56.2119114Z",
52 "details": {
53 "evidence": "evidence\\02-text",
54 "reopened_evidence": "evidence\\02-text\\reopened",
55 "snapshot": "snapshots\\02-text"
56 }
57 },
58 {
59 "name": "03-format-unicode",
60 "status": "captured",
61 "description": "Formatted Unicode text replacing the fetched outline.",
62 "at_utc": "2026-09-05T05:06:57.3769780Z",
63 "details": {
64 "evidence": "evidence\\03-format-unicode",
65 "reopened_evidence": "evidence\\03-format-unicode\\reopened",
66 "snapshot": "snapshots\\03-format-unicode"
67 }
68 },
69 {
70 "name": "04-positioned-outline",
71 "status": "captured",
72 "description": "Positioned text outline.",
73 "at_utc": "2026-09-05T05:06:58.2790296Z",
74 "details": {
75 "evidence": "evidence\\04-positioned-outline",
76 "reopened_evidence": "evidence\\04-positioned-outline\\reopened",
77 "snapshot": "snapshots\\04-positioned-outline"
78 }
79 },
80 {
81 "name": "05-image",
82 "status": "captured",
83 "description": "Generated PNG in a positioned outline.",
84 "at_utc": "2026-09-05T05:06:59.3880930Z",
85 "details": {
86 "evidence": "evidence\\05-image",
87 "reopened_evidence": "evidence\\05-image\\reopened",
88 "snapshot": "snapshots\\05-image"
89 }
90 },
91 {
92 "name": "06-attachment",
93 "status": "captured",
94 "description": "Generated attachment in a positioned outline.",
95 "at_utc": "2026-09-05T05:07:00.4511539Z",
96 "details": {
97 "evidence": "evidence\\06-attachment",
98 "reopened_evidence": "evidence\\06-attachment\\reopened",
99 "snapshot": "snapshots\\06-attachment"
100 }
101 },
102 {
103 "name": "07-table",
104 "status": "captured",
105 "description": "Two-cell native table.",
106 "at_utc": "2026-09-05T05:07:01.4212093Z",
107 "details": {
108 "evidence": "evidence\\07-table",
109 "reopened_evidence": "evidence\\07-table\\reopened",
110 "snapshot": "snapshots\\07-table"
111 }
112 },
113 {
114 "name": "08-onepkg",
115 "status": "captured",
116 "description": "Published OneNote package.",
117 "at_utc": "2026-09-05T05:07:03.4253240Z",
118 "details": {
119 "capture": {
120 "evidence": "evidence\\08-onepkg",
121 "reopened_evidence": "evidence\\08-onepkg\\reopened",
122 "snapshot": "snapshots\\08-onepkg"
123 },
124 "bytes": 4564,
125 "sha256": "3ab9a28370cce2548d74c5d2e57af80c4e046bd847bbd770b46ab39eab81cc2e",
126 "package": "notebook.onepkg"
127 }
128 }
129 ],
130 "operation_log": "operation-log.jsonl",
131 "completed_at_utc": "2026-09-05T05:07:03.4673264Z"
132}
corpus/native/20260905-05/notebook.onepkg created
Binary files /dev/null and b/corpus/native/20260905-05/notebook.onepkg differ
corpus/native/20260905-05/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/native/20260905-05/notebook/Open Notebook.onetoc2 differ
corpus/native/20260905-05/notebook/synthetic.one created
Binary files /dev/null and b/corpus/native/20260905-05/notebook/synthetic.one differ
corpus/native/20260905-05/operation-log.jsonl created+101
...@@ -0,0 +1,101 @@
1{"at_utc":"2026-09-05T05:06:52.3796922Z","fixture":"","action":"connect_com","details":{"prog_id":"OneNote.Application","schema":1}}
2{"at_utc":"2026-09-05T05:06:52.4216946Z","fixture":"","action":"generate_assets","details":{"image":"assets\\fictitious-image.png","attachment":"assets\\fictitious-attachment.txt"}}
3{"at_utc":"2026-09-05T05:06:52.4326952Z","fixture":"00-empty","action":"begin_fixture","details":{"description":"New notebook and section."}}
4{"at_utc":"2026-09-05T05:06:52.6047051Z","fixture":"00-empty","action":"create_notebook_section","details":{"path":"C:\\one-tests\\runs\\20260905-05\\notebook","notebook_id":"{2D70D1EA-76FA-4896-9B5E-F9BB582364DB}{1}{B0}","section_id":"{1EA20A4B-1B17-4366-B87E-DA1D0DFC7A6B}{1}{B0}"}}
5{"at_utc":"2026-09-05T05:06:52.8707203Z","fixture":"00-empty","action":"sync_hierarchy","details":{"notebook_id":"{2D70D1EA-76FA-4896-9B5E-F9BB582364DB}{1}{B0}","phase":"stabilize"}}
6{"at_utc":"2026-09-05T05:06:52.9447245Z","fixture":"00-empty","action":"close_notebook","details":{"phase":"stabilize","notebook_id":"{2D70D1EA-76FA-4896-9B5E-F9BB582364DB}{1}{B0}","confirmed":true}}
7{"at_utc":"2026-09-05T05:06:53.2587425Z","fixture":"00-empty","action":"copy_snapshot","details":{"file_count":2,"byte_count":8832,"sha256":"82f0f4c011de271c0ce91a385e38e09950b58f2ae08713e570ca71d4d09f5d0a"}}
8{"at_utc":"2026-09-05T05:06:53.8387756Z","fixture":"","action":"open_notebook","details":{"path":"C:\\one-tests\\runs\\20260905-05\\notebook","expected_page_count":0,"notebook_id":"{D1F5A6FB-4A78-4C8A-87D0-3262527DD134}{1}{B0}","actual_page_count":0}}
9{"at_utc":"2026-09-05T05:06:53.8997791Z","fixture":"00-empty","action":"capture_native_api","details":{"schema":1,"page_count":0}}
10{"at_utc":"2026-09-05T05:06:53.9047794Z","fixture":"00-empty","action":"sync_hierarchy","details":{"notebook_id":"{D1F5A6FB-4A78-4C8A-87D0-3262527DD134}{1}{B0}","phase":"persist"}}
11{"at_utc":"2026-09-05T05:06:53.9307809Z","fixture":"00-empty","action":"close_notebook","details":{"phase":"persist","notebook_id":"{D1F5A6FB-4A78-4C8A-87D0-3262527DD134}{1}{B0}","confirmed":true}}
12{"at_utc":"2026-09-05T05:06:54.2858012Z","fixture":"","action":"open_notebook","details":{"path":"C:\\one-tests\\runs\\20260905-05\\notebook","expected_page_count":0,"notebook_id":"{80EC7AFC-536F-46CE-932F-B31F680CF2BD}{1}{B0}","actual_page_count":0}}
13{"at_utc":"2026-09-05T05:06:54.3028022Z","fixture":"00-empty","action":"reopen_ready","details":{"expected_page_count":0,"actual_page_count":0}}
14{"at_utc":"2026-09-05T05:06:54.3378042Z","fixture":"01-blank-page","action":"begin_fixture","details":{"description":"Blank page with no title."}}
15{"at_utc":"2026-09-05T05:06:54.3858069Z","fixture":"01-blank-page","action":"create_new_page","details":{"style":"npsBlankPageNoTitle","page_id":"{58371A82-DF77-4D92-AC08-610A43B7B530}{1}{B0}","value":2}}
16{"at_utc":"2026-09-05T05:06:54.4508107Z","fixture":"01-blank-page","action":"sync_hierarchy","details":{"notebook_id":"{80EC7AFC-536F-46CE-932F-B31F680CF2BD}{1}{B0}","phase":"stabilize"}}
17{"at_utc":"2026-09-05T05:06:54.5848183Z","fixture":"01-blank-page","action":"close_notebook","details":{"phase":"stabilize","notebook_id":"{80EC7AFC-536F-46CE-932F-B31F680CF2BD}{1}{B0}","confirmed":true}}
18{"at_utc":"2026-09-05T05:06:54.6398215Z","fixture":"01-blank-page","action":"copy_snapshot","details":{"file_count":2,"byte_count":12824,"sha256":"d7d7380c3e7861b2cc6ed59b4e548e860a75f80d8c186b381134bb47af3617df"}}
19{"at_utc":"2026-09-05T05:06:54.9818410Z","fixture":"","action":"open_notebook","details":{"path":"C:\\one-tests\\runs\\20260905-05\\notebook","expected_page_count":1,"notebook_id":"{EB00B959-9882-45B1-908C-44DFF6F2B55A}{1}{B0}","actual_page_count":1}}
20{"at_utc":"2026-09-05T05:06:55.0178431Z","fixture":"01-blank-page","action":"capture_native_api","details":{"schema":1,"page_count":1}}
21{"at_utc":"2026-09-05T05:06:55.0218433Z","fixture":"01-blank-page","action":"sync_hierarchy","details":{"notebook_id":"{EB00B959-9882-45B1-908C-44DFF6F2B55A}{1}{B0}","phase":"persist"}}
22{"at_utc":"2026-09-05T05:06:55.0428445Z","fixture":"01-blank-page","action":"close_notebook","details":{"phase":"persist","notebook_id":"{EB00B959-9882-45B1-908C-44DFF6F2B55A}{1}{B0}","confirmed":true}}
23{"at_utc":"2026-09-05T05:06:55.3348612Z","fixture":"","action":"open_notebook","details":{"path":"C:\\one-tests\\runs\\20260905-05\\notebook","expected_page_count":1,"notebook_id":"{2BEBEE9E-4409-456D-B6DA-1EA6BADED53F}{1}{B0}","actual_page_count":1}}
24{"at_utc":"2026-09-05T05:06:55.3828640Z","fixture":"01-blank-page","action":"reopen_ready","details":{"expected_page_count":1,"actual_page_count":1}}
25{"at_utc":"2026-09-05T05:06:55.3918645Z","fixture":"02-text","action":"begin_fixture","details":{"description":"Plain text outline."}}
26{"at_utc":"2026-09-05T05:06:55.5818753Z","fixture":"02-text","action":"update_page_content","details":{"input":"inputs\\\\02-text.xml","page_id":"{911F02E6-1398-4E1F-902B-E534CB21DBE5}{1}{B0}","kind":"plain_text_outline"}}
27{"at_utc":"2026-09-05T05:06:55.6258779Z","fixture":"02-text","action":"sync_hierarchy","details":{"notebook_id":"{2BEBEE9E-4409-456D-B6DA-1EA6BADED53F}{1}{B0}","phase":"stabilize"}}
28{"at_utc":"2026-09-05T05:06:55.7138829Z","fixture":"02-text","action":"close_notebook","details":{"phase":"stabilize","notebook_id":"{2BEBEE9E-4409-456D-B6DA-1EA6BADED53F}{1}{B0}","confirmed":true}}
29{"at_utc":"2026-09-05T05:06:55.7688860Z","fixture":"02-text","action":"copy_snapshot","details":{"file_count":2,"byte_count":16624,"sha256":"2d1c92b20e08b36ff4bf98314e3d214a4944430e0a0b0901423428da3f44d9f2"}}
30{"at_utc":"2026-09-05T05:06:56.0979049Z","fixture":"","action":"open_notebook","details":{"path":"C:\\one-tests\\runs\\20260905-05\\notebook","expected_page_count":1,"notebook_id":"{58149BE9-F814-428F-BBD2-FC45BCC296CF}{1}{B0}","actual_page_count":1}}
31{"at_utc":"2026-09-05T05:06:56.1149058Z","fixture":"02-text","action":"capture_native_api","details":{"schema":1,"page_count":1}}
32{"at_utc":"2026-09-05T05:06:56.1189061Z","fixture":"02-text","action":"sync_hierarchy","details":{"notebook_id":"{58149BE9-F814-428F-BBD2-FC45BCC296CF}{1}{B0}","phase":"persist"}}
33{"at_utc":"2026-09-05T05:06:56.1369071Z","fixture":"02-text","action":"close_notebook","details":{"phase":"persist","notebook_id":"{58149BE9-F814-428F-BBD2-FC45BCC296CF}{1}{B0}","confirmed":true}}
34{"at_utc":"2026-09-05T05:06:56.1919102Z","fixture":"","action":"open_notebook","details":{"path":"C:\\one-tests\\runs\\20260905-05\\notebook","expected_page_count":1,"notebook_id":"{FA2408D8-760F-4B00-8794-DF83984C07B0}{1}{B0}","actual_page_count":1}}
35{"at_utc":"2026-09-05T05:06:56.2079112Z","fixture":"02-text","action":"reopen_ready","details":{"expected_page_count":1,"actual_page_count":1}}
36{"at_utc":"2026-09-05T05:06:56.2169117Z","fixture":"03-format-unicode","action":"begin_fixture","details":{"description":"Formatted Unicode text replacing the fetched outline."}}
37{"at_utc":"2026-09-05T05:06:56.4879272Z","fixture":"03-format-unicode","action":"update_page_content","details":{"input":"inputs\\\\03-format-unicode.xml","page_id":"{318E4E64-D5D5-408B-B701-8D88D0536D18}{1}{B0}","object_id":"{5642E6D8-9EA0-433D-B8F3-01532FCF8879}{10}{B0}","kind":"full_outline_replace"}}
38{"at_utc":"2026-09-05T05:06:56.5289295Z","fixture":"03-format-unicode","action":"sync_hierarchy","details":{"notebook_id":"{FA2408D8-760F-4B00-8794-DF83984C07B0}{1}{B0}","phase":"stabilize"}}
39{"at_utc":"2026-09-05T05:06:56.6189347Z","fixture":"03-format-unicode","action":"close_notebook","details":{"phase":"stabilize","notebook_id":"{FA2408D8-760F-4B00-8794-DF83984C07B0}{1}{B0}","confirmed":true}}
40{"at_utc":"2026-09-05T05:06:56.6709376Z","fixture":"03-format-unicode","action":"copy_snapshot","details":{"file_count":2,"byte_count":19544,"sha256":"18f0f9cbe70375c370bc35fb0f1e56514e3f09da26e4a18b30e8c5db932a6eb1"}}
41{"at_utc":"2026-09-05T05:06:56.9729549Z","fixture":"","action":"open_notebook","details":{"path":"C:\\one-tests\\runs\\20260905-05\\notebook","expected_page_count":1,"notebook_id":"{A0DD33AA-0468-4676-A6E5-B9ECBA4C63E4}{1}{B0}","actual_page_count":1}}
42{"at_utc":"2026-09-05T05:06:56.9939561Z","fixture":"03-format-unicode","action":"capture_native_api","details":{"schema":1,"page_count":1}}
43{"at_utc":"2026-09-05T05:06:56.9979563Z","fixture":"03-format-unicode","action":"sync_hierarchy","details":{"notebook_id":"{A0DD33AA-0468-4676-A6E5-B9ECBA4C63E4}{1}{B0}","phase":"persist"}}
44{"at_utc":"2026-09-05T05:06:57.0179575Z","fixture":"03-format-unicode","action":"close_notebook","details":{"phase":"persist","notebook_id":"{A0DD33AA-0468-4676-A6E5-B9ECBA4C63E4}{1}{B0}","confirmed":true}}
45{"at_utc":"2026-09-05T05:06:57.3319754Z","fixture":"","action":"open_notebook","details":{"path":"C:\\one-tests\\runs\\20260905-05\\notebook","expected_page_count":1,"notebook_id":"{4FF564B2-2F73-47D9-9140-0944C84A2A9F}{1}{B0}","actual_page_count":1}}
46{"at_utc":"2026-09-05T05:06:57.3729778Z","fixture":"03-format-unicode","action":"reopen_ready","details":{"expected_page_count":1,"actual_page_count":1}}
47{"at_utc":"2026-09-05T05:06:57.3819783Z","fixture":"04-positioned-outline","action":"begin_fixture","details":{"description":"Positioned text outline."}}
48{"at_utc":"2026-09-05T05:06:57.4279809Z","fixture":"04-positioned-outline","action":"update_page_content","details":{"y":96,"page_id":"{BC08407A-E46F-4D09-A789-565DF2DD72B0}{1}{B0}","input":"inputs\\\\04-positioned-outline.xml","x":144}}
49{"at_utc":"2026-09-05T05:06:57.4559825Z","fixture":"04-positioned-outline","action":"sync_hierarchy","details":{"notebook_id":"{4FF564B2-2F73-47D9-9140-0944C84A2A9F}{1}{B0}","phase":"stabilize"}}
50{"at_utc":"2026-09-05T05:06:57.5229864Z","fixture":"04-positioned-outline","action":"close_notebook","details":{"phase":"stabilize","notebook_id":"{4FF564B2-2F73-47D9-9140-0944C84A2A9F}{1}{B0}","confirmed":true}}
51{"at_utc":"2026-09-05T05:06:57.5799896Z","fixture":"04-positioned-outline","action":"copy_snapshot","details":{"file_count":2,"byte_count":20368,"sha256":"95446de023992c6dd8557d57c9992eca81565b14fc7b664f8865e0f725ce2e5a"}}
52{"at_utc":"2026-09-05T05:06:57.8840070Z","fixture":"","action":"open_notebook","details":{"path":"C:\\one-tests\\runs\\20260905-05\\notebook","expected_page_count":1,"notebook_id":"{D8DBA7A8-AE6E-4BAF-B8D6-4829E1133A50}{1}{B0}","actual_page_count":1}}
53{"at_utc":"2026-09-05T05:06:57.9010080Z","fixture":"04-positioned-outline","action":"capture_native_api","details":{"schema":1,"page_count":1}}
54{"at_utc":"2026-09-05T05:06:57.9050082Z","fixture":"04-positioned-outline","action":"sync_hierarchy","details":{"notebook_id":"{D8DBA7A8-AE6E-4BAF-B8D6-4829E1133A50}{1}{B0}","phase":"persist"}}
55{"at_utc":"2026-09-05T05:06:57.9240093Z","fixture":"04-positioned-outline","action":"close_notebook","details":{"phase":"persist","notebook_id":"{D8DBA7A8-AE6E-4BAF-B8D6-4829E1133A50}{1}{B0}","confirmed":true}}
56{"at_utc":"2026-09-05T05:06:58.2330270Z","fixture":"","action":"open_notebook","details":{"path":"C:\\one-tests\\runs\\20260905-05\\notebook","expected_page_count":1,"notebook_id":"{8F6D3029-F262-4184-8607-BB24A0DF2C89}{1}{B0}","actual_page_count":1}}
57{"at_utc":"2026-09-05T05:06:58.2750294Z","fixture":"04-positioned-outline","action":"reopen_ready","details":{"expected_page_count":1,"actual_page_count":1}}
58{"at_utc":"2026-09-05T05:06:58.2850300Z","fixture":"05-image","action":"begin_fixture","details":{"description":"Generated PNG in a positioned outline."}}
59{"at_utc":"2026-09-05T05:06:58.3830356Z","fixture":"05-image","action":"update_page_content","details":{"y":192,"input":"inputs\\\\05-image.xml","page_id":"{26228515-D185-46B8-BD44-853D77018EDC}{1}{B0}","asset":"assets\\fictitious-image.png","x":144}}
60{"at_utc":"2026-09-05T05:06:58.4830413Z","fixture":"05-image","action":"sync_hierarchy","details":{"notebook_id":"{8F6D3029-F262-4184-8607-BB24A0DF2C89}{1}{B0}","phase":"stabilize"}}
61{"at_utc":"2026-09-05T05:06:58.5210435Z","fixture":"05-image","action":"close_notebook","details":{"phase":"stabilize","notebook_id":"{8F6D3029-F262-4184-8607-BB24A0DF2C89}{1}{B0}","confirmed":true}}
62{"at_utc":"2026-09-05T05:06:58.6090485Z","fixture":"05-image","action":"copy_snapshot","details":{"file_count":2,"byte_count":22960,"sha256":"f0954ac3b586c8372b7f8da0821c668364ccb591aabbd2b59ebd431ede713245"}}
63{"at_utc":"2026-09-05T05:06:59.0050711Z","fixture":"","action":"open_notebook","details":{"path":"C:\\one-tests\\runs\\20260905-05\\notebook","expected_page_count":1,"notebook_id":"{48D3CF06-7D14-487B-88C3-F8E48BE1A121}{1}{B0}","actual_page_count":1}}
64{"at_utc":"2026-09-05T05:06:59.0230722Z","fixture":"05-image","action":"capture_native_api","details":{"schema":1,"page_count":1}}
65{"at_utc":"2026-09-05T05:06:59.0270724Z","fixture":"05-image","action":"sync_hierarchy","details":{"notebook_id":"{48D3CF06-7D14-487B-88C3-F8E48BE1A121}{1}{B0}","phase":"persist"}}
66{"at_utc":"2026-09-05T05:06:59.0470735Z","fixture":"05-image","action":"close_notebook","details":{"phase":"persist","notebook_id":"{48D3CF06-7D14-487B-88C3-F8E48BE1A121}{1}{B0}","confirmed":true}}
67{"at_utc":"2026-09-05T05:06:59.3650917Z","fixture":"","action":"open_notebook","details":{"path":"C:\\one-tests\\runs\\20260905-05\\notebook","expected_page_count":1,"notebook_id":"{2564F4D2-105C-4565-8A9B-A60B80FC54F0}{1}{B0}","actual_page_count":1}}
68{"at_utc":"2026-09-05T05:06:59.3840928Z","fixture":"05-image","action":"reopen_ready","details":{"expected_page_count":1,"actual_page_count":1}}
69{"at_utc":"2026-09-05T05:06:59.3950934Z","fixture":"06-attachment","action":"begin_fixture","details":{"description":"Generated attachment in a positioned outline."}}
70{"at_utc":"2026-09-05T05:06:59.6001052Z","fixture":"06-attachment","action":"update_page_content","details":{"y":192,"input":"inputs\\\\06-attachment.xml","page_id":"{B59254CB-C661-46C4-BB14-E73E598AA01C}{1}{B0}","asset":"assets\\fictitious-attachment.txt","x":264}}
71{"at_utc":"2026-09-05T05:06:59.6331071Z","fixture":"06-attachment","action":"sync_hierarchy","details":{"notebook_id":"{2564F4D2-105C-4565-8A9B-A60B80FC54F0}{1}{B0}","phase":"stabilize"}}
72{"at_utc":"2026-09-05T05:06:59.6811098Z","fixture":"06-attachment","action":"close_notebook","details":{"phase":"stabilize","notebook_id":"{2564F4D2-105C-4565-8A9B-A60B80FC54F0}{1}{B0}","confirmed":true}}
73{"at_utc":"2026-09-05T05:06:59.7351129Z","fixture":"06-attachment","action":"copy_snapshot","details":{"file_count":2,"byte_count":26048,"sha256":"a295434c5907913601c5299febb9b24aab9e54665be11cc0f6ecceb7c0cf5a96"}}
74{"at_utc":"2026-09-05T05:07:00.0421305Z","fixture":"","action":"open_notebook","details":{"path":"C:\\one-tests\\runs\\20260905-05\\notebook","expected_page_count":1,"notebook_id":"{97320152-F16F-4B23-9EE4-DAB12780CFC4}{1}{B0}","actual_page_count":1}}
75{"at_utc":"2026-09-05T05:07:00.0671319Z","fixture":"06-attachment","action":"capture_attachment_cache","details":{"bytes":43}}
76{"at_utc":"2026-09-05T05:07:00.0991337Z","fixture":"06-attachment","action":"capture_native_api","details":{"schema":1,"page_count":1}}
77{"at_utc":"2026-09-05T05:07:00.1031339Z","fixture":"06-attachment","action":"sync_hierarchy","details":{"notebook_id":"{97320152-F16F-4B23-9EE4-DAB12780CFC4}{1}{B0}","phase":"persist"}}
78{"at_utc":"2026-09-05T05:07:00.1221350Z","fixture":"06-attachment","action":"close_notebook","details":{"phase":"persist","notebook_id":"{97320152-F16F-4B23-9EE4-DAB12780CFC4}{1}{B0}","confirmed":true}}
79{"at_utc":"2026-09-05T05:07:00.4291526Z","fixture":"","action":"open_notebook","details":{"path":"C:\\one-tests\\runs\\20260905-05\\notebook","expected_page_count":1,"notebook_id":"{6E4BD2A7-26FC-4985-94A3-8ECC2081F131}{1}{B0}","actual_page_count":1}}
80{"at_utc":"2026-09-05T05:07:00.4471536Z","fixture":"06-attachment","action":"reopen_ready","details":{"expected_page_count":1,"actual_page_count":1}}
81{"at_utc":"2026-09-05T05:07:00.4571542Z","fixture":"07-table","action":"begin_fixture","details":{"description":"Two-cell native table."}}
82{"at_utc":"2026-09-05T05:07:00.5621602Z","fixture":"07-table","action":"update_page_content","details":{"y":312,"kind":"two_cell_table","page_id":"{F772582B-D657-4623-B783-220CEA0E8CD7}{1}{B0}","input":"inputs\\\\07-table.xml","x":144}}
83{"at_utc":"2026-09-05T05:07:00.6081628Z","fixture":"07-table","action":"sync_hierarchy","details":{"notebook_id":"{6E4BD2A7-26FC-4985-94A3-8ECC2081F131}{1}{B0}","phase":"stabilize"}}
84{"at_utc":"2026-09-05T05:07:00.6761667Z","fixture":"07-table","action":"close_notebook","details":{"phase":"stabilize","notebook_id":"{6E4BD2A7-26FC-4985-94A3-8ECC2081F131}{1}{B0}","confirmed":true}}
85{"at_utc":"2026-09-05T05:07:00.7301698Z","fixture":"07-table","action":"copy_snapshot","details":{"file_count":2,"byte_count":28304,"sha256":"6bcc61b560f2f32595a5fd8311c58c8ba5417b6ae182d99f73f274181583f9e3"}}
86{"at_utc":"2026-09-05T05:07:01.0431877Z","fixture":"","action":"open_notebook","details":{"path":"C:\\one-tests\\runs\\20260905-05\\notebook","expected_page_count":1,"notebook_id":"{FF086732-4968-4A51-8C01-5EDFE6DA8207}{1}{B0}","actual_page_count":1}}
87{"at_utc":"2026-09-05T05:07:01.0601887Z","fixture":"07-table","action":"capture_native_api","details":{"schema":1,"page_count":1}}
88{"at_utc":"2026-09-05T05:07:01.0641889Z","fixture":"07-table","action":"sync_hierarchy","details":{"notebook_id":"{FF086732-4968-4A51-8C01-5EDFE6DA8207}{1}{B0}","phase":"persist"}}
89{"at_utc":"2026-09-05T05:07:01.0831900Z","fixture":"07-table","action":"close_notebook","details":{"phase":"persist","notebook_id":"{FF086732-4968-4A51-8C01-5EDFE6DA8207}{1}{B0}","confirmed":true}}
90{"at_utc":"2026-09-05T05:07:01.3982080Z","fixture":"","action":"open_notebook","details":{"path":"C:\\one-tests\\runs\\20260905-05\\notebook","expected_page_count":1,"notebook_id":"{FF93F995-F8D1-4378-98BA-17D0BE52B0CF}{1}{B0}","actual_page_count":1}}
91{"at_utc":"2026-09-05T05:07:01.4172091Z","fixture":"07-table","action":"reopen_ready","details":{"expected_page_count":1,"actual_page_count":1}}
92{"at_utc":"2026-09-05T05:07:02.5242724Z","fixture":"08-onepkg","action":"sync_hierarchy","details":{"notebook_id":"{FF93F995-F8D1-4378-98BA-17D0BE52B0CF}{1}{B0}","phase":"stabilize"}}
93{"at_utc":"2026-09-05T05:07:02.5472737Z","fixture":"08-onepkg","action":"close_notebook","details":{"phase":"stabilize","notebook_id":"{FF93F995-F8D1-4378-98BA-17D0BE52B0CF}{1}{B0}","confirmed":true}}
94{"at_utc":"2026-09-05T05:07:02.6012768Z","fixture":"08-onepkg","action":"copy_snapshot","details":{"file_count":2,"byte_count":28304,"sha256":"6bcc61b560f2f32595a5fd8311c58c8ba5417b6ae182d99f73f274181583f9e3"}}
95{"at_utc":"2026-09-05T05:07:02.9682978Z","fixture":"","action":"open_notebook","details":{"path":"C:\\one-tests\\runs\\20260905-05\\notebook","expected_page_count":1,"notebook_id":"{C8EE19AD-91E0-41CA-85E4-E878444124CF}{1}{B0}","actual_page_count":1}}
96{"at_utc":"2026-09-05T05:07:02.9902991Z","fixture":"08-onepkg","action":"capture_native_api","details":{"schema":1,"page_count":1}}
97{"at_utc":"2026-09-05T05:07:02.9952994Z","fixture":"08-onepkg","action":"sync_hierarchy","details":{"notebook_id":"{C8EE19AD-91E0-41CA-85E4-E878444124CF}{1}{B0}","phase":"persist"}}
98{"at_utc":"2026-09-05T05:07:03.0133004Z","fixture":"08-onepkg","action":"close_notebook","details":{"phase":"persist","notebook_id":"{C8EE19AD-91E0-41CA-85E4-E878444124CF}{1}{B0}","confirmed":true}}
99{"at_utc":"2026-09-05T05:07:03.3783213Z","fixture":"","action":"open_notebook","details":{"path":"C:\\one-tests\\runs\\20260905-05\\notebook","expected_page_count":1,"notebook_id":"{CB79D4B5-DEB0-4C2C-A11A-398AC498FECD}{1}{B0}","actual_page_count":1}}
100{"at_utc":"2026-09-05T05:07:03.4213237Z","fixture":"08-onepkg","action":"reopen_ready","details":{"expected_page_count":1,"actual_page_count":1}}
101{"at_utc":"2026-09-05T05:07:03.4353245Z","fixture":"08-onepkg","action":"publish_package","details":{"bytes":4564,"sha256":"3ab9a28370cce2548d74c5d2e57af80c4e046bd847bbd770b46ab39eab81cc2e","package":"notebook.onepkg"}}
corpus/native/20260905-05/snapshots/00-empty/notebook/Open Notebook.onetoc2 created+1
...@@ -0,0 +1 @@
1../../../notebook/Open Notebook.onetoc2
\ No newline at end of file
corpus/native/20260905-05/snapshots/00-empty/notebook/synthetic.one created
Binary files /dev/null and b/corpus/native/20260905-05/snapshots/00-empty/notebook/synthetic.one differ
corpus/native/20260905-05/snapshots/00-empty/snapshot.json created+29
...@@ -0,0 +1,29 @@
1{
2 "source_before": {
3 "file_count": 2,
4 "byte_count": 8832,
5 "sha256": "82f0f4c011de271c0ce91a385e38e09950b58f2ae08713e570ca71d4d09f5d0a"
6 },
7 "copied": {
8 "file_count": 2,
9 "byte_count": 8832,
10 "sha256": "82f0f4c011de271c0ce91a385e38e09950b58f2ae08713e570ca71d4d09f5d0a"
11 },
12 "source_after": {
13 "file_count": 2,
14 "byte_count": 8832,
15 "sha256": "82f0f4c011de271c0ce91a385e38e09950b58f2ae08713e570ca71d4d09f5d0a"
16 },
17 "files": [
18 {
19 "path": "Open Notebook.onetoc2",
20 "bytes": 4816,
21 "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa"
22 },
23 {
24 "path": "synthetic.one",
25 "bytes": 4016,
26 "sha256": "c68a53117d80b3acde6b789e67d17e6dcd360ab1bc6571e521082ab181fa1682"
27 }
28 ]
29}
corpus/native/20260905-05/snapshots/01-blank-page/notebook/Open Notebook.onetoc2 created+1
...@@ -0,0 +1 @@
1../../../notebook/Open Notebook.onetoc2
\ No newline at end of file
corpus/native/20260905-05/snapshots/01-blank-page/notebook/synthetic.one created
Binary files /dev/null and b/corpus/native/20260905-05/snapshots/01-blank-page/notebook/synthetic.one differ
corpus/native/20260905-05/snapshots/01-blank-page/snapshot.json created+29
...@@ -0,0 +1,29 @@
1{
2 "source_before": {
3 "file_count": 2,
4 "byte_count": 12824,
5 "sha256": "d7d7380c3e7861b2cc6ed59b4e548e860a75f80d8c186b381134bb47af3617df"
6 },
7 "copied": {
8 "file_count": 2,
9 "byte_count": 12824,
10 "sha256": "d7d7380c3e7861b2cc6ed59b4e548e860a75f80d8c186b381134bb47af3617df"
11 },
12 "source_after": {
13 "file_count": 2,
14 "byte_count": 12824,
15 "sha256": "d7d7380c3e7861b2cc6ed59b4e548e860a75f80d8c186b381134bb47af3617df"
16 },
17 "files": [
18 {
19 "path": "Open Notebook.onetoc2",
20 "bytes": 4816,
21 "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa"
22 },
23 {
24 "path": "synthetic.one",
25 "bytes": 8008,
26 "sha256": "2a726875c73b0de5827e3bf66fc810d66418622c1e35d43dcf1e96f948f7fbc3"
27 }
28 ]
29}
corpus/native/20260905-05/snapshots/02-text/notebook/Open Notebook.onetoc2 created+1
...@@ -0,0 +1 @@
1../../../notebook/Open Notebook.onetoc2
\ No newline at end of file
corpus/native/20260905-05/snapshots/02-text/notebook/synthetic.one created
Binary files /dev/null and b/corpus/native/20260905-05/snapshots/02-text/notebook/synthetic.one differ
corpus/native/20260905-05/snapshots/02-text/snapshot.json created+29
...@@ -0,0 +1,29 @@
1{
2 "source_before": {
3 "file_count": 2,
4 "byte_count": 16624,
5 "sha256": "2d1c92b20e08b36ff4bf98314e3d214a4944430e0a0b0901423428da3f44d9f2"
6 },
7 "copied": {
8 "file_count": 2,
9 "byte_count": 16624,
10 "sha256": "2d1c92b20e08b36ff4bf98314e3d214a4944430e0a0b0901423428da3f44d9f2"
11 },
12 "source_after": {
13 "file_count": 2,
14 "byte_count": 16624,
15 "sha256": "2d1c92b20e08b36ff4bf98314e3d214a4944430e0a0b0901423428da3f44d9f2"
16 },
17 "files": [
18 {
19 "path": "Open Notebook.onetoc2",
20 "bytes": 4816,
21 "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa"
22 },
23 {
24 "path": "synthetic.one",
25 "bytes": 11808,
26 "sha256": "2237e5fdfeb8d71410b585159bdfb6724599f40dfcda2795794d8e1e47a20058"
27 }
28 ]
29}
corpus/native/20260905-05/snapshots/03-format-unicode/notebook/Open Notebook.onetoc2 created+1
...@@ -0,0 +1 @@
1../../../notebook/Open Notebook.onetoc2
\ No newline at end of file
corpus/native/20260905-05/snapshots/03-format-unicode/notebook/synthetic.one created
Binary files /dev/null and b/corpus/native/20260905-05/snapshots/03-format-unicode/notebook/synthetic.one differ
corpus/native/20260905-05/snapshots/03-format-unicode/snapshot.json created+29
...@@ -0,0 +1,29 @@
1{
2 "source_before": {
3 "file_count": 2,
4 "byte_count": 19544,
5 "sha256": "18f0f9cbe70375c370bc35fb0f1e56514e3f09da26e4a18b30e8c5db932a6eb1"
6 },
7 "copied": {
8 "file_count": 2,
9 "byte_count": 19544,
10 "sha256": "18f0f9cbe70375c370bc35fb0f1e56514e3f09da26e4a18b30e8c5db932a6eb1"
11 },
12 "source_after": {
13 "file_count": 2,
14 "byte_count": 19544,
15 "sha256": "18f0f9cbe70375c370bc35fb0f1e56514e3f09da26e4a18b30e8c5db932a6eb1"
16 },
17 "files": [
18 {
19 "path": "Open Notebook.onetoc2",
20 "bytes": 4816,
21 "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa"
22 },
23 {
24 "path": "synthetic.one",
25 "bytes": 14728,
26 "sha256": "65299c48ccd7d0c59a09f1fc9f770e45611bf8fa14f89ddf1b0aedbbab5ef7fe"
27 }
28 ]
29}
corpus/native/20260905-05/snapshots/04-positioned-outline/notebook/Open Notebook.onetoc2 created+1
...@@ -0,0 +1 @@
1../../../notebook/Open Notebook.onetoc2
\ No newline at end of file
corpus/native/20260905-05/snapshots/04-positioned-outline/notebook/synthetic.one created
Binary files /dev/null and b/corpus/native/20260905-05/snapshots/04-positioned-outline/notebook/synthetic.one differ
corpus/native/20260905-05/snapshots/04-positioned-outline/snapshot.json created+29
...@@ -0,0 +1,29 @@
1{
2 "source_before": {
3 "file_count": 2,
4 "byte_count": 20368,
5 "sha256": "95446de023992c6dd8557d57c9992eca81565b14fc7b664f8865e0f725ce2e5a"
6 },
7 "copied": {
8 "file_count": 2,
9 "byte_count": 20368,
10 "sha256": "95446de023992c6dd8557d57c9992eca81565b14fc7b664f8865e0f725ce2e5a"
11 },
12 "source_after": {
13 "file_count": 2,
14 "byte_count": 20368,
15 "sha256": "95446de023992c6dd8557d57c9992eca81565b14fc7b664f8865e0f725ce2e5a"
16 },
17 "files": [
18 {
19 "path": "Open Notebook.onetoc2",
20 "bytes": 4816,
21 "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa"
22 },
23 {
24 "path": "synthetic.one",
25 "bytes": 15552,
26 "sha256": "291ba06c6c9ac3ff79fab0e91410610db4d2bed5762dd515eba96386715b1f61"
27 }
28 ]
29}
corpus/native/20260905-05/snapshots/05-image/notebook/Open Notebook.onetoc2 created+1
...@@ -0,0 +1 @@
1../../../notebook/Open Notebook.onetoc2
\ No newline at end of file
corpus/native/20260905-05/snapshots/05-image/notebook/synthetic.one created
Binary files /dev/null and b/corpus/native/20260905-05/snapshots/05-image/notebook/synthetic.one differ
corpus/native/20260905-05/snapshots/05-image/snapshot.json created+29
...@@ -0,0 +1,29 @@
1{
2 "source_before": {
3 "file_count": 2,
4 "byte_count": 22960,
5 "sha256": "f0954ac3b586c8372b7f8da0821c668364ccb591aabbd2b59ebd431ede713245"
6 },
7 "copied": {
8 "file_count": 2,
9 "byte_count": 22960,
10 "sha256": "f0954ac3b586c8372b7f8da0821c668364ccb591aabbd2b59ebd431ede713245"
11 },
12 "source_after": {
13 "file_count": 2,
14 "byte_count": 22960,
15 "sha256": "f0954ac3b586c8372b7f8da0821c668364ccb591aabbd2b59ebd431ede713245"
16 },
17 "files": [
18 {
19 "path": "Open Notebook.onetoc2",
20 "bytes": 4816,
21 "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa"
22 },
23 {
24 "path": "synthetic.one",
25 "bytes": 18144,
26 "sha256": "67e662d4bbe765f407ddfce226d635d945be2a1a9b2ba7a4b93ca32375c32b8a"
27 }
28 ]
29}
corpus/native/20260905-05/snapshots/06-attachment/notebook/Open Notebook.onetoc2 created+1
...@@ -0,0 +1 @@
1../../../notebook/Open Notebook.onetoc2
\ No newline at end of file
corpus/native/20260905-05/snapshots/06-attachment/notebook/synthetic.one created
Binary files /dev/null and b/corpus/native/20260905-05/snapshots/06-attachment/notebook/synthetic.one differ
corpus/native/20260905-05/snapshots/06-attachment/snapshot.json created+29
...@@ -0,0 +1,29 @@
1{
2 "source_before": {
3 "file_count": 2,
4 "byte_count": 26048,
5 "sha256": "a295434c5907913601c5299febb9b24aab9e54665be11cc0f6ecceb7c0cf5a96"
6 },
7 "copied": {
8 "file_count": 2,
9 "byte_count": 26048,
10 "sha256": "a295434c5907913601c5299febb9b24aab9e54665be11cc0f6ecceb7c0cf5a96"
11 },
12 "source_after": {
13 "file_count": 2,
14 "byte_count": 26048,
15 "sha256": "a295434c5907913601c5299febb9b24aab9e54665be11cc0f6ecceb7c0cf5a96"
16 },
17 "files": [
18 {
19 "path": "Open Notebook.onetoc2",
20 "bytes": 4816,
21 "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa"
22 },
23 {
24 "path": "synthetic.one",
25 "bytes": 21232,
26 "sha256": "75980a1130e35dcb7a913936c63bbbb70c5499bb260a3fc4f718bc89360e5516"
27 }
28 ]
29}
corpus/native/20260905-05/snapshots/07-table/notebook/Open Notebook.onetoc2 created+1
...@@ -0,0 +1 @@
1../../../notebook/Open Notebook.onetoc2
\ No newline at end of file
corpus/native/20260905-05/snapshots/07-table/notebook/synthetic.one created+1
...@@ -0,0 +1 @@
1../../../notebook/synthetic.one
\ No newline at end of file
corpus/native/20260905-05/snapshots/07-table/snapshot.json created+29
...@@ -0,0 +1,29 @@
1{
2 "source_before": {
3 "file_count": 2,
4 "byte_count": 28304,
5 "sha256": "6bcc61b560f2f32595a5fd8311c58c8ba5417b6ae182d99f73f274181583f9e3"
6 },
7 "copied": {
8 "file_count": 2,
9 "byte_count": 28304,
10 "sha256": "6bcc61b560f2f32595a5fd8311c58c8ba5417b6ae182d99f73f274181583f9e3"
11 },
12 "source_after": {
13 "file_count": 2,
14 "byte_count": 28304,
15 "sha256": "6bcc61b560f2f32595a5fd8311c58c8ba5417b6ae182d99f73f274181583f9e3"
16 },
17 "files": [
18 {
19 "path": "Open Notebook.onetoc2",
20 "bytes": 4816,
21 "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa"
22 },
23 {
24 "path": "synthetic.one",
25 "bytes": 23488,
26 "sha256": "65ac8ff8421e424a7ac05599284ca66cbcdbec131dce4c21700b2e65d89d0925"
27 }
28 ]
29}
corpus/native/20260905-05/snapshots/08-onepkg/notebook/Open Notebook.onetoc2 created+1
...@@ -0,0 +1 @@
1../../../notebook/Open Notebook.onetoc2
\ No newline at end of file
corpus/native/20260905-05/snapshots/08-onepkg/notebook/synthetic.one created+1
...@@ -0,0 +1 @@
1../../../notebook/synthetic.one
\ No newline at end of file
corpus/native/20260905-05/snapshots/08-onepkg/snapshot.json created+1
...@@ -0,0 +1 @@
1../07-table/snapshot.json
\ No newline at end of file
corpus/native/cold-05-00-empty/notebook/Open Notebook.one created
Binary files /dev/null and b/corpus/native/cold-05-00-empty/notebook/Open Notebook.one differ
corpus/native/cold-05-00-empty/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/native/cold-05-00-empty/notebook/Open Notebook.onetoc2 differ
corpus/native/cold-05-00-empty/notebook/synthetic.one created+1
...@@ -0,0 +1 @@
1../../20260905-05/snapshots/00-empty/notebook/synthetic.one
\ No newline at end of file
corpus/native/cold-05-00-empty/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{D8DF2E54-F2BE-443B-AFC3-4E98C7C136EC}{1}{B0}" path="C:\one-tests\runs\cold-05-00-empty\notebook" lastModifiedTime="2026-09-05T05:08:07.000Z" color="#9595AA"><one:Section name="Open Notebook" ID="{9FF18190-2946-49CC-96B4-2FF088871DA5}{1}{B0}" path="C:\one-tests\runs\cold-05-00-empty\notebook\Open Notebook.one" lastModifiedTime="2026-09-05T05:08:07.000Z" color="#B7C997"/></one:Notebook>
corpus/native/cold-05-01-blank-page/notebook/Open Notebook.one created
Binary files /dev/null and b/corpus/native/cold-05-01-blank-page/notebook/Open Notebook.one differ
corpus/native/cold-05-01-blank-page/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/native/cold-05-01-blank-page/notebook/Open Notebook.onetoc2 differ
corpus/native/cold-05-01-blank-page/notebook/synthetic.one created+1
...@@ -0,0 +1 @@
1../../20260905-05/snapshots/01-blank-page/notebook/synthetic.one
\ No newline at end of file
corpus/native/cold-05-01-blank-page/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{E4BB350F-CAC6-4681-B13C-9BEC16FD73EF}{1}{B0}" path="C:\one-tests\runs\cold-05-01-blank-page\notebook" lastModifiedTime="2026-09-05T05:08:23.000Z" color="#9595AA"><one:Section name="synthetic" ID="{F7C9E19F-C37F-0AAC-0780-AB5FA6833FD7}{1}{B0}" path="C:\one-tests\runs\cold-05-01-blank-page\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:08:23.000Z" color="#8AA8E4"><one:Page ID="{DB801219-4AB4-49BD-80E7-03CE5ABB23C8}{1}{B0}" name="Untitled page" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:08:23.000Z" pageLevel="1"/></one:Section><one:Section name="Open Notebook" ID="{56969E73-9AE1-4355-9C7A-7EEFB1960031}{1}{B0}" path="C:\one-tests\runs\cold-05-01-blank-page\notebook\Open Notebook.one" lastModifiedTime="2026-09-05T05:08:23.000Z" color="#EE9597"/></one:Notebook>
corpus/native/cold-05-01-blank-page/read/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{DB801219-4AB4-49BD-80E7-03CE5ABB23C8}{1}{B0}" name="Untitled page" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:08:23.000Z" pageLevel="1"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings></one:Page>
corpus/native/cold-05-02-text/notebook/Open Notebook.one created
Binary files /dev/null and b/corpus/native/cold-05-02-text/notebook/Open Notebook.one differ
corpus/native/cold-05-02-text/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/native/cold-05-02-text/notebook/Open Notebook.onetoc2 differ
corpus/native/cold-05-02-text/notebook/synthetic.one created+1
...@@ -0,0 +1 @@
1../../20260905-05/snapshots/02-text/notebook/synthetic.one
\ No newline at end of file
corpus/native/cold-05-02-text/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{BCBA6B9E-371D-40AB-98E1-9580FF57CC15}{1}{B0}" path="C:\one-tests\runs\cold-05-02-text\notebook" lastModifiedTime="2026-09-05T05:08:45.000Z" color="#9595AA"><one:Section name="synthetic" ID="{D98337C5-BE77-044F-29CC-BC4052B57372}{1}{B0}" path="C:\one-tests\runs\cold-05-02-text\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:08:45.000Z" color="#8AA8E4"><one:Page ID="{F5CAC443-37BC-475E-AEAB-14D1AE8D6F6D}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:08:45.000Z" pageLevel="1"/></one:Section><one:Section name="Open Notebook" ID="{C3605E97-C2D3-40F7-80A1-9EB51B5120B7}{1}{B0}" path="C:\one-tests\runs\cold-05-02-text\notebook\Open Notebook.one" lastModifiedTime="2026-09-05T05:08:44.000Z" color="#B49EDE"/></one:Notebook>
corpus/native/cold-05-02-text/read/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{F5CAC443-37BC-475E-AEAB-14D1AE8D6F6D}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:08:45.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{92066CFF-7CC9-44E8-A159-980A51118A0C}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{92066CFF-7CC9-44E8-A159-980A51118A0C}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious plain text.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/native/cold-05-03-format-unicode/notebook/Open Notebook.one created
Binary files /dev/null and b/corpus/native/cold-05-03-format-unicode/notebook/Open Notebook.one differ
corpus/native/cold-05-03-format-unicode/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/native/cold-05-03-format-unicode/notebook/Open Notebook.onetoc2 differ
corpus/native/cold-05-03-format-unicode/notebook/synthetic.one created+1
...@@ -0,0 +1 @@
1../../20260905-05/snapshots/03-format-unicode/notebook/synthetic.one
\ No newline at end of file
corpus/native/cold-05-03-format-unicode/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{1ED6C30C-C5A9-4DE8-A734-58CFF776E30A}{1}{B0}" path="C:\one-tests\runs\cold-05-03-format-unicode\notebook" lastModifiedTime="2026-09-05T05:08:46.000Z" color="#9595AA"><one:Section name="synthetic" ID="{DB789508-66F1-054C-0BDD-68B32115E007}{1}{B0}" path="C:\one-tests\runs\cold-05-03-format-unicode\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:08:46.000Z" color="#8AA8E4"><one:Page ID="{F731668E-EF3A-465D-8CBA-C022DD2DFC18}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:08:46.000Z" pageLevel="1"/></one:Section><one:Section name="Open Notebook" ID="{67142261-A407-48A1-AC8F-1FAA91AA02C5}{1}{B0}" path="C:\one-tests\runs\cold-05-03-format-unicode\notebook\Open Notebook.one" lastModifiedTime="2026-09-05T05:08:45.000Z" color="#91BAAE"/></one:Notebook>
corpus/native/cold-05-03-format-unicode/read/page-000.xml created+7
...@@ -0,0 +1,7 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{F731668E-EF3A-465D-8CBA-C022DD2DFC18}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:08:46.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{90FDCE32-A44F-45EB-8348-4CF922B11979}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{90FDCE32-A44F-45EB-8348-4CF922B11979}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/native/cold-05-04-positioned-outline/notebook/Open Notebook.one created
Binary files /dev/null and b/corpus/native/cold-05-04-positioned-outline/notebook/Open Notebook.one differ
corpus/native/cold-05-04-positioned-outline/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/native/cold-05-04-positioned-outline/notebook/Open Notebook.onetoc2 differ
corpus/native/cold-05-04-positioned-outline/notebook/synthetic.one created+1
...@@ -0,0 +1 @@
1../../20260905-05/snapshots/04-positioned-outline/notebook/synthetic.one
\ No newline at end of file
corpus/native/cold-05-04-positioned-outline/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{4F63C054-8F3B-4CC5-9DB9-AB8935D7EC01}{1}{B0}" path="C:\one-tests\runs\cold-05-04-positioned-outline\notebook" lastModifiedTime="2026-09-05T05:08:47.000Z" color="#9595AA"><one:Section name="synthetic" ID="{2AAC4C26-2D90-0CDD-3E71-8DAC6E31E832}{1}{B0}" path="C:\one-tests\runs\cold-05-04-positioned-outline\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:08:47.000Z" color="#8AA8E4"><one:Page ID="{06E5BFA0-A45B-4FCC-B916-253D9209F42D}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:08:47.000Z" pageLevel="1"/></one:Section><one:Section name="Open Notebook" ID="{95B7CFDF-EAA6-4E5A-A000-B6EEFBC7B100}{1}{B0}" path="C:\one-tests\runs\cold-05-04-positioned-outline\notebook\Open Notebook.one" lastModifiedTime="2026-09-05T05:08:47.000Z" color="#F6B078"/></one:Notebook>
corpus/native/cold-05-04-positioned-outline/read/page-000.xml created+7
...@@ -0,0 +1,7 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06E5BFA0-A45B-4FCC-B916-253D9209F42D}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:08:47.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{6129171C-EF2E-4C7A-B6E4-A9E66D95114C}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{6129171C-EF2E-4C7A-B6E4-A9E66D95114C}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{3799CB09-5C7B-4627-AC52-2B6EC999F505}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{3799CB09-5C7B-4627-AC52-2B6EC999F505}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/native/cold-05-05-image/notebook/Open Notebook.one created
Binary files /dev/null and b/corpus/native/cold-05-05-image/notebook/Open Notebook.one differ
corpus/native/cold-05-05-image/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/native/cold-05-05-image/notebook/Open Notebook.onetoc2 differ
corpus/native/cold-05-05-image/notebook/synthetic.one created+1
...@@ -0,0 +1 @@
1../../20260905-05/snapshots/05-image/notebook/synthetic.one
\ No newline at end of file
corpus/native/cold-05-05-image/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{46FFDD7D-BDCD-4D88-8C9D-867773906839}{1}{B0}" path="C:\one-tests\runs\cold-05-05-image\notebook" lastModifiedTime="2026-09-05T05:08:49.000Z" color="#9595AA"><one:Section name="synthetic" ID="{FEC7E57C-8EB2-0A7D-0785-632684C4037E}{1}{B0}" path="C:\one-tests\runs\cold-05-05-image\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:08:49.000Z" color="#8AA8E4"><one:Page ID="{D28E16FA-0779-496C-80E2-CBB778FC1F61}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:08:49.000Z" pageLevel="1"/></one:Section><one:Section name="Open Notebook" ID="{90FC1EEB-444C-4D72-ADEC-DC68429A218F}{1}{B0}" path="C:\one-tests\runs\cold-05-05-image\notebook\Open Notebook.one" lastModifiedTime="2026-09-05T05:08:48.000Z" color="#D5A4BB"/></one:Notebook>
corpus/native/cold-05-05-image/read/page-000.xml created+8
...@@ -0,0 +1,8 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{D28E16FA-0779-496C-80E2-CBB778FC1F61}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:08:49.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{B542BE46-4C0C-4ADA-8F10-476C8760FA00}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{B542BE46-4C0C-4ADA-8F10-476C8760FA00}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{E3F26253-FF59-4087-95A6-C5E4236C1E49}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{E3F26253-FF59-4087-95A6-C5E4236C1E49}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{DEDB0ADC-19C3-4929-A3D6-6E10CF0156C7}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{DEDB0ADC-19C3-4929-A3D6-6E10CF0156C7}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
8AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/native/cold-05-06-attachment/notebook/Open Notebook.one created
Binary files /dev/null and b/corpus/native/cold-05-06-attachment/notebook/Open Notebook.one differ
corpus/native/cold-05-06-attachment/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/native/cold-05-06-attachment/notebook/Open Notebook.onetoc2 differ
corpus/native/cold-05-06-attachment/notebook/synthetic.one created+1
...@@ -0,0 +1 @@
1../../20260905-05/snapshots/06-attachment/notebook/synthetic.one
\ No newline at end of file
corpus/native/cold-05-06-attachment/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{ADAE19B8-35A2-47E8-9F90-310161E2A3AE}{1}{B0}" path="C:\one-tests\runs\cold-05-06-attachment\notebook" lastModifiedTime="2026-09-05T05:08:50.000Z" color="#9595AA"><one:Section name="synthetic" ID="{0752E828-55F1-00F6-295E-8BE7FCED0A48}{1}{B0}" path="C:\one-tests\runs\cold-05-06-attachment\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:08:50.000Z" color="#8AA8E4"><one:Page ID="{2B1B1BAE-DC3A-43E7-AE39-237600D51657}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:08:50.000Z" pageLevel="1"/></one:Section><one:Section name="Open Notebook" ID="{1CACE481-7FCD-4CC7-94D8-709BDB9E58FF}{1}{B0}" path="C:\one-tests\runs\cold-05-06-attachment\notebook\Open Notebook.one" lastModifiedTime="2026-09-05T05:08:50.000Z" color="#9BBBD2"/></one:Notebook>
corpus/native/cold-05-06-attachment/read/page-000.xml created+8
...@@ -0,0 +1,8 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{2B1B1BAE-DC3A-43E7-AE39-237600D51657}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:08:50.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{4CD7B312-974F-4051-A1CB-AFADFF49F336}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{4CD7B312-974F-4051-A1CB-AFADFF49F336}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{1A676F07-241A-4A0C-BB7D-2D255B45177F}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{1A676F07-241A-4A0C-BB7D-2D255B45177F}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{274E0788-C280-43A2-8D0D-86D1B7285FF1}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{274E0788-C280-43A2-8D0D-86D1B7285FF1}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
8AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{A2541FE8-04F8-4064-A8A0-E12F83F990C2}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{A2541FE8-04F8-4064-A8A0-E12F83F990C2}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\chloe caruso\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/native/cold-05-07-table/notebook/Open Notebook.one created
Binary files /dev/null and b/corpus/native/cold-05-07-table/notebook/Open Notebook.one differ
corpus/native/cold-05-07-table/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/native/cold-05-07-table/notebook/Open Notebook.onetoc2 differ
corpus/native/cold-05-07-table/notebook/synthetic.one created+1
...@@ -0,0 +1 @@
1../../20260905-05/notebook/synthetic.one
\ No newline at end of file
corpus/native/cold-05-07-table/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{F3E6869F-EB8F-455C-9FAA-ABD927F7F4D8}{1}{B0}" path="C:\one-tests\runs\cold-05-07-table\notebook" lastModifiedTime="2026-09-05T05:08:51.000Z" color="#9595AA"><one:Section name="synthetic" ID="{AFA3D10F-A7C4-00AE-2264-E599B67CFD57}{1}{B0}" path="C:\one-tests\runs\cold-05-07-table\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:08:51.000Z" color="#8AA8E4"><one:Page ID="{83EA2289-2E0F-43BF-A503-4D084A44E148}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:08:51.000Z" pageLevel="1"/></one:Section><one:Section name="Open Notebook" ID="{7C73D128-3DE4-4987-9D26-342CBA9B8D83}{1}{B0}" path="C:\one-tests\runs\cold-05-07-table\notebook\Open Notebook.one" lastModifiedTime="2026-09-05T05:08:51.000Z" color="#AB9CB7"/></one:Notebook>
corpus/native/cold-05-07-table/read/page-000.xml created+8
...@@ -0,0 +1,8 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{83EA2289-2E0F-43BF-A503-4D084A44E148}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:08:51.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{E4268A35-657A-4009-AAF1-C1D3B5D80429}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{E4268A35-657A-4009-AAF1-C1D3B5D80429}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{B2965620-D62F-4A54-B047-435B11D4E060}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{B2965620-D62F-4A54-B047-435B11D4E060}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{8FBF3EAF-30B5-43FA-8637-E8AFFDB9A8EE}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{8FBF3EAF-30B5-43FA-8637-E8AFFDB9A8EE}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
8AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{0AA526CF-F6CD-403C-A39A-8F51C96867DD}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{0AA526CF-F6CD-403C-A39A-8F51C96867DD}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\chloe caruso\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{247A5F9F-975D-4BBC-BC92-6D04E13B9C9B}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{247A5F9F-975D-4BBC-BC92-6D04E13B9C9B}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{247A5F9F-975D-4BBC-BC92-6D04E13B9C9B}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{247A5F9F-975D-4BBC-BC92-6D04E13B9C9B}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{247A5F9F-975D-4BBC-BC92-6D04E13B9C9B}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{247A5F9F-975D-4BBC-BC92-6D04E13B9C9B}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{247A5F9F-975D-4BBC-BC92-6D04E13B9C9B}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{247A5F9F-975D-4BBC-BC92-6D04E13B9C9B}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/native/cold-05-08-onepkg/notebook/Open Notebook.one created
Binary files /dev/null and b/corpus/native/cold-05-08-onepkg/notebook/Open Notebook.one differ
corpus/native/cold-05-08-onepkg/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/native/cold-05-08-onepkg/notebook/Open Notebook.onetoc2 differ
corpus/native/cold-05-08-onepkg/notebook/synthetic.one created+1
...@@ -0,0 +1 @@
1../../20260905-05/notebook/synthetic.one
\ No newline at end of file
corpus/native/cold-05-08-onepkg/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{50B1369D-3DF6-4D89-B7F5-E32D0895410D}{1}{B0}" path="C:\one-tests\runs\cold-05-08-onepkg\notebook" lastModifiedTime="2026-09-05T05:08:53.000Z" color="#9595AA"><one:Section name="synthetic" ID="{99D7A614-CC94-0600-0C90-EB1DC7DBBFF4}{1}{B0}" path="C:\one-tests\runs\cold-05-08-onepkg\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:08:53.000Z" color="#8AA8E4"><one:Page ID="{B59E5592-455F-4511-8BF7-438C3BE3A3EB}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:08:53.000Z" pageLevel="1"/></one:Section><one:Section name="Open Notebook" ID="{DC2B4462-464E-493A-A4C4-F8F727F584EB}{1}{B0}" path="C:\one-tests\runs\cold-05-08-onepkg\notebook\Open Notebook.one" lastModifiedTime="2026-09-05T05:08:52.000Z" color="#E8D199"/></one:Notebook>
corpus/native/cold-05-08-onepkg/read/page-000.xml created+8
...@@ -0,0 +1,8 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B59E5592-455F-4511-8BF7-438C3BE3A3EB}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:08:53.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D252FD2E-0E2A-46A7-8405-CF57C47F468A}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D252FD2E-0E2A-46A7-8405-CF57C47F468A}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{84E2213B-BD7F-4CFA-9EB3-4DDF6073A2C3}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{84E2213B-BD7F-4CFA-9EB3-4DDF6073A2C3}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{B9CB49B4-5BE5-4554-A8C3-E62B8C1EEA4D}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{B9CB49B4-5BE5-4554-A8C3-E62B8C1EEA4D}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
8AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3CD151D4-9D9D-4692-8D6E-81D5B8CF257E}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3CD151D4-9D9D-4692-8D6E-81D5B8CF257E}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\chloe caruso\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{120E2884-FC0D-4D12-9266-6380909CDE38}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{120E2884-FC0D-4D12-9266-6380909CDE38}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{120E2884-FC0D-4D12-9266-6380909CDE38}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{120E2884-FC0D-4D12-9266-6380909CDE38}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{120E2884-FC0D-4D12-9266-6380909CDE38}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{120E2884-FC0D-4D12-9266-6380909CDE38}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{120E2884-FC0D-4D12-9266-6380909CDE38}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{120E2884-FC0D-4D12-9266-6380909CDE38}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/writer/cold-complex-01/notebook/Open Notebook.one created
Binary files /dev/null and b/corpus/writer/cold-complex-01/notebook/Open Notebook.one differ
corpus/writer/cold-complex-01/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/writer/cold-complex-01/notebook/Open Notebook.onetoc2 differ
corpus/writer/cold-complex-01/notebook/synthetic.one created
Binary files /dev/null and b/corpus/writer/cold-complex-01/notebook/synthetic.one differ
corpus/writer/cold-complex-01/read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment created+1
...@@ -0,0 +1 @@
1Fictitious attachment for native corpus.
\ No newline at end of file
corpus/writer/cold-complex-01/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{19BA217F-D340-426B-A04A-57259E027C9E}{1}{B0}" path="C:\one-tests\runs\writer-complex-01\notebook" lastModifiedTime="2026-09-05T06:41:37.000Z" color="#9595AA"><one:Section name="synthetic" ID="{7EC1C89B-4FCD-0C87-1CCB-F4F0266263F1}{1}{B0}" path="C:\one-tests\runs\writer-complex-01\notebook\synthetic.one" lastModifiedTime="2026-09-05T06:41:37.000Z" color="#8AA8E4"><one:Page ID="{52883B1D-C606-4F96-9BAC-5C61DA5A7FEE}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section><one:Section name="Open Notebook" ID="{93CFB686-72F1-41C5-BB8F-F9A2A4E45D8F}{1}{B0}" path="C:\one-tests\runs\writer-complex-01\notebook\Open Notebook.one" lastModifiedTime="2026-09-05T06:41:37.000Z" color="#ADE792"/></one:Notebook>
corpus/writer/cold-complex-01/read/page-000.xml created+26
...@@ -0,0 +1,26 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{52883B1D-C606-4F96-9BAC-5C61DA5A7FEE}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{354493A1-8D73-4C20-945E-D0BA25C69A8F}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="26.58905601501465"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{354493A1-8D73-4C20-945E-D0BA25C69A8F}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
3style='font-weight:bold;font-family:Calibri' lang=en-US>Compatible: café, </span><span
4style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
5style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
6style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
7lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{17A9BF33-D59B-4293-89C6-7232E546F75B}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3
8URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG
9IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB
10mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ
11QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY
12BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn
13NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE
14BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ
15wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW
16ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ
17GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU
18RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87
19QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{17A9BF33-D59B-4293-89C6-7232E546F75B}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES
20v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF
21CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg
22KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z
23mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ
24qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG
25AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{63F44FB4-3E26-467D-8EE8-523281CA7EC6}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{63F44FB4-3E26-467D-8EE8-523281CA7EC6}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{5EDD273B-D8BC-4FD3-B898-F9C66DA73648}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{5EDD273B-D8BC-4FD3-B898-F9C66DA73648}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA
26AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{DBC73F5B-1EC4-4C15-9D35-9E385976F97B}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{DBC73F5B-1EC4-4C15-9D35-9E385976F97B}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\chloe caruso\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{F518460B-7F54-4795-823D-7C6D7125023D}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{F518460B-7F54-4795-823D-7C6D7125023D}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{F518460B-7F54-4795-823D-7C6D7125023D}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{F518460B-7F54-4795-823D-7C6D7125023D}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{F518460B-7F54-4795-823D-7C6D7125023D}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{F518460B-7F54-4795-823D-7C6D7125023D}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{F518460B-7F54-4795-823D-7C6D7125023D}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{F518460B-7F54-4795-823D-7C6D7125023D}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/writer/cold-edit-01/notebook/Open Notebook.one created
Binary files /dev/null and b/corpus/writer/cold-edit-01/notebook/Open Notebook.one differ
corpus/writer/cold-edit-01/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/writer/cold-edit-01/notebook/Open Notebook.onetoc2 differ
corpus/writer/cold-edit-01/notebook/synthetic.one created
Binary files /dev/null and b/corpus/writer/cold-edit-01/notebook/synthetic.one differ
corpus/writer/cold-edit-01/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{61BA959D-88AF-4320-8472-E3898F03DD3A}{1}{B0}" path="C:\one-tests\runs\writer-edit-01\notebook" lastModifiedTime="2026-09-05T06:31:52.000Z" color="#9595AA"><one:Section name="synthetic" ID="{7E1732B0-F77F-077D-1C81-9C4933CDAFB7}{1}{B0}" path="C:\one-tests\runs\writer-edit-01\notebook\synthetic.one" lastModifiedTime="2026-09-05T06:31:52.000Z" color="#8AA8E4"><one:Page ID="{525EC136-7EB4-446C-9BE6-34D8CFF5B3A8}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T06:31:52.000Z" pageLevel="1"/></one:Section><one:Section name="Open Notebook" ID="{5FFA7C57-DD93-4158-8693-CD159EEBB2EF}{1}{B0}" path="C:\one-tests\runs\writer-edit-01\notebook\Open Notebook.one" lastModifiedTime="2026-09-05T06:31:52.000Z" color="#E8D199"/></one:Notebook>
corpus/writer/cold-edit-01/read/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{525EC136-7EB4-446C-9BE6-34D8CFF5B3A8}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T06:31:52.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{3592698A-35C1-47DA-9414-B803306956C9}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="130.5859832763672" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{3592698A-35C1-47DA-9414-B803306956C9}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Portable plain text...]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/writer/cold-edit-02/read/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{BE471E31-3247-4A62-ABC7-96BD8EC2867E}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T06:34:43.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T06:34:18.000Z" objectID="{D98BB68D-7932-49D4-A435-1A66715E631F}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="130.5859832763672" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T06:34:18.000Z" lastModifiedTime="2026-09-05T06:34:18.000Z" objectID="{D98BB68D-7932-49D4-A435-1A66715E631F}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Portable plain text...]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/writer/complex-01/notebook/synthetic.one created
Binary files /dev/null and b/corpus/writer/complex-01/notebook/synthetic.one differ
corpus/writer/create-05/native-saved.one created
Binary files /dev/null and b/corpus/writer/create-05/native-saved.one differ
corpus/writer/create-05/notebook/synthetic.one created
Binary files /dev/null and b/corpus/writer/create-05/notebook/synthetic.one differ
corpus/writer/create-05/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{1823A7C2-3786-0059-2B3E-FD50A43BA077}{1}{B0}" name="Created in Rust: café 東京 🦀" dateTime="2026-09-05T07:07:07.000Z" lastModifiedTime="2026-09-05T07:07:18.000Z" pageLevel="1" style="font-family:Calibri;font-size:11.0pt" lang="en-US"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="Fixture Author" lastModifiedBy="Fixture Author" lastModifiedTime="2026-09-05T07:07:07.000Z" objectID="{7CA1D9F2-809A-0648-0A9A-21D51313FC16}{23}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="181.0255889892578" height="13.4277172088623"/><one:Indents><one:Indent level="0" indent="0.0"/></one:Indents><one:OEChildren><one:OE creationTime="2026-09-05T07:07:07.000Z" lastModifiedTime="2026-09-05T07:07:07.000Z" objectID="{7CA1D9F2-809A-0648-0A9A-21D51313FC16}{24}{B0}" alignment="left"><one:T><![CDATA[Created in Rust: café 東京 &#129408;]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/writer/create-05/returned-page.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{4BF6C977-7878-08D5-06CB-E568EC302C00}{1}{B0}" name="Native edited the created page." dateTime="2026-09-05T07:07:07.000Z" lastModifiedTime="2026-09-05T07:13:06.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="Fixture Author" lastModifiedBy="Fixture Author" lastModifiedTime="2026-09-05T07:09:31.000Z" objectID="{2F74B747-CF64-0EC4-276F-39ED5B187061}{23}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="181.0255889892578" height="26.85543441772461"/><one:Indents><one:Indent level="0" indent="0.0"/></one:Indents><one:OEChildren><one:OE creationTime="2026-09-05T07:09:31.000Z" lastModifiedTime="2026-09-05T07:09:31.000Z" objectID="{2F74B747-CF64-0EC4-276F-39ED5B187061}{24}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Rust edited it again, with a longer paragraph.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/writer/create-05/rust-after-native.one created
Binary files /dev/null and b/corpus/writer/create-05/rust-after-native.one differ
corpus/writer/create-notebook-01/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{DE1B406F-6423-404D-80F4-C69ACC898BBA}{1}{B0}" path="C:\one-tests\runs\writer-create-notebook-01\notebook" lastModifiedTime="2026-09-05T07:11:36.000Z" color="#D5A4BB"><one:Section name="synthetic" ID="{21EB0D1B-D373-0282-3C3B-DB3D4A5AC600}{1}{B0}" path="C:\one-tests\runs\writer-create-notebook-01\notebook\synthetic.one" lastModifiedTime="2026-09-05T07:11:36.000Z" color="#8AA8E4"><one:Page ID="{4E651029-D16E-0172-1866-FB77B4D48F89}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T07:11:36.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/writer/create-notebook-01/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/writer/create-notebook-01/notebook/Open Notebook.onetoc2 differ
corpus/writer/create-notebook-01/notebook/synthetic.one created
Binary files /dev/null and b/corpus/writer/create-notebook-01/notebook/synthetic.one differ
corpus/writer/create-notebook-01/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{4E651029-D16E-0172-1866-FB77B4D48F89}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T07:11:36.000Z" pageLevel="1" style="font-family:Calibri;font-size:11.0pt" lang="en-US"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="Fixture Author" lastModifiedBy="Fixture Author" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{21EB0D1B-D373-0282-3C3B-DB3D4A5AC600}{23}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="191.1661224365234" height="13.4277172088623"/><one:Indents><one:Indent level="0" indent="0.0"/></one:Indents><one:OEChildren><one:OE creationTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{21EB0D1B-D373-0282-3C3B-DB3D4A5AC600}{24}{B0}" alignment="left"><one:T><![CDATA[A notebook created in Rust.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/writer/edit-01/notebook/synthetic.one created
Binary files /dev/null and b/corpus/writer/edit-01/notebook/synthetic.one differ
corpus/writer/edit-02/notebook/synthetic.one created
Binary files /dev/null and b/corpus/writer/edit-02/notebook/synthetic.one differ
corpus/writer/manifest.json created+157
...@@ -0,0 +1,157 @@
1{
2 "captured_utc": "2026-09-05T06:38:24.554376+00:00",
3 "native_build": "14.0.7015.1000",
4 "source_fixture": "../native/20260905-05/snapshots/02-text/notebook/synthetic.one",
5 "operations": [
6 "Rust write_demo: equal-length plain-text replacement to edit-01",
7 "read-current.ps1 fresh-cache writer-edit-01: one page with Portable plain text...",
8 "edit-existing.ps1 fresh-cache writer-native-edit-02: replace Portable plain text... with Fictitious plain text.; sync and close",
9 "Rust inventory of native-edit-02: Fictitious plain text.",
10 "Rust write_demo: replace again in edit-02",
11 "read-current.ps1 fresh-cache writer-edit-02: one page with Portable plain text...",
12 "Rust edit_property on native ink fixture: replace Fictitious with Compatible in the Unicode rich-text property",
13 "read-current.ps1 fresh-cache writer-complex-01: four text objects and two ink strokes; only edited outline height reflows",
14 "Rust edit_property on native TOC: change notebook color from 9595aa00 to 33669900; fresh-cache writer-toc-01 reports #336699 and one page",
15 "Rust create_section without a template: Unicode paragraph Created in Rust: café 東京 🦀; fresh-cache writer-create-05 returns exact text and Fixture Author",
16 "Fresh-cache edit-existing.ps1 on writer-created-native-edit replaces that paragraph with Native edited the created page.; Rust inventory confirms native save",
17 "Rust edit_property changes native-saved text to Rust edited it again, with a longer paragraph.; fresh-cache writer-created-return confirms exact text",
18 "Rust create_notebook creates both synthetic.one and Open Notebook.onetoc2; fresh-cache writer-create-notebook-01 returns A notebook created in Rust."
19 ],
20 "files": [
21 {
22 "path": "cold-complex-01/notebook/Open Notebook.one",
23 "bytes": 4016,
24 "sha256": "cd7ef0daf82bf88f106b4b7f23f48f57df6d42c2b8c889f0b8ed6af730e562db"
25 },
26 {
27 "path": "cold-complex-01/notebook/Open Notebook.onetoc2",
28 "bytes": 4944,
29 "sha256": "f02e260a1cd50a7963199fb76a31d58f8dbfa5a67fce59149a793691efd15ecd"
30 },
31 {
32 "path": "cold-complex-01/notebook/synthetic.one",
33 "bytes": 30448,
34 "sha256": "d2c373dca4927d0072e867842544126337e6ad09897ec552013d7f82031f0ac4"
35 },
36 {
37 "path": "cold-complex-01/read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment",
38 "bytes": 43,
39 "sha256": "af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7"
40 },
41 {
42 "path": "cold-complex-01/read/hierarchy.xml",
43 "bytes": 963,
44 "sha256": "f41d6342ac112724b03ce0e11b2d51913ceb371816ac681033fc69a87e9d1c7f"
45 },
46 {
47 "path": "cold-complex-01/read/page-000.xml",
48 "bytes": 7402,
49 "sha256": "a28a5f923c8e10208ac7ded1bec283f596b068d0ca5bb3a067b92f683b2b702d"
50 },
51 {
52 "path": "cold-edit-01/notebook/Open Notebook.one",
53 "bytes": 4016,
54 "sha256": "d95a9e04a906cb786d73d61934204bc094ffeb3c586ddcc7d11f487b2d153190"
55 },
56 {
57 "path": "cold-edit-01/notebook/Open Notebook.onetoc2",
58 "bytes": 4944,
59 "sha256": "fff8991ccd803718a1ff12335bb7f636574882d455ff4299bbe01c9b249b0322"
60 },
61 {
62 "path": "cold-edit-01/notebook/synthetic.one",
63 "bytes": 13368,
64 "sha256": "44a9ca3131e0a1baa05a2b64968c32ce59ac97a59bfa9e1329cc7a6096b6fc3f"
65 },
66 {
67 "path": "cold-edit-01/read/hierarchy.xml",
68 "bytes": 939,
69 "sha256": "cbe277489b094e22de6624f6c02212b73ba440514b6346c965930d7470bc432c"
70 },
71 {
72 "path": "cold-edit-01/read/page-000.xml",
73 "bytes": 1209,
74 "sha256": "7141b2236e1f8f1aecfd77914b2ec7564ef4056bd4b4aa1f05f0e3a25871f631"
75 },
76 {
77 "path": "cold-edit-02/read/page-000.xml",
78 "bytes": 1209,
79 "sha256": "2067abd992a1403ecda3127f12c683bf3804569db44e5b88dcd6c71a2808f04c"
80 },
81 {
82 "path": "complex-01/notebook/synthetic.one",
83 "bytes": 30448,
84 "sha256": "d2c373dca4927d0072e867842544126337e6ad09897ec552013d7f82031f0ac4"
85 },
86 {
87 "path": "create-05/native-saved.one",
88 "bytes": 10268,
89 "sha256": "28767fb84b110804aa0c1c1c5b211e649539ca077414e47f678081de8d16ee0d"
90 },
91 {
92 "path": "create-05/notebook/synthetic.one",
93 "bytes": 3348,
94 "sha256": "a8c44edfcad463ec0a05686febd3da6cd58efd6c529ca77bef031f0528838935"
95 },
96 {
97 "path": "create-05/page-000.xml",
98 "bytes": 1132,
99 "sha256": "e2a5c2eda8e7949a100b9816031283d87ec4561d9eaf59202a114c028ca4dd97"
100 },
101 {
102 "path": "create-05/returned-page.xml",
103 "bytes": 1266,
104 "sha256": "b82fb6f47f8b153c6f3067a02a09747ab11956a1dcfc03d9fcb9d5c4b3de93b2"
105 },
106 {
107 "path": "create-05/rust-after-native.one",
108 "bytes": 11456,
109 "sha256": "3de701a3d2199c3021b46e692a07d9ca7e2374825c4adb5613986b4d5499f356"
110 },
111 {
112 "path": "create-notebook-01/hierarchy.xml",
113 "bytes": 753,
114 "sha256": "f4f805113ebba8dfd21cbbf30770d4bdbbd8ece06953c5fac2921ef5a56773e1"
115 },
116 {
117 "path": "create-notebook-01/notebook/Open Notebook.onetoc2",
118 "bytes": 1612,
119 "sha256": "fafa5dcb3cd827c7edd30c8ea2fbc957a59fb4d2a8b28b667a3c551c8261ab86"
120 },
121 {
122 "path": "create-notebook-01/notebook/synthetic.one",
123 "bytes": 3348,
124 "sha256": "b0662387c3fdc256d8dbe809e3b8f73b3586559696467fb1fff8f589095fa797"
125 },
126 {
127 "path": "create-notebook-01/page-000.xml",
128 "bytes": 1113,
129 "sha256": "9086775b199f14ea7d1daf29292c4e055bbfd4e9a92f3c3abc9d29983a1ea065"
130 },
131 {
132 "path": "edit-01/notebook/synthetic.one",
133 "bytes": 13368,
134 "sha256": "44a9ca3131e0a1baa05a2b64968c32ce59ac97a59bfa9e1329cc7a6096b6fc3f"
135 },
136 {
137 "path": "edit-02/notebook/synthetic.one",
138 "bytes": 18288,
139 "sha256": "692c353ee7bcc9b00afe210edfc4ae06e77d836124920b045515657f6ddce331"
140 },
141 {
142 "path": "native-edit-02/notebook/synthetic.one",
143 "bytes": 16384,
144 "sha256": "94cf8ffdb70403df072c9d562b5fa54c47910e44133cc0ec5186bec277888796"
145 },
146 {
147 "path": "toc-01/hierarchy.xml",
148 "bytes": 724,
149 "sha256": "7f62ba95f82c53153afeeb7122ab7476370278198a8521b295439e0f97a0a752"
150 },
151 {
152 "path": "toc-01/notebook/Open Notebook.onetoc2",
153 "bytes": 5904,
154 "sha256": "a7ec443d7534f5aeef5eb7fce09d133f5acfad4f1ac494417691297f5179e6fa"
155 }
156 ]
157}
corpus/writer/native-edit-02/notebook/synthetic.one created
Binary files /dev/null and b/corpus/writer/native-edit-02/notebook/synthetic.one differ
corpus/writer/toc-01/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{67C3A525-E9E8-4CF3-9186-00A193E0A27E}{1}{B0}" path="C:\one-tests\runs\writer-toc-01\notebook" lastModifiedTime="2026-09-05T06:52:34.000Z" color="#336699"><one:Section name="synthetic" ID="{D4A4613C-BE86-08DB-1635-B7278997FDA9}{1}{B0}" path="C:\one-tests\runs\writer-toc-01\notebook\synthetic.one" lastModifiedTime="2026-09-05T06:52:34.000Z" color="#8AA8E4"><one:Page ID="{F8ED92BA-374D-4BCA-9152-1FB675AFE1B6}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T06:52:34.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/writer/toc-01/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/writer/toc-01/notebook/Open Notebook.onetoc2 differ
crates/onestore/Cargo.toml created+16
...@@ -0,0 +1,16 @@
1[package]
2name = "onestore"
3version = "0.1.0"
4edition = "2024"
5publish = false
6
7[dependencies]
8md5 = "0.8.1"
9getrandom = "0.4.3"
10serde = { version = "1.0.229", features = ["derive"] }
11
12[target.'cfg(target_os = "macos")'.dependencies]
13nix = { version = "0.31.3", default-features = false, features = ["fs"] }
14
15[dev-dependencies]
16serde_json = "1.0.151"
crates/onestore/examples/concurrent_client.rs created+211
...@@ -0,0 +1,211 @@
1#[path = "../src/flush.rs"]
2mod flush;
3
4use onestore::{
5 CommitState, ExGuid, RevisionIndex, Store,
6 document::{Document, Kind},
7};
8use serde_json::json;
9use std::{
10 env, fs,
11 io::{self, Write},
12 path::Path,
13 thread,
14 time::{Duration, Instant, SystemTime, UNIX_EPOCH},
15};
16
17fn main() -> Result<(), Box<dyn std::error::Error>> {
18 let args: Vec<_> = env::args().skip(1).collect();
19 if args.len() == 2 && args[0] == "init" {
20 let bytes =
21 onestore::create_section("synthetic.one", "Concurrent edits:", "Concurrency test")?;
22 let mut file = fs::OpenOptions::new()
23 .write(true)
24 .create_new(true)
25 .open(&args[1])?;
26 file.write_all(&bytes)?;
27 flush::flush(&file)?;
28 return Ok(());
29 }
30 if args.len() != 7 || !["read", "write", "edit"].contains(&args[0].as_str()) {
31 return Err("Usage: concurrent_client init FILE | read|write|edit FILE ACTOR OPERATIONS START_FILE STOP_FILE SEED".into());
32 }
33 let mut random: u64 = args[6].parse()?;
34 let operations: usize = args[3].parse()?;
35 if operations == 0 {
36 return Err("Choose at least one operation.".into());
37 }
38 let deadline = Instant::now() + Duration::from_secs(600);
39 let mut output = io::stdout().lock();
40 let mut log = |event: serde_json::Value| -> io::Result<()> {
41 writeln!(output, "{event}")?;
42 output.flush()
43 };
44 log(json!({"event": "ready", "pid": std::process::id(), "actor": args[2]}))?;
45 while !Path::new(&args[4]).exists() {
46 if Instant::now() > deadline {
47 return Err("Start barrier timed out.".into());
48 }
49 thread::sleep(Duration::from_millis(5));
50 }
51 let mut completed = 0;
52 let mut attempts = 0;
53 while completed < operations || (args[0] == "read" && !Path::new(&args[5]).exists()) {
54 if Instant::now() > deadline {
55 return Err("Concurrent client timed out.".into());
56 }
57 attempts += 1;
58 random = random
59 .wrapping_mul(6364136223846793005)
60 .wrapping_add(1442695040888963407);
61 thread::sleep(Duration::from_millis((random >> 32) % 7));
62 let started = SystemTime::now().duration_since(UNIX_EPOCH)?.as_micros();
63 let source = match onestore::read_file(&args[1]) {
64 Ok(source) => source,
65 Err(error)
66 if [
67 io::ErrorKind::WouldBlock,
68 io::ErrorKind::PermissionDenied,
69 io::ErrorKind::NotFound,
70 ]
71 .contains(&error.kind()) =>
72 {
73 log(
74 json!({"event": "read_busy", "attempt": attempts, "kind": format!("{:?}", error.kind())}),
75 )?;
76 thread::sleep(Duration::from_millis(100));
77 continue;
78 }
79 Err(error) => {
80 log(
81 json!({"event": "read_error", "attempt": attempts, "kind": format!("{:?}", error.kind())}),
82 )?;
83 return Err(error.into());
84 }
85 };
86 let preserve = |error: onestore::Error| {
87 let path = Path::new(&args[4])
88 .parent()
89 .unwrap()
90 .join(format!("invalid-{}-{attempts}.one", std::process::id()));
91 if let Err(failure) = fs::write(&path, &source) {
92 eprintln!(
93 "Could not save invalid snapshot {}: {failure}",
94 path.display()
95 );
96 }
97 error
98 };
99 let store = Store::parse(&source).map_err(preserve)?;
100 if !store.checksum_mismatches.is_empty() {
101 return Err(preserve(onestore::Error {
102 offset: store.checksum_mismatches[0],
103 message: "A reader observed transaction checksum damage.",
104 })
105 .into());
106 }
107 let index = RevisionIndex::parse(&store).map_err(preserve)?;
108 index.validate_current().map_err(preserve)?;
109 let document = Document::parse(&index).map_err(preserve)?;
110 let mut targets = Vec::new();
111 for (sid, page) in document.pages().map_err(preserve)? {
112 let space = &document.spaces[&sid];
113 let revision = &space.revisions[&space.contexts[&ExGuid::default()]];
114 let mut pending = vec![page];
115 let mut seen = std::collections::BTreeSet::new();
116 while let Some(oid) = pending.pop() {
117 if !seen.insert(oid) {
118 continue;
119 }
120 let node = &revision.nodes[&oid];
121 pending.extend(
122 node.children
123 .iter()
124 .chain(&node.content)
125 .chain(&node.structure)
126 .copied(),
127 );
128 if let Kind::RichText { text, .. } = &node.kind
129 && text.starts_with("Concurrent edits:")
130 {
131 revision.text_runs(oid).map_err(preserve)?;
132 targets.push((sid, oid, text));
133 }
134 }
135 }
136 let [(sid, oid, text)] = targets.as_slice() else {
137 return Err(preserve(onestore::Error {
138 offset: 0,
139 message: "Expected one concurrent-edit paragraph.",
140 })
141 .into());
142 };
143 let read_finished = SystemTime::now().duration_since(UNIX_EPOCH)?.as_micros();
144 log(
145 json!({"event": "read", "attempt": attempts, "started_us": started, "finished_us": read_finished,
146 "transaction": store.header.transaction_count, "text": text}),
147 )?;
148 if args[0] == "read" {
149 completed += 1;
150 continue;
151 }
152 let token = format!(" [{}:{}]", args[2], completed);
153 let offset = u32::try_from(text.encode_utf16().count())?;
154 let mut range = offset..offset;
155 let mut replacement = token.clone();
156 if args[0] == "edit" {
157 let prefix = "Concurrent edits:";
158 let mut boundaries = vec![u32::try_from(prefix.encode_utf16().count())?];
159 for character in text[prefix.len()..].chars() {
160 boundaries.push(boundaries.last().unwrap() + character.len_utf16() as u32);
161 }
162 let first = ((random >> 16) % boundaries.len() as u64) as usize;
163 let second = ((random >> 40) % boundaries.len() as u64) as usize;
164 range = boundaries[first.min(second)]..boundaries[first.max(second)];
165 replacement = format!(" café 🦀{token}");
166 }
167 log(
168 json!({"event": "intent", "attempt": attempts, "operation": completed,
169 "source_transaction": store.header.transaction_count, "before": text,
170 "range": [range.start, range.end], "replacement": replacement, "token": token}),
171 )?;
172 thread::sleep(Duration::from_millis((random >> 48) % 13));
173 let commit_started = SystemTime::now().duration_since(UNIX_EPOCH)?.as_micros();
174 let result = onestore::commit_file_text(&args[1], &source, *sid, *oid, range, &replacement);
175 let finished = SystemTime::now().duration_since(UNIX_EPOCH)?.as_micros();
176 match result {
177 Ok(()) => {
178 log(
179 json!({"event": "commit", "attempt": attempts, "operation": completed, "token": token,
180 "started_us": commit_started, "finished_us": finished, "source_transaction": store.header.transaction_count}),
181 )?;
182 completed += 1;
183 }
184 Err(error)
185 if error.state == CommitState::NotCommitted
186 && [
187 io::ErrorKind::WouldBlock,
188 io::ErrorKind::ResourceBusy,
189 io::ErrorKind::PermissionDenied,
190 io::ErrorKind::NotFound,
191 ]
192 .contains(&error.error.kind()) =>
193 {
194 log(
195 json!({"event": "retry", "attempt": attempts, "started_us": commit_started,
196 "finished_us": finished, "kind": format!("{:?}", error.error.kind())}),
197 )?;
198 }
199 Err(error) => {
200 log(
201 json!({"event": "commit_error", "attempt": attempts, "operation": completed,
202 "token": token, "state": format!("{:?}", error.state), "kind": format!("{:?}", error.error.kind()),
203 "started_us": commit_started, "finished_us": finished}),
204 )?;
205 return Err(error.into());
206 }
207 }
208 }
209 log(json!({"event": "done", "completed": completed, "attempts": attempts}))?;
210 Ok(())
211}
crates/onestore/examples/create_notebook.rs created+26
...@@ -0,0 +1,26 @@
1#[path = "../src/flush.rs"]
2mod flush;
3
4use std::{env, fs, io::Write, path::Path};
5fn main() -> Result<(), Box<dyn std::error::Error>> {
6 let args: Vec<_> = env::args().skip(1).collect();
7 if args.len() != 3 {
8 return Err("Usage: create_notebook DIRECTORY TEXT AUTHOR".into());
9 }
10 let section = onestore::create_section("synthetic.one", &args[1], &args[2])?;
11 let identity = onestore::Store::parse(&section)?.header.file_id;
12 let toc = onestore::create_table_of_contents(
13 "Open Notebook.onetoc2",
14 &[("synthetic.one", identity)],
15 )?;
16 fs::create_dir(&args[0])?;
17 for (name, data) in [("synthetic.one", section), ("Open Notebook.onetoc2", toc)] {
18 let mut file = fs::OpenOptions::new()
19 .create_new(true)
20 .write(true)
21 .open(Path::new(&args[0]).join(name))?;
22 file.write_all(&data)?;
23 flush::flush(&file)?;
24 }
25 Ok(())
26}
crates/onestore/examples/create_section.rs created+22
...@@ -0,0 +1,22 @@
1#[path = "../src/flush.rs"]
2mod flush;
3
4use std::{env, fs::OpenOptions, io::Write, path::Path};
5fn main() -> Result<(), Box<dyn std::error::Error>> {
6 let args: Vec<_> = env::args().skip(1).collect();
7 if args.len() != 3 {
8 return Err("Usage: create_section OUTPUT TEXT AUTHOR".into());
9 }
10 let name = Path::new(&args[0])
11 .file_name()
12 .and_then(|name| name.to_str())
13 .ok_or("Invalid section name")?;
14 let bytes = onestore::create_section(name, &args[1], &args[2])?;
15 let mut file = OpenOptions::new()
16 .create_new(true)
17 .write(true)
18 .open(&args[0])?;
19 file.write_all(&bytes)?;
20 flush::flush(&file)?;
21 Ok(())
22}
crates/onestore/examples/document.rs created+65
...@@ -0,0 +1,65 @@
1use onestore::{
2 FileDataReference, RevisionIndex, Store,
3 document::{Document, Kind},
4};
5use std::{collections::BTreeSet, env, fs, io, path::PathBuf};
6
7fn main() -> Result<(), Box<dyn std::error::Error>> {
8 let mut args = env::args_os().skip(1);
9 let path = args.next().ok_or("Provide a .one or .onetoc2 file.")?;
10 let destination = args.next().map(PathBuf::from);
11 if args.next().is_some() {
12 return Err("Provide a source file and an optional new export directory.".into());
13 }
14 let bytes = onestore::read_file(path)?;
15 let store = Store::parse(&bytes)?;
16 let index = RevisionIndex::parse(&store)?;
17 let document = Document::parse(&index)?;
18 if let Some(destination) = destination {
19 fs::create_dir(&destination)?;
20 fs::create_dir(destination.join("assets"))?;
21 let mut assets = Vec::new();
22 let mut seen = BTreeSet::new();
23 for node in document
24 .spaces
25 .values()
26 .flat_map(|s| s.revisions.values())
27 .flat_map(|r| r.nodes.values())
28 {
29 if let Kind::File {
30 reference: FileDataReference::Internal(guid),
31 payload: Some(data),
32 ..
33 } = &node.kind
34 && seen.insert(guid)
35 {
36 let path = format!("assets/{}.bin", assets.len());
37 fs::write(destination.join(&path), data)?;
38 assets.push(serde_json::json!({"reference": FileDataReference::Internal(*guid), "path": path}));
39 }
40 }
41 serde_json::to_writer(fs::File::create(destination.join("assets.json"))?, &assets)?;
42 let mut text = std::collections::BTreeMap::new();
43 for (sid, space) in &document.spaces {
44 let mut revisions = std::collections::BTreeMap::new();
45 for (rid, revision) in &space.revisions {
46 let mut objects = std::collections::BTreeMap::new();
47 for (oid, node) in &revision.nodes {
48 if matches!(node.kind, Kind::RichText { .. }) {
49 objects.insert(*oid, revision.text_runs(*oid)?);
50 }
51 }
52 revisions.insert(*rid, objects);
53 }
54 text.insert(*sid, revisions);
55 }
56 serde_json::to_writer(fs::File::create(destination.join("text.json"))?, &text)?;
57 serde_json::to_writer(
58 fs::File::create(destination.join("document.json"))?,
59 &document,
60 )?;
61 } else {
62 serde_json::to_writer(io::stdout().lock(), &document)?;
63 }
64 Ok(())
65}
crates/onestore/examples/edit_property.rs created+74
...@@ -0,0 +1,74 @@
1#[path = "../src/flush.rs"]
2mod flush;
3
4use onestore::{
5 ExGuid, ObjectData, PropertySets, RevisionIndex, Store, Value, commit_file_property,
6 replace_property_bytes,
7};
8use std::{env, fs, io::Write};
9
10fn hex(text: &str) -> Result<Vec<u8>, Box<dyn std::error::Error>> {
11 if !text.is_ascii() || !text.len().is_multiple_of(2) {
12 return Err("Expected an even number of hexadecimal digits".into());
13 }
14 text.as_bytes()
15 .chunks_exact(2)
16 .map(|pair| Ok(u8::from_str_radix(std::str::from_utf8(pair)?, 16)?))
17 .collect()
18}
19
20fn main() -> Result<(), Box<dyn std::error::Error>> {
21 let args: Vec<_> = env::args().skip(1).collect();
22 if args.len() != 6 && args.len() != 8 {
23 return Err(
24 "Usage: edit_property INPUT OUTPUT|--in-place JCID PROPERTY EXPECTED_HEX VALUE_HEX [SPACE OBJECT]"
25 .into(),
26 );
27 }
28 let jcid = u32::from_str_radix(&args[2], 16)?;
29 let id = u32::from_str_radix(&args[3], 16)?;
30 let expected = hex(&args[4])?;
31 let value = hex(&args[5])?;
32 let bytes = onestore::read_file(&args[0])?;
33 let store = Store::parse(&bytes)?;
34 let index = RevisionIndex::parse(&store)?;
35 index.validate_current()?;
36 let mut selected = None;
37 for (osid, space) in &index.spaces {
38 let Some(&rid) = space.labels.get(&(ExGuid::default(), 1)) else {
39 continue;
40 };
41 let revision = index.resolve(*osid, rid)?;
42 for oid in revision.reachable()? {
43 if args.len() == 8 && (args[6] != osid.to_string() || args[7] != oid.to_string()) {
44 continue;
45 }
46 let object = &revision.objects[&oid];
47 if object.jcid == jcid
48 && let ObjectData::Properties(data) = object.data
49 {
50 for property in &PropertySets::parse(data)?.sets[0] {
51 if property.id == id
52 && property.value == Value::Bytes(&expected)
53 && selected.replace((*osid, oid)).is_some()
54 {
55 return Err("Multiple matching objects".into());
56 }
57 }
58 }
59 }
60 }
61 let (space, object) = selected.ok_or("No matching object")?;
62 if args[1] == "--in-place" {
63 commit_file_property(&args[0], &bytes, space, object, id, &value)?;
64 return Ok(());
65 }
66 let written = replace_property_bytes(&bytes, space, object, id, &value)?;
67 let mut output = fs::OpenOptions::new()
68 .write(true)
69 .create_new(true)
70 .open(&args[1])?;
71 output.write_all(&written)?;
72 flush::flush(&output)?;
73 Ok(())
74}
crates/onestore/examples/header_faults.rs created+40
...@@ -0,0 +1,40 @@
1use onestore::*;
2fn main() -> Result<(), Box<dyn std::error::Error>> {
3 let source =
4 std::fs::read("corpus/native/20260905-05/snapshots/02-text/notebook/synthetic.one")?;
5 let store = Store::parse(&source)?;
6 let index = RevisionIndex::parse(&store)?;
7 let mut target = None;
8 for (osid, space) in &index.spaces {
9 let revision = index.resolve(*osid, space.labels[&(ExGuid::default(), 1)])?;
10 for (oid, object) in revision.objects {
11 if let ObjectData::Properties(data) = object.data {
12 for p in &PropertySets::parse(data)?.sets[0] {
13 if p.value == Value::Bytes(b"Fictitious plain text.") {
14 target = Some((*osid, oid, p.id));
15 }
16 }
17 }
18 }
19 }
20 let (osid, oid, property) = target.unwrap();
21 let output = replace_property_bytes(&source, osid, oid, property, b"A durable edit.")?;
22 let mut invalid = Vec::new();
23 for prefix in 0..=1024 {
24 let mut torn = output.clone();
25 torn[prefix..1024].copy_from_slice(&source[prefix..1024]);
26 let result = Store::parse(&torn).and_then(|store| {
27 let index = RevisionIndex::parse(&store)?;
28 index.validate_current()
29 });
30 if result.is_err() {
31 invalid.push(prefix);
32 }
33 }
34 println!(
35 "Header prefix tears: {} invalid out of 1025; offsets {:?}",
36 invalid.len(),
37 invalid
38 );
39 Ok(())
40}
crates/onestore/examples/inspect.rs created+19
...@@ -0,0 +1,19 @@
1use onestore::Store;
2use std::{env, fs};
3
4fn main() -> Result<(), Box<dyn std::error::Error>> {
5 for path in env::args_os().skip(1) {
6 let bytes = fs::read(&path)?;
7 let store = Store::parse(&bytes)?;
8 let nodes: usize = store.lists.values().map(|list| list.nodes.len()).sum();
9 println!(
10 "{:?}: {:?}, {} transactions, {} lists, {nodes} nodes, {} checksum mismatches",
11 path,
12 store.header.file_type,
13 store.header.transaction_count,
14 store.lists.len(),
15 store.checksum_mismatches.len()
16 );
17 }
18 Ok(())
19}
crates/onestore/examples/inventory.rs created+78
...@@ -0,0 +1,78 @@
1use onestore::{ExGuid, FileDataReference, ObjectData, PropertySets, RevisionIndex, Store, Value};
2use std::{
3 collections::BTreeSet,
4 env,
5 io::{self, Write},
6};
7
8fn main() -> Result<(), Box<dyn std::error::Error>> {
9 let mut output = io::BufWriter::new(io::stdout().lock());
10 for path in env::args_os().skip(1) {
11 let bytes = onestore::read_file(path)?;
12 let store = Store::parse(&bytes)?;
13 let index = RevisionIndex::parse(&store)?;
14 index.validate_current()?;
15 let mut seen = BTreeSet::new();
16 let mut pending = vec![index.root];
17 while let Some(osid) = pending.pop() {
18 if !seen.insert(osid) {
19 continue;
20 }
21 let rid = index.spaces[&osid].labels[&(ExGuid::default(), 1)];
22 let revision = index.resolve(osid, rid)?;
23 for oid in revision.reachable()? {
24 let object = &revision.objects[&oid];
25 pending.extend(object.references()?.object_spaces);
26 if object.jcid == 0x6000b {
27 let metadata = revision
28 .roots
29 .get(&2)
30 .map(|oid| revision.objects[oid].jcid)
31 .unwrap_or(0);
32 writeln!(output, "page\t{osid}\t{metadata:x}")?;
33 }
34 let mut record = None;
35 if object.jcid == 0x6000e
36 && let ObjectData::Properties(data) = object.data
37 {
38 let properties = PropertySets::parse(data)?;
39 let boiler = properties.sets[0]
40 .iter()
41 .any(|p| matches!(p.id, 0x88001c87 | 0x88001c88 | 0x88001cb5));
42 record = Some(("ascii", &[][..]));
43 let property = properties.sets[0]
44 .iter()
45 .find(|property| property.id == 0x1c001c22)
46 .or_else(|| {
47 properties.sets[0]
48 .iter()
49 .find(|property| property.id == 0x1c003498)
50 });
51 if let Some(property) = property
52 && let Value::Bytes(data) = property.value
53 {
54 record = Some((
55 if property.id == 0x1c001c22 {
56 if boiler { "boiler-unicode" } else { "unicode" }
57 } else {
58 if boiler { "boiler-ascii" } else { "ascii" }
59 },
60 data,
61 ));
62 }
63 }
64 if let Some(FileDataReference::Internal(guid)) = object.file_reference()? {
65 record = Some(("file", store.file_data(guid)?));
66 }
67 if let Some((kind, data)) = record {
68 write!(output, "{kind}\t{osid}\t")?;
69 for byte in data {
70 write!(output, "{byte:02x}")?;
71 }
72 writeln!(output)?;
73 }
74 }
75 }
76 }
77 Ok(())
78}
crates/onestore/examples/large_notebook.rs created+54
...@@ -0,0 +1,54 @@
1use onestore::{Store, create_section, create_table_of_contents};
2use std::{env, fs, path::PathBuf};
3
4fn main() -> Result<(), Box<dyn std::error::Error>> {
5 let mut args = env::args().skip(1);
6 let destination = PathBuf::from(args.next().ok_or("Provide a new destination directory.")?);
7 let count: usize = args.next().ok_or("Provide a section count.")?.parse()?;
8 let length: usize = args
9 .next()
10 .ok_or("Provide a text length in Unicode scalars.")?
11 .parse()?;
12 if args.next().is_some() || !(1..=1024).contains(&count) || !(1..=1_000_000).contains(&length) {
13 return Err("Use 1–1024 sections and 1–1000000 Unicode scalars per page.".into());
14 }
15 fs::create_dir(&destination)?;
16 let notebook = destination.join("notebook");
17 fs::create_dir(&notebook)?;
18 let alphabet: Vec<_> = "Repeated text · café 東京 مرحبا 😀 e\u{301} <>&\" "
19 .chars()
20 .collect();
21 let mut sections = Vec::new();
22 let mut expected = Vec::new();
23 for index in 0..count {
24 let name = format!("Section {index:03}.one");
25 let text: String = (0..length)
26 .map(|offset| {
27 if offset % 250 == 249 {
28 '\r'
29 } else {
30 alphabet[(offset + index) % alphabet.len()]
31 }
32 })
33 .collect();
34 let bytes = create_section(&name, &text, "Fictitious scale fixture")?;
35 let identity = Store::parse(&bytes)?.header.file_id;
36 fs::write(notebook.join(&name), bytes)?;
37 expected.push(serde_json::json!({"section": name, "text": text}));
38 sections.push((name, identity));
39 }
40 let entries: Vec<_> = sections
41 .iter()
42 .rev()
43 .map(|(name, id)| (name.as_str(), *id))
44 .collect();
45 fs::write(
46 notebook.join("Open Notebook.onetoc2"),
47 create_table_of_contents("Open Notebook.onetoc2", &entries)?,
48 )?;
49 serde_json::to_writer(
50 fs::File::create(destination.join("expected.json"))?,
51 &expected,
52 )?;
53 Ok(())
54}
crates/onestore/examples/power_loss.rs created+335
...@@ -0,0 +1,335 @@
1#[path = "../tests/support/checkpoint.rs"]
2mod checkpoint;
3
4use onestore::{
5 CommitIo, ExGuid, RevisionIndex, Store,
6 document::{Document, Kind},
7};
8use std::{collections::BTreeMap, fs, io, path::PathBuf};
9
10enum Event {
11 Write(usize, Vec<u8>),
12 Flush,
13}
14
15struct Trace {
16 bytes: Vec<u8>,
17 events: Vec<Event>,
18}
19
20impl CommitIo for Trace {
21 fn read_at(&mut self, offset: u64, output: &mut [u8]) -> io::Result<usize> {
22 let offset = offset as usize;
23 let count = output.len().min(self.bytes.len().saturating_sub(offset));
24 output[..count].copy_from_slice(&self.bytes[offset..offset + count]);
25 Ok(count)
26 }
27 fn write_at(&mut self, offset: u64, bytes: &[u8]) -> io::Result<usize> {
28 let offset = offset as usize;
29 let count = bytes.len().min(4096);
30 self.bytes.resize(self.bytes.len().max(offset + count), 0);
31 self.bytes[offset..offset + count].copy_from_slice(&bytes[..count]);
32 self.events
33 .push(Event::Write(offset, bytes[..count].to_vec()));
34 Ok(count)
35 }
36 fn flush(&mut self) -> io::Result<()> {
37 self.events.push(Event::Flush);
38 Ok(())
39 }
40}
41
42fn current(bytes: &[u8]) -> BTreeMap<ExGuid, String> {
43 let store = Store::parse(bytes).unwrap();
44 assert!(store.checksum_mismatches.is_empty());
45 let index = RevisionIndex::parse(&store).unwrap();
46 index.validate_current().unwrap();
47 Document::parse(&index).unwrap();
48 index
49 .spaces
50 .iter()
51 .map(|(sid, space)| {
52 let rid = space.labels[&(ExGuid::default(), 1)];
53 let revision = index.resolve(*sid, rid).unwrap();
54 for object in revision.objects.values() {
55 if let Some(onestore::FileDataReference::Internal(guid)) =
56 object.file_reference().unwrap()
57 {
58 store.file_data(guid).unwrap();
59 }
60 }
61 (*sid, format!("{revision:?}"))
62 })
63 .collect()
64}
65
66fn main() -> Result<(), Box<dyn std::error::Error>> {
67 let destination = PathBuf::from(
68 std::env::args_os()
69 .nth(1)
70 .ok_or("Provide a new evidence directory")?,
71 );
72 fs::create_dir(&destination)?;
73 let fixtures = [
74 (
75 "unicode",
76 "corpus/native/20260905-05/snapshots/03-format-unicode/notebook/synthetic.one",
77 ),
78 (
79 "rollover-256",
80 "corpus/append/round-01/tx-255/notebook/synthetic.one",
81 ),
82 (
83 "rollover-65536",
84 "corpus/append/round-01/tx-65535/notebook/synthetic.one",
85 ),
86 (
87 "attachment",
88 "corpus/native/20260905-05/snapshots/06-attachment/notebook/synthetic.one",
89 ),
90 (
91 "checkpoint",
92 "corpus/native/20260905-05/snapshots/03-format-unicode/notebook/synthetic.one",
93 ),
94 (
95 "toc",
96 "corpus/native/20260905-05/snapshots/02-text/notebook/Open Notebook.onetoc2",
97 ),
98 (
99 "toc-rollover",
100 "corpus/native/20260905-05/snapshots/02-text/notebook/Open Notebook.onetoc2",
101 ),
102 (
103 "toc-checkpoint",
104 "corpus/native/20260905-05/snapshots/02-text/notebook/Open Notebook.onetoc2",
105 ),
106 ];
107 let mut records = Vec::new();
108 let mut saved = BTreeMap::new();
109 for (name, path) in fixtures {
110 if std::env::args().nth(2).as_deref() == Some("--toc") && !name.starts_with("toc") {
111 continue;
112 }
113 println!("Checking {name}");
114 let mut source = fs::read(path)?;
115 let store = Store::parse(&source)?;
116 let index = RevisionIndex::parse(&store)?;
117 let document = Document::parse(&index)?;
118 let toc = store.header.file_type == onestore::FileType::TableOfContents;
119 let (sid, oid) = if toc {
120 let root = &document.spaces[&document.root];
121 (
122 document.root,
123 root.revisions[&root.contexts[&ExGuid::default()]].roots[&1],
124 )
125 } else {
126 document
127 .spaces
128 .iter()
129 .find_map(|(sid, space)| {
130 let revision = &space.revisions[&space.contexts[&ExGuid::default()]];
131 revision
132 .nodes
133 .iter()
134 .find_map(|(oid, node)| match &node.kind {
135 Kind::RichText { text, .. }
136 if text.starts_with("Fictitious") || text == "Transaction 255" =>
137 {
138 Some((*sid, *oid))
139 }
140 _ => None,
141 })
142 })
143 .ok_or("Missing native fixture text")?
144 };
145 if name.ends_with("checkpoint") {
146 source =
147 checkpoint::pending(&source, sid, oid, if toc { 0x14001cbe } else { 0x14001d7a });
148 }
149 if name == "toc-rollover" {
150 loop {
151 let count = Store::parse(&source)?.header.transaction_count;
152 if count == 255 {
153 break;
154 }
155 assert!(count < 255);
156 source = onestore::replace_property_bytes(
157 &source,
158 sid,
159 oid,
160 0x14001cbe,
161 &count.to_le_bytes(),
162 )?;
163 }
164 }
165 let apply = |io: &mut Trace,
166 bytes: &[u8],
167 recovering: bool|
168 -> Result<(), Box<dyn std::error::Error>> {
169 if toc {
170 let value = if recovering {
171 [0x44, 0x55, 0x66, 0]
172 } else {
173 [0x33, 0x66, 0x99, 0]
174 };
175 onestore::commit_property_bytes(io, bytes, sid, oid, 0x14001cbe, &value)?;
176 } else {
177 let store = Store::parse(bytes)?;
178 let index = RevisionIndex::parse(&store)?;
179 let doc = Document::parse(&index)?;
180 let space = &doc.spaces[&sid];
181 let revision = &space.revisions[&space.contexts[&ExGuid::default()]];
182 let Kind::RichText { text, .. } = &revision.nodes[&oid].kind else {
183 unreachable!()
184 };
185 let end = u32::try_from(text.encode_utf16().count())?;
186 onestore::commit_text(
187 io,
188 bytes,
189 sid,
190 oid,
191 end..end,
192 if recovering {
193 " [recovered]"
194 } else {
195 " [durable café 🦀]"
196 },
197 )?;
198 }
199 Ok(())
200 };
201 fs::write(destination.join(format!("{name}-source.bin")), &source)?;
202 let before = current(&source);
203 let mut trace = Trace {
204 bytes: source.clone(),
205 events: Vec::new(),
206 };
207 apply(&mut trace, &source, false)?;
208 let after = current(&trace.bytes);
209 assert_ne!(before, after);
210 let mut durable = source.clone();
211 let mut pending = Vec::new();
212 let mut flushes = 0;
213 for (step, event) in trace.events.iter().enumerate() {
214 if let Event::Write(offset, data) = event {
215 pending.push((*offset, data));
216 }
217 for policy in 0..6 {
218 let mut image = durable.clone();
219 // Unflushed writes may reach storage out of order and only in part.
220 for (offset, data) in pending.iter().rev() {
221 for (i, byte) in data.iter().enumerate() {
222 let persist = match policy {
223 0 => false,
224 1 => true,
225 2 => i < data.len() / 2,
226 3 => i >= data.len() / 2,
227 4 => ((offset + i) / 512) % 2 == 0,
228 _ => (offset + i).wrapping_mul(0x9e3779b9).count_ones() % 2 == 0,
229 };
230 if persist {
231 image.resize(image.len().max(offset + i + 1), 0);
232 image[offset + i] = *byte;
233 }
234 }
235 }
236 let checked =
237 std::panic::catch_unwind(|| -> Result<bool, Box<dyn std::error::Error>> {
238 let observed = current(&image);
239 assert!(
240 observed == before || observed == after,
241 "{name} step {step} policy {policy}"
242 );
243 if flushes >= 3 {
244 assert_eq!(observed, after, "Acknowledged publication was lost");
245 }
246 let committed = observed == after;
247 let mut recovered = Trace {
248 bytes: image.clone(),
249 events: Vec::new(),
250 };
251 apply(&mut recovered, &image, true)?;
252 let recovered_store = Store::parse(&recovered.bytes)?;
253 let recovered_index = RevisionIndex::parse(&recovered_store)?;
254 let recovered_doc = Document::parse(&recovered_index)?;
255 let space = &recovered_doc.spaces[&sid];
256 let revision = &space.revisions[&space.contexts[&ExGuid::default()]];
257 match &revision.nodes[&oid].kind {
258 Kind::RichText { text, .. } => assert!(text.ends_with(" [recovered]")),
259 Kind::Toc { color, .. } => assert_eq!(*color, Some(0x665544)),
260 _ => unreachable!(),
261 }
262 Ok(committed)
263 });
264 let committed = match checked {
265 Ok(Ok(committed)) => committed,
266 failure => {
267 fs::write(destination.join("failure.one"), &image)?;
268 fs::write(
269 destination.join("failure.json"),
270 serde_json::to_vec_pretty(
271 &serde_json::json!({"case": name, "step": step, "policy": policy, "completed_flushes": flushes}),
272 )?,
273 )?;
274 match failure {
275 Ok(Err(error)) => return Err(error),
276 Err(panic) => std::panic::resume_unwind(panic),
277 _ => unreachable!(),
278 }
279 }
280 };
281 let digest = format!("{:x}", md5::compute(&image));
282 if matches!(event, Event::Flush)
283 && (policy == 0 || policy == 1)
284 && !saved.contains_key(&digest)
285 {
286 let directory = format!("{name}-{step}-{policy}");
287 let notebook = destination.join(&directory).join("notebook");
288 fs::create_dir_all(&notebook)?;
289 if toc {
290 fs::write(notebook.join("Open Notebook.onetoc2"), &image)?;
291 fs::copy(
292 PathBuf::from(path).parent().unwrap().join("synthetic.one"),
293 notebook.join("synthetic.one"),
294 )?;
295 } else {
296 fs::write(notebook.join("synthetic.one"), &image)?;
297 let identity = Store::parse(&image)?.header.file_id;
298 fs::write(
299 notebook.join("Open Notebook.onetoc2"),
300 onestore::create_table_of_contents(
301 "Open Notebook.onetoc2",
302 &[("synthetic.one", identity)],
303 )?,
304 )?;
305 }
306 saved.insert(digest.clone(), directory);
307 }
308 records.push(serde_json::json!({"case":name,"step":step,"completed_flushes":flushes,"policy":policy,"committed":committed,"md5":digest}));
309 }
310 if matches!(event, Event::Flush) {
311 for (offset, data) in pending.drain(..) {
312 durable.resize(durable.len().max(offset + data.len()), 0);
313 durable[offset..offset + data.len()].copy_from_slice(data);
314 }
315 flushes += 1;
316 current(&durable);
317 }
318 }
319 assert_eq!(current(&durable), after);
320 }
321 fs::write(
322 destination.join("matrix.json"),
323 serde_json::to_vec_pretty(&records)?,
324 )?;
325 fs::write(
326 destination.join("native-cases.json"),
327 serde_json::to_vec_pretty(&saved)?,
328 )?;
329 println!(
330 "Passed {} persisted images and subsequent edits; {} native cases retained",
331 records.len(),
332 saved.len()
333 );
334 Ok(())
335}
crates/onestore/examples/properties.rs created+41
...@@ -0,0 +1,41 @@
1use onestore::{PropertySets, Reference, Store};
2use std::{env, fs};
3
4fn main() -> Result<(), Box<dyn std::error::Error>> {
5 for path in env::args_os().skip(1) {
6 let bytes = fs::read(&path)?;
7 let store = Store::parse(&bytes)?;
8 let mut count = 0;
9 for list in store.lists.values() {
10 for node in &list.nodes {
11 if node.id == 0x7c {
12 return Err("Encrypted object space requires revision-aware inspection".into());
13 }
14 if matches!(
15 node.id,
16 0xa4 | 0xa5 | 0xc4 | 0xc5 | 0x2d | 0x2e | 0x41 | 0x42
17 ) && let Some(Reference::Data(chunk)) = node.reference
18 {
19 let start = usize::try_from(chunk.offset)?;
20 let end = start
21 .checked_add(usize::try_from(chunk.length)?)
22 .ok_or("Property range exceeds address space")?;
23 let properties = PropertySets::parse(
24 bytes
25 .get(start..end)
26 .ok_or("Property range extends outside the file")?,
27 )
28 .map_err(|error| {
29 format!(
30 "{:?}, node {:#x}, data {start:#x}: {error}",
31 path, node.offset
32 )
33 })?;
34 count += properties.sets.iter().map(Vec::len).sum::<usize>();
35 }
36 }
37 }
38 println!("{:?}: {count} properties", path);
39 }
40 Ok(())
41}
crates/onestore/examples/random_edit.rs created+171
...@@ -0,0 +1,171 @@
1#[path = "../src/flush.rs"]
2mod flush;
3
4use onestore::{
5 ExGuid, RevisionIndex, Store,
6 document::{Document, Kind},
7};
8use std::{
9 collections::BTreeSet,
10 env, fs,
11 io::Write,
12 time::{SystemTime, UNIX_EPOCH},
13};
14
15fn main() -> Result<(), Box<dyn std::error::Error>> {
16 let args: Vec<_> = env::args().skip(1).collect();
17 if !(3..=4).contains(&args.len()) {
18 return Err("Usage: random_edit FILE OUTPUT|--in-place SEED [PAGE_ID]".into());
19 }
20 let started = SystemTime::now().duration_since(UNIX_EPOCH)?.as_millis();
21 let seed: u64 = args[2].parse()?;
22 let mut state = seed;
23 let mut next = || {
24 state = state.wrapping_add(0x9e3779b97f4a7c15);
25 let mut value = state;
26 value = (value ^ (value >> 30)).wrapping_mul(0xbf58476d1ce4e5b9);
27 value = (value ^ (value >> 27)).wrapping_mul(0x94d049bb133111eb);
28 value ^ (value >> 31)
29 };
30 let source = onestore::read_file(&args[0])?;
31 let store = Store::parse(&source)?;
32 let index = RevisionIndex::parse(&store)?;
33 index.validate_current()?;
34 let document = Document::parse(&index)?;
35 let mut candidates = Vec::new();
36 for (sid, page) in document.pages()? {
37 if args.get(3).is_some_and(|id| *id != page.to_string()) {
38 continue;
39 }
40 let space = &document.spaces[&sid];
41 let revision = &space.revisions[&space.contexts[&ExGuid::default()]];
42 let mut pending = vec![page];
43 let mut seen = BTreeSet::new();
44 while let Some(oid) = pending.pop() {
45 if !seen.insert(oid) {
46 continue;
47 }
48 let node = &revision.nodes[&oid];
49 pending.extend(
50 node.children
51 .iter()
52 .chain(&node.content)
53 .chain(&node.structure)
54 .copied(),
55 );
56 if let Kind::RichText {
57 runs,
58 boilerplate: false,
59 ..
60 } = &node.kind
61 {
62 for (run, resolved) in runs.iter().zip(revision.text_runs(oid)?) {
63 if [
64 resolved.format.hidden,
65 resolved.format.hyperlink,
66 resolved.format.math,
67 resolved.format.embedded_object,
68 ]
69 .contains(&Some(true))
70 {
71 continue;
72 }
73 candidates.push((sid, page, oid, run.start, resolved.text));
74 }
75 }
76 }
77 }
78 for i in (1..candidates.len()).rev() {
79 candidates.swap(i, (next() % (i as u64 + 1)) as usize);
80 }
81 let mut rejected = Vec::new();
82 for (sid, page, oid, offset, text) in candidates {
83 let mut boundaries = vec![0];
84 for character in text.chars() {
85 boundaries.push(boundaries.last().unwrap() + character.len_utf16() as u32);
86 }
87 let first = (next() % boundaries.len() as u64) as usize;
88 let second = (next() % boundaries.len() as u64) as usize;
89 let mode = next() % 3;
90 let start = if mode == 0 { first } else { first.min(second) };
91 let end = if mode == 0 { first } else { first.max(second) };
92 let insertion = match next() % 4 {
93 0 => " revised ",
94 1 => " café ",
95 2 => " 東京 🦀 ",
96 _ => " e\u{301} ",
97 };
98 let replacement = if mode == 1 && start != end {
99 ""
100 } else {
101 insertion
102 };
103 let end = if text
104 .chars()
105 .skip(start)
106 .take(end - start)
107 .eq(replacement.chars())
108 {
109 start
110 } else {
111 end
112 };
113 let range = offset + boundaries[start]..offset + boundaries[end];
114 let written = match onestore::replace_text(&source, sid, oid, range.clone(), replacement) {
115 Ok(written) => written,
116 Err(error) => {
117 rejected.push(error.to_string());
118 continue;
119 }
120 };
121 let space = &document.spaces[&sid];
122 let revision = &space.revisions[&space.contexts[&ExGuid::default()]];
123 let Kind::RichText { runs, .. } = &revision.nodes[&oid].kind else {
124 unreachable!()
125 };
126 let selected = runs
127 .iter()
128 .rposition(|run| run.start <= range.start && range.end <= run.end)
129 .unwrap();
130 let actual = revision.text_runs(oid)?;
131 let mut record = serde_json::json!({"seed": seed, "source": args[0], "page": page, "space": sid,
132 "object": oid, "range": [range.start, range.end], "replacement": replacement,
133 "run_before": actual[selected].text, "run_start": runs[selected].start, "source_md5": format!("{:x}", md5::compute(&source)),
134 "started_ms": started, "rejected_candidates": rejected});
135 let failed = if args[1] == "--in-place" {
136 match onestore::commit_file_text(&args[0], &source, sid, oid, range, replacement) {
137 Ok(()) => {
138 record["state"] = "Committed".into();
139 false
140 }
141 Err(error) => {
142 record["state"] = format!("{:?}", error.state).into();
143 record["error"] = error.error.to_string().into();
144 true
145 }
146 }
147 } else {
148 let mut file = fs::OpenOptions::new()
149 .write(true)
150 .create_new(true)
151 .open(&args[1])?;
152 file.write_all(&written)?;
153 flush::flush(&file)?;
154 record["state"] = "Created".into();
155 record["output"] = args[1].clone().into();
156 false
157 };
158 record["finished_ms"] =
159 u64::try_from(SystemTime::now().duration_since(UNIX_EPOCH)?.as_millis())?.into();
160 println!("{}", serde_json::to_string(&record)?);
161 if failed {
162 std::process::exit(2);
163 }
164 return Ok(());
165 }
166 Err(format!(
167 "No supported text edit on the selected page: {}",
168 rejected.join("; ")
169 )
170 .into())
171}
crates/onestore/examples/revisions.rs created+44
...@@ -0,0 +1,44 @@
1use onestore::{RevisionIndex, Store};
2use std::{env, fs};
3
4fn main() -> Result<(), Box<dyn std::error::Error>> {
5 for path in env::args_os().skip(1) {
6 let bytes = fs::read(&path)?;
7 let store = Store::parse(&bytes)?;
8 let index = RevisionIndex::parse(&store)?;
9 index
10 .validate_current()
11 .map_err(|error| format!("{path:?}: {error}"))?;
12 for (id, space) in &index.spaces {
13 for rid in space.revisions.keys() {
14 let resolved = index
15 .resolve(*id, *rid)
16 .map_err(|error| format!("{path:?}: {id} / {rid}: {error}"))?;
17 resolved
18 .reachable()
19 .map_err(|error| format!("{path:?}: {id} / {rid}: {error}"))?;
20 for object in resolved.objects.values() {
21 if let Some(onestore::FileDataReference::Internal(guid)) =
22 object.file_reference()?
23 {
24 store.file_data(guid)?;
25 }
26 if let onestore::ObjectData::Properties(bytes) = object.data {
27 onestore::PropertySets::parse(bytes)?;
28 }
29 }
30 }
31 }
32 let revisions: usize = index
33 .spaces
34 .values()
35 .map(|space| space.revisions.len())
36 .sum();
37 println!(
38 "{:?}: {} object spaces, {revisions} revisions",
39 path,
40 index.spaces.len()
41 );
42 }
43 Ok(())
44}
crates/onestore/src/bytes.rs created+28
...@@ -0,0 +1,28 @@
1use crate::Error;
2
3type Result<T> = std::result::Result<T, Error>;
4
5pub(crate) struct Cursor<'a> {
6 pub(crate) bytes: &'a [u8],
7 pub(crate) offset: usize,
8}
9
10impl<'a> Cursor<'a> {
11 pub(crate) fn take(&mut self, len: usize) -> Result<&'a [u8]> {
12 let Some((head, tail)) = self.bytes.split_at_checked(len) else {
13 return Err(Error {
14 offset: self.offset,
15 message: "Truncated structure",
16 });
17 };
18 self.bytes = tail;
19 self.offset += len;
20 Ok(head)
21 }
22
23 pub(crate) fn read<const N: usize>(&mut self) -> Result<[u8; N]> {
24 let mut value = [0; N];
25 value.copy_from_slice(self.take(N)?);
26 Ok(value)
27 }
28}
crates/onestore/src/commit.rs created+308
...@@ -0,0 +1,308 @@
1use crate::{ExGuid, replace_property_bytes};
2use std::io::{self, ErrorKind};
3
4#[cfg(any(unix, windows))]
5use std::{
6 fs::File,
7 io::Read,
8 path::Path,
9 sync::{Mutex, MutexGuard},
10};
11
12#[cfg(unix)]
13use std::os::unix::fs::FileExt;
14#[cfg(windows)]
15use std::os::windows::fs::FileExt;
16
17#[cfg(any(unix, windows))]
18struct FileIo {
19 file: File,
20 _process: MutexGuard<'static, ()>,
21 unlock_on_drop: bool,
22}
23
24#[cfg(any(unix, windows))]
25impl FileIo {
26 fn open(path: impl AsRef<Path>, write: bool) -> io::Result<Self> {
27 static PROCESS: Mutex<()> = Mutex::new(());
28 let process = PROCESS
29 .lock()
30 .map_err(|_| io::Error::other("A file operation panicked in this process"))?;
31 let mut options = File::options();
32 options.read(true).write(write);
33 #[cfg(target_os = "macos")]
34 {
35 use std::os::unix::fs::OpenOptionsExt;
36 // SMB can lose exclusion when separate opens race with flock.
37 options.custom_flags(nix::libc::O_EXLOCK | nix::libc::O_NONBLOCK);
38 }
39 let file = options.open(path)?;
40 #[cfg(not(target_os = "macos"))]
41 file.try_lock()?;
42 Ok(Self {
43 file,
44 _process: process,
45 unlock_on_drop: true,
46 })
47 }
48
49 fn release(&mut self) -> io::Result<()> {
50 // A failed unlock may have reached the server; Drop must not repeat it.
51 self.unlock_on_drop = false;
52 self.file.unlock()
53 }
54
55 fn finish(mut self, result: Result<(), CommitError>) -> Result<(), CommitError> {
56 let released = self.release();
57 result?;
58 released.map_err(|error| CommitError {
59 state: CommitState::Committed,
60 error,
61 })
62 }
63}
64
65#[cfg(any(unix, windows))]
66impl Drop for FileIo {
67 fn drop(&mut self) {
68 if self.unlock_on_drop {
69 let _ = self.file.unlock();
70 }
71 }
72}
73
74/// Reads a snapshot under the same whole-file exclusion used for commits.
75/// Native writers can expose incomplete graphs to unlocked filesystem reads.
76#[cfg(any(unix, windows))]
77pub fn read_file(path: impl AsRef<Path>) -> io::Result<Vec<u8>> {
78 let mut io = FileIo::open(path, false)?;
79 let mut bytes = Vec::new();
80 let result = io.file.read_to_end(&mut bytes);
81 let released = io.release();
82 result?;
83 released?;
84 Ok(bytes)
85}
86
87#[cfg(any(unix, windows))]
88impl CommitIo for FileIo {
89 fn read_at(&mut self, offset: u64, bytes: &mut [u8]) -> io::Result<usize> {
90 #[cfg(unix)]
91 return self.file.read_at(bytes, offset);
92 #[cfg(windows)]
93 return self.file.seek_read(bytes, offset);
94 }
95
96 fn write_at(&mut self, offset: u64, bytes: &[u8]) -> io::Result<usize> {
97 #[cfg(unix)]
98 return self.file.write_at(bytes, offset);
99 #[cfg(windows)]
100 return self.file.seek_write(bytes, offset);
101 }
102
103 fn flush(&mut self) -> io::Result<()> {
104 crate::flush::flush(&self.file)
105 }
106}
107
108/// Commits under an exclusive whole-file lock; contention returns WouldBlock.
109/// Calls are serialized within this process because macOS SMB locks are reentrant.
110/// Durability relies on the filesystem and server honoring their flush contract.
111/// A changed snapshot returns ResourceBusy without publishing the edit.
112#[cfg(any(unix, windows))]
113pub fn commit_file_property(
114 path: impl AsRef<Path>,
115 source: &[u8],
116 space: ExGuid,
117 object: ExGuid,
118 property: u32,
119 value: &[u8],
120) -> Result<(), CommitError> {
121 let mut io = FileIo::open(path, true).map_err(|error| CommitError {
122 state: CommitState::NotCommitted,
123 error,
124 })?;
125 let result = commit_property_bytes(&mut io, source, space, object, property, value);
126 io.finish(result)
127}
128
129/// Commits a text edit with the same exclusion and snapshot check as scalar edits.
130#[cfg(any(unix, windows))]
131pub fn commit_file_text(
132 path: impl AsRef<Path>,
133 source: &[u8],
134 space: ExGuid,
135 object: ExGuid,
136 range: std::ops::Range<u32>,
137 replacement: &str,
138) -> Result<(), CommitError> {
139 let mut io = FileIo::open(path, true).map_err(|error| CommitError {
140 state: CommitState::NotCommitted,
141 error,
142 })?;
143 let result = commit_text(&mut io, source, space, object, range, replacement);
144 io.finish(result)
145}
146
147/// Atomically publishes text and its dependent run boundaries under caller-held exclusion.
148pub fn commit_text(
149 io: &mut impl CommitIo,
150 source: &[u8],
151 space: ExGuid,
152 object: ExGuid,
153 range: std::ops::Range<u32>,
154 replacement: &str,
155) -> Result<(), CommitError> {
156 let written =
157 crate::replace_text(source, space, object, range, replacement).map_err(|error| {
158 CommitError {
159 state: CommitState::NotCommitted,
160 error: io::Error::new(ErrorKind::InvalidData, error),
161 }
162 })?;
163 commit_bytes(io, source, &written)
164}
165
166/// The caller must hold OneNote-compatible exclusion for the entire operation.
167/// Flush must make preceding writes durable before subsequent writes can persist.
168pub trait CommitIo {
169 fn read_at(&mut self, offset: u64, bytes: &mut [u8]) -> io::Result<usize>;
170 fn write_at(&mut self, offset: u64, bytes: &[u8]) -> io::Result<usize>;
171 fn flush(&mut self) -> io::Result<()>;
172}
173
174#[derive(Debug, Clone, Copy, PartialEq, Eq)]
175pub enum CommitState {
176 /// Publication did not occur; preparation bytes may remain. Reread before retrying.
177 NotCommitted,
178 /// Publication may have persisted. Reread and reconcile the intent before retrying.
179 Unknown,
180 /// Publication was durably acknowledged, but cleanup failed. Do not replay the edit.
181 Committed,
182}
183
184#[derive(Debug)]
185pub struct CommitError {
186 pub state: CommitState,
187 pub error: io::Error,
188}
189
190impl std::fmt::Display for CommitError {
191 fn fmt(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
192 write!(formatter, "{:?}: {}", self.state, self.error)
193 }
194}
195
196impl std::error::Error for CommitError {
197 fn source(&self) -> Option<&(dyn std::error::Error + 'static)> {
198 Some(&self.error)
199 }
200}
201
202fn write_all(io: &mut impl CommitIo, mut offset: usize, mut bytes: &[u8]) -> io::Result<()> {
203 while !bytes.is_empty() {
204 match io.write_at(offset as u64, bytes) {
205 Ok(0) => return Err(io::Error::from(ErrorKind::WriteZero)),
206 Ok(count) if count <= bytes.len() => {
207 offset += count;
208 bytes = &bytes[count..];
209 }
210 Ok(_) => {
211 return Err(io::Error::new(
212 ErrorKind::InvalidData,
213 "Storage returned an excessive write count",
214 ));
215 }
216 Err(error) if error.kind() == ErrorKind::Interrupted => {}
217 Err(error) => return Err(error),
218 }
219 }
220 Ok(())
221}
222
223/// Publishes a scalar revision after checking the locked file against its snapshot.
224/// Unknown outcomes require rereading; Committed errors affect counter cleanup or lock release.
225pub fn commit_property_bytes(
226 io: &mut impl CommitIo,
227 source: &[u8],
228 space: ExGuid,
229 object: ExGuid,
230 property: u32,
231 value: &[u8],
232) -> Result<(), CommitError> {
233 let written =
234 replace_property_bytes(source, space, object, property, value).map_err(|error| {
235 CommitError {
236 state: CommitState::NotCommitted,
237 error: io::Error::new(ErrorKind::InvalidData, error),
238 }
239 })?;
240 commit_bytes(io, source, &written)
241}
242
243pub(crate) fn commit_bytes(
244 io: &mut impl CommitIo,
245 source: &[u8],
246 written: &[u8],
247) -> Result<(), CommitError> {
248 let mut state = CommitState::NotCommitted;
249 let result = (|| -> io::Result<()> {
250 let mut buffer = [0; 65536];
251 let mut offset = 0;
252 while offset < source.len() {
253 let size = buffer.len().min(source.len() - offset);
254 let count = match io.read_at(offset as u64, &mut buffer[..size]) {
255 Err(error) if error.kind() == ErrorKind::Interrupted => continue,
256 result => result?,
257 };
258 if count == 0 {
259 return Err(io::Error::from(ErrorKind::UnexpectedEof));
260 }
261 if count > size || buffer[..count] != source[offset..offset + count] {
262 return Err(io::Error::new(
263 ErrorKind::ResourceBusy,
264 "The locked file differs from the edit snapshot",
265 ));
266 }
267 offset += count;
268 }
269 if io.read_at(source.len() as u64, &mut buffer[..1])? != 0 {
270 return Err(io::Error::new(
271 ErrorKind::ResourceBusy,
272 "The locked file grew after the edit snapshot",
273 ));
274 }
275 if written == source {
276 state = CommitState::Unknown;
277 io.flush()?;
278 return Ok(());
279 }
280 write_all(io, source.len(), &written[source.len()..])?;
281 let mut offset = 1024;
282 while offset < source.len() {
283 if source[offset] == written[offset] {
284 offset += 1;
285 continue;
286 }
287 let start = offset;
288 while offset < source.len() && source[offset] != written[offset] {
289 offset += 1;
290 }
291 write_all(io, start, &written[start..offset])?;
292 }
293 io.flush()?;
294 write_all(io, 100, &written[100..1024])?;
295 io.flush()?;
296 let highest = (96..100).rfind(|at| source[*at] != written[*at]).unwrap();
297 state = CommitState::Unknown;
298 write_all(io, highest, &written[highest..highest + 1])?;
299 io.flush()?;
300 state = CommitState::Committed;
301 if highest > 96 {
302 write_all(io, 96, &written[96..highest])?;
303 io.flush()?;
304 }
305 Ok(())
306 })();
307 result.map_err(|error| CommitError { state, error })
308}
crates/onestore/src/create.rs created+554
...@@ -0,0 +1,554 @@
1use crate::{
2 Chunk, Error, ExGuid, FileType, PropertySets, Reference, RevisionIndex, Store,
3 store::crc,
4 write::{append, append_list, fresh_guid, node},
5};
6use std::collections::BTreeMap;
7use std::time::{SystemTime, UNIX_EPOCH};
8
9type Result<T> = std::result::Result<T, Error>;
10
11fn string(value: &str) -> Vec<u8> {
12 value
13 .encode_utf16()
14 .chain([0])
15 .flat_map(u16::to_le_bytes)
16 .collect()
17}
18
19fn properties(values: &[(u32, Vec<u8>)]) -> Result<Vec<u8>> {
20 let mut streams: [Vec<u8>; 3] = std::array::from_fn(|_| Vec::new());
21 let mut fields = Vec::new();
22 for (id, value) in values {
23 let kind = (id >> 26) & 0x1f;
24 match kind {
25 1 | 2 => assert!(value.is_empty()),
26 3..=6 => {
27 assert_eq!(value.len(), 1 << (kind - 3));
28 fields.extend(value);
29 }
30 7 => {
31 if value.len() >= 0x40000000 {
32 return Err(Error {
33 offset: 0,
34 message: "Property data exceeds the format length limit",
35 });
36 }
37 fields.extend_from_slice(&(value.len() as u32).to_le_bytes());
38 fields.extend(value);
39 }
40 8..=13 => {
41 assert!(value.len().is_multiple_of(4));
42 if kind & 1 == 0 {
43 assert_eq!(value.len(), 4);
44 } else {
45 fields
46 .extend_from_slice(&u32::try_from(value.len() / 4).unwrap().to_le_bytes());
47 }
48 streams[((kind - 8) / 2) as usize].extend(value);
49 }
50 _ => unreachable!(),
51 }
52 }
53 let mut data = Vec::new();
54 let extended = !streams[2].is_empty();
55 let last = if extended {
56 2
57 } else if !streams[1].is_empty() {
58 1
59 } else {
60 0
61 };
62 for (index, stream) in streams.iter().enumerate().take(last + 1) {
63 let mut header = u32::try_from(stream.len() / 4).unwrap();
64 assert!(header <= 0xffffff);
65 if index == 0 && last == 0 {
66 header |= 0x80000000;
67 }
68 if index < 2 && extended {
69 header |= 0x40000000;
70 }
71 data.extend_from_slice(&header.to_le_bytes());
72 data.extend(stream);
73 }
74 data.extend_from_slice(&u16::try_from(values.len()).unwrap().to_le_bytes());
75 for (id, _) in values {
76 data.extend_from_slice(&id.to_le_bytes());
77 }
78 data.extend(fields);
79 data.resize(data.len().next_multiple_of(8), 0);
80 PropertySets::parse(&data)?;
81 Ok(data)
82}
83
84struct NewObject {
85 id: u32,
86 jcid: u32,
87 properties: Vec<(u32, Vec<u8>)>,
88}
89
90struct NewSpace {
91 id: u32,
92 roots: Vec<(u32, u32)>,
93 objects: Vec<NewObject>,
94}
95
96pub(crate) fn current_timestamps() -> Result<(u32, u64)> {
97 let now = SystemTime::now()
98 .duration_since(UNIX_EPOCH)
99 .map_err(|_| Error {
100 offset: 0,
101 message: "System time precedes the Unix epoch",
102 })?
103 .as_secs();
104 let modified = now
105 .checked_sub(315532800)
106 .and_then(|time| u32::try_from(time).ok())
107 .ok_or(Error {
108 offset: 0,
109 message: "System time exceeds the OneNote Time32 range",
110 })?;
111 Ok((modified, (now + 11644473600) * 10000000))
112}
113
114/// Creates a section with one page and one plain-text paragraph, without a template.
115/// Text must not contain NUL or line-feed characters.
116pub fn create_section(file_name: &str, text: &str, author: &str) -> Result<Vec<u8>> {
117 if file_name.contains(['/', '\\', '\0'])
118 || !file_name.to_ascii_lowercase().ends_with(".one")
119 || text.contains(['\0', '\n'])
120 || author.contains('\0')
121 {
122 return Err(Error {
123 offset: 0,
124 message: "Invalid section name, paragraph text, or author",
125 });
126 }
127 let (modified, timestamp) = current_timestamps()?;
128 let timestamp = timestamp.to_le_bytes().to_vec();
129 let page_guid = fresh_guid()?;
130 let metadata = vec![
131 (0x1c001c30, page_guid.to_vec()),
132 (0x1c001cf3, string(crate::edit::automatic_title(text))),
133 (0x14001d82, 40_u32.to_le_bytes().to_vec()),
134 (0x1400348b, 40_u32.to_le_bytes().to_vec()),
135 (0x14001dff, 1_u32.to_le_bytes().to_vec()),
136 (0x18001c65, timestamp.clone()),
137 ];
138 let id = |value: u32| value.to_le_bytes().to_vec();
139 let last_modified = || (0x14001d7a, modified.to_le_bytes().to_vec());
140 let spaces = vec![
141 NewSpace {
142 id: 1,
143 roots: vec![(1, 10), (2, 11)],
144 objects: vec![
145 NewObject {
146 id: 10,
147 jcid: 0x60007,
148 properties: vec![
149 (0x1c001c30, fresh_guid()?.to_vec()),
150 (0x18001c65, timestamp.clone()),
151 (0x24001c20, id(12)),
152 ],
153 },
154 NewObject {
155 id: 11,
156 jcid: 0x20031,
157 properties: vec![
158 (0x14001d82, id(40)),
159 (0x1400348b, id(40)),
160 (0x14001cbe, vec![0x8a, 0xa8, 0xe4, 0]),
161 ],
162 },
163 NewObject {
164 id: 12,
165 jcid: 0x60008,
166 properties: vec![
167 (0x1c001c30, fresh_guid()?.to_vec()),
168 (0x18001c65, timestamp),
169 (0x2c001d63, id(257)),
170 ],
171 },
172 ],
173 },
174 NewSpace {
175 id: 257,
176 roots: vec![(1, 20), (2, 21)],
177 objects: vec![
178 NewObject {
179 id: 20,
180 jcid: 0x60037,
181 properties: vec![(0x24001c1f, id(22))],
182 },
183 NewObject {
184 id: 21,
185 jcid: 0x20030,
186 properties: metadata,
187 },
188 NewObject {
189 id: 22,
190 jcid: 0x6000b,
191 properties: vec![
192 last_modified(),
193 (0x24001c20, id(23)),
194 (0x1c001d75, string(author)),
195 (0x1c001d3c, string(crate::edit::automatic_title(text))),
196 ],
197 },
198 NewObject {
199 id: 23,
200 jcid: 0x6000c,
201 properties: vec![
202 last_modified(),
203 (0x24001c20, id(24)),
204 (0x0c001c03, vec![1]),
205 (0x1c001c12, vec![1, 0, 0, 0, 0, 0, 0, 0]),
206 (0x14001c14, 1_f32.to_le_bytes().to_vec()),
207 (0x14001c15, 1_f32.to_le_bytes().to_vec()),
208 (0x14001c1b, 13_f32.to_le_bytes().to_vec()),
209 (0x14001c1c, 0.6_f32.to_le_bytes().to_vec()),
210 ],
211 },
212 NewObject {
213 id: 24,
214 jcid: 0x6000d,
215 properties: vec![
216 last_modified(),
217 (0x24001c1f, id(25)),
218 (0x0c001c03, vec![1]),
219 (0x20001d78, id(26)),
220 (0x20001d79, id(26)),
221 (0x14001d09, modified.to_le_bytes().to_vec()),
222 ],
223 },
224 NewObject {
225 id: 25,
226 jcid: 0x6000e,
227 properties: vec![
228 last_modified(),
229 (0x1c001c22, string(text)),
230 (0x24001e13, id(27)),
231 (0x10001cfe, 0x409_u16.to_le_bytes().to_vec()),
232 ],
233 },
234 NewObject {
235 id: 26,
236 jcid: 0x120001,
237 properties: vec![(0x1c001d75, string(author))],
238 },
239 NewObject {
240 id: 27,
241 jcid: 0x12004d,
242 properties: vec![
243 (0x14001c3b, id(0x409)),
244 (0x1c001c0a, string("Calibri")),
245 (0x10001c0b, 22_u16.to_le_bytes().to_vec()),
246 ],
247 },
248 ],
249 },
250 ];
251 create(file_name, FileType::Section, spaces)
252}
253
254/// Creates a notebook table of contents from section filenames and file identities.
255pub fn create_table_of_contents(file_name: &str, sections: &[(&str, [u8; 16])]) -> Result<Vec<u8>> {
256 if file_name.contains(['/', '\\', '\0'])
257 || !file_name.to_ascii_lowercase().ends_with(".onetoc2")
258 || sections.len() > 0xfffffe
259 {
260 return Err(Error {
261 offset: 0,
262 message: "Invalid table-of-contents filename or section count",
263 });
264 }
265 let mut objects = Vec::new();
266 let mut children = Vec::new();
267 let mut names = std::collections::BTreeSet::new();
268 let mut identities = std::collections::BTreeSet::new();
269 for (index, (name, identity)) in sections.iter().enumerate() {
270 if name.contains(['/', '\\', '\0'])
271 || !name.to_ascii_lowercase().ends_with(".one")
272 || !names.insert(name.to_lowercase())
273 || *identity == [0; 16]
274 || !identities.insert(*identity)
275 {
276 return Err(Error {
277 offset: 0,
278 message: "Invalid or duplicate section filename or identity",
279 });
280 }
281 let id = (((index + 1) as u32) << 8) | 10;
282 children.extend_from_slice(&id.to_le_bytes());
283 objects.push(NewObject {
284 id,
285 jcid: 0x20001,
286 properties: vec![
287 (0x1c001d94, identity.to_vec()),
288 (0x14001cb9, ((index + 1) as u32).to_le_bytes().to_vec()),
289 (0x1c001d6b, string(name)),
290 (0x14001cbe, vec![0xff; 4]),
291 ],
292 });
293 }
294 objects.push(NewObject {
295 id: 10,
296 jcid: 0x20001,
297 properties: vec![(0x24001cf6, children)],
298 });
299 create(
300 file_name,
301 FileType::TableOfContents,
302 vec![NewSpace {
303 id: 1,
304 roots: vec![(1, 10)],
305 objects,
306 }],
307 )
308}
309
310fn create(file_name: &str, file_type: FileType, spaces: Vec<NewSpace>) -> Result<Vec<u8>> {
311 let is_section = file_type == FileType::Section;
312 let maximum = spaces
313 .iter()
314 .flat_map(|space| {
315 std::iter::once(space.id).chain(space.objects.iter().map(|object| object.id))
316 })
317 .max()
318 .unwrap();
319 let guids = (0..=(maximum >> 8))
320 .map(|_| fresh_guid())
321 .collect::<Result<Vec<_>>>()?;
322 let exguid = |compact: u32| ExGuid {
323 guid: guids[(compact >> 8) as usize],
324 n: compact & 255,
325 };
326 let mut output = vec![0; 1024];
327 let mut root_payload = Vec::new();
328 exguid(spaces[0].id).encode(&mut root_payload);
329 let mut root = Vec::new();
330 let mut log = Vec::new();
331 let mut list_id = 16_u32;
332 let mut hashed = Vec::new();
333 for space in spaces {
334 let mut counts = BTreeMap::<u32, u32>::new();
335 for (_, id) in &space.roots {
336 *counts.entry(*id).or_default() += 1;
337 }
338 for object in &space.objects {
339 for (property, value) in &object.properties {
340 if matches!((property >> 26) & 0x1f, 8 | 9) {
341 for id in value.chunks_exact(4) {
342 *counts
343 .entry(u32::from_le_bytes(id.try_into().unwrap()))
344 .or_default() += 1;
345 }
346 }
347 }
348 }
349 let group_id = ExGuid {
350 guid: fresh_guid()?,
351 n: 1,
352 };
353 let mut group_payload = Vec::new();
354 group_id.encode(&mut group_payload);
355 let mut group = if is_section {
356 vec![node(0xb4, None, &group_payload)?, node(0x22, None, &[])?]
357 } else {
358 vec![node(0x21, None, &[0])?]
359 };
360 for (index, guid) in guids.iter().enumerate() {
361 let mut entry = (index as u32).to_le_bytes().to_vec();
362 entry.extend_from_slice(guid);
363 group.push(node(0x24, None, &entry)?);
364 }
365 group.push(node(0x28, None, &[])?);
366 let mut override_crc = if is_section { u32::MAX } else { 0 };
367 for object in space.objects {
368 let data = properties(&object.properties)?;
369 let chunk = append(&mut output, &data)?;
370 let mut payload = object.id.to_le_bytes().to_vec();
371 let mut flags = 0;
372 for (property, value) in object.properties {
373 if !value.is_empty() {
374 match (property >> 26) & 0x1f {
375 8 | 9 => flags |= 1,
376 10..=13 => flags |= 2,
377 _ => {}
378 }
379 }
380 }
381 if is_section {
382 payload.extend_from_slice(&object.jcid.to_le_bytes());
383 payload.push(flags);
384 } else {
385 let body = 1_u64 | (u64::from(flags & 1) << 16);
386 payload.extend_from_slice(&body.to_le_bytes()[..6]);
387 }
388 let count = counts.get(&object.id).copied().unwrap_or(0).to_le_bytes();
389 payload.extend_from_slice(&count);
390 override_crc = crc(override_crc, &count, file_type);
391 let readonly = object.jcid & 0x100000 != 0;
392 if readonly {
393 let hash = md5::compute(&data).0;
394 payload.extend_from_slice(&hash);
395 hashed.push(node(0xc2, Some(Reference::Data(chunk)), &hash)?);
396 }
397 group.push(node(
398 if !is_section {
399 0x2e
400 } else if readonly {
401 0xc5
402 } else {
403 0xa5
404 },
405 Some(Reference::Data(chunk)),
406 &payload,
407 )?);
408 }
409 let group_chunk = if is_section {
410 group.push(node(0xb8, None, &[])?);
411 Some(append_list(&mut output, list_id, &group)?)
412 } else {
413 None
414 };
415 let group_count = group.len();
416 let mut start = Vec::new();
417 exguid(space.id).encode(&mut start);
418 start.extend_from_slice(&0_u32.to_le_bytes());
419 let mut revision = Vec::new();
420 ExGuid {
421 guid: fresh_guid()?,
422 n: 1,
423 }
424 .encode(&mut revision);
425 ExGuid::default().encode(&mut revision);
426 if !is_section {
427 revision.extend_from_slice(&0_u64.to_le_bytes());
428 }
429 revision.extend_from_slice(&1_u32.to_le_bytes());
430 revision.extend_from_slice(&0_u16.to_le_bytes());
431 let mut manifest = vec![
432 node(0x14, None, &start)?,
433 node(if is_section { 0x1e } else { 0x1b }, None, &revision)?,
434 ];
435 if let Some(chunk) = group_chunk {
436 manifest.push(node(
437 0xb0,
438 Some(Reference::NodeList(chunk)),
439 &group_payload,
440 )?);
441 let mut overrides = vec![0; 8];
442 overrides.extend_from_slice(&(!override_crc).to_le_bytes());
443 manifest.push(node(
444 0x84,
445 Some(Reference::Data(Chunk {
446 offset: u64::MAX,
447 length: 0,
448 })),
449 &overrides,
450 )?);
451 } else {
452 manifest.extend(group);
453 }
454 for (role, oid) in space.roots {
455 let mut payload = Vec::new();
456 if is_section {
457 exguid(oid).encode(&mut payload);
458 } else {
459 payload.extend_from_slice(&oid.to_le_bytes());
460 }
461 payload.extend_from_slice(&role.to_le_bytes());
462 manifest.push(node(if is_section { 0x5a } else { 0x59 }, None, &payload)?);
463 }
464 manifest.push(node(0x1c, None, &[])?);
465 let manifest_chunk = append_list(&mut output, list_id + 1, &manifest)?;
466 let mut space_payload = Vec::new();
467 exguid(space.id).encode(&mut space_payload);
468 let space_nodes = vec![
469 node(0xc, None, &space_payload)?,
470 node(0x10, Some(Reference::NodeList(manifest_chunk)), &[])?,
471 ];
472 let space_chunk = append_list(&mut output, list_id + 2, &space_nodes)?;
473 root.push(node(
474 8,
475 Some(Reference::NodeList(space_chunk)),
476 &space_payload,
477 )?);
478 for (id, count) in [
479 (list_id, group_count),
480 (list_id + 1, manifest.len()),
481 (list_id + 2, space_nodes.len()),
482 ] {
483 if id == list_id && !is_section {
484 continue;
485 }
486 log.extend_from_slice(&id.to_le_bytes());
487 log.extend_from_slice(&u32::try_from(count).unwrap().to_le_bytes());
488 }
489 list_id += 3;
490 }
491 root.push(node(4, None, &root_payload)?);
492 let root_chunk = append_list(&mut output, list_id, &root)?;
493 log.extend_from_slice(&list_id.to_le_bytes());
494 log.extend_from_slice(&u32::try_from(root.len()).unwrap().to_le_bytes());
495 let hashed_chunk = if !hashed.is_empty() {
496 let chunk = append_list(&mut output, list_id + 1, &hashed)?;
497 log.extend_from_slice(&(list_id + 1).to_le_bytes());
498 log.extend_from_slice(&u32::try_from(hashed.len()).unwrap().to_le_bytes());
499 Some(chunk)
500 } else {
501 None
502 };
503 let checksum = if is_section {
504 !crc(u32::MAX, &log, file_type)
505 } else {
506 crc(0, &log, file_type)
507 };
508 log.extend_from_slice(&1_u32.to_le_bytes());
509 log.extend_from_slice(&checksum.to_le_bytes());
510 log.extend_from_slice(&u64::MAX.to_le_bytes());
511 log.extend_from_slice(&0_u32.to_le_bytes());
512 let log_chunk = append(&mut output, &log)?;
513 output[..16].copy_from_slice(&[
514 0xe4, 0x52, 0x5c, 0x7b, 0x8c, 0xd8, 0xa7, 0x4d, 0xae, 0xb1, 0x53, 0x78, 0xd0, 0x29, 0x96,
515 0xd3,
516 ]);
517 if !is_section {
518 output[..16].copy_from_slice(&[
519 0xa1, 0x2f, 0xff, 0x43, 0xd9, 0xef, 0x76, 0x4c, 0x9e, 0xe2, 0x10, 0xea, 0x57, 0x22,
520 0x76, 0x5f,
521 ]);
522 }
523 output[16..32].copy_from_slice(&fresh_guid()?);
524 output[48..64].copy_from_slice(&[
525 0x3f, 0xdd, 0x9a, 0x10, 0x1b, 0x91, 0xf5, 0x49, 0xa5, 0xd0, 0x17, 0x91, 0xed, 0xc8, 0xae,
526 0xd8,
527 ]);
528 for at in [64, 68, 72, 76] {
529 output[at..at + 4]
530 .copy_from_slice(&(if is_section { 42_u32 } else { 27_u32 }).to_le_bytes());
531 }
532 for at in [88, 112] {
533 output[at..at + 4].copy_from_slice(&u32::MAX.to_le_bytes());
534 }
535 output[96..100].copy_from_slice(&1_u32.to_le_bytes());
536 output[144..148]
537 .copy_from_slice(&(!crc(u32::MAX, &string(file_name), FileType::Section)).to_le_bytes());
538 for (at, chunk) in hashed_chunk
539 .map(|chunk| (148, chunk))
540 .into_iter()
541 .chain([(160, log_chunk), (172, root_chunk)])
542 {
543 output[at..at + 8].copy_from_slice(&chunk.offset.to_le_bytes());
544 output[at + 8..at + 12].copy_from_slice(&(chunk.length as u32).to_le_bytes());
545 }
546 let length = output.len() as u64;
547 output[196..204].copy_from_slice(&length.to_le_bytes());
548 output[212..228].copy_from_slice(&fresh_guid()?);
549 output[228..236].copy_from_slice(&1_u64.to_le_bytes());
550 output[236..252].copy_from_slice(&fresh_guid()?);
551 let store = Store::parse(&output)?;
552 RevisionIndex::parse(&store)?.validate_current()?;
553 Ok(output)
554}
crates/onestore/src/document.rs created+1126
...@@ -0,0 +1,1126 @@
1//! Referenced MS-ONE document revisions. Coordinates are points; text offsets are UTF-16 units.
2//!
3//! These are inspection views of one section or table-of-contents file. Mutating
4//! their public fields does not edit the notebook; use the crate's commit functions.
5
6use crate::{
7 Error, ExGuid, FileDataReference, IdStream, Object, ObjectData, Property, PropertySets,
8 RevisionIndex, Store, Value, bytes::Cursor,
9};
10use serde::Serialize;
11use std::collections::{BTreeMap, BTreeSet};
12
13type Result<T> = std::result::Result<T, Error>;
14
15fn invalid(message: &'static str) -> Error {
16 Error { offset: 0, message }
17}
18
19#[derive(Debug, Serialize)]
20/// Borrows source payloads; retain the input snapshot and store while using this view.
21pub struct Document<'a> {
22 pub file_id: [u8; 16],
23 pub root: ExGuid,
24 pub spaces: BTreeMap<ExGuid, Space<'a>>,
25}
26
27#[derive(Debug, Serialize)]
28pub struct Space<'a> {
29 pub contexts: BTreeMap<ExGuid, ExGuid>,
30 pub revisions: BTreeMap<ExGuid, Revision<'a>>,
31}
32
33#[derive(Debug, Serialize)]
34pub struct Revision<'a> {
35 pub roots: BTreeMap<u32, ExGuid>,
36 pub nodes: BTreeMap<ExGuid, Element<'a>>,
37}
38
39#[derive(Debug, Serialize)]
40pub struct Element<'a> {
41 pub jcid: u32,
42 pub children: Vec<ExGuid>,
43 pub content: Vec<ExGuid>,
44 pub structure: Vec<ExGuid>,
45 pub spaces: Vec<ExGuid>,
46 /// Relative indentation level of child outline elements.
47 pub child_level: Option<u8>,
48 pub layout: Layout,
49 pub format: Format,
50 /// Time32 seconds since 1980-01-01 UTC.
51 pub created: Option<u32>,
52 /// Time32 seconds since 1980-01-01 UTC.
53 pub modified: Option<u32>,
54 pub original_author: Option<ExGuid>,
55 pub latest_author: Option<ExGuid>,
56 pub media_ids: Vec<[u8; 16]>,
57 pub media_time_ms: Option<u32>,
58 pub tags: Vec<Tag>,
59 pub kind: Kind<'a>,
60 /// Uninterpreted fields retain their nested-set indices and decoded reference identities.
61 pub extra: Vec<Vec<Field<'a>>>,
62}
63
64#[derive(Debug, Default, Serialize)]
65pub struct Layout {
66 pub x: Option<f32>,
67 pub y: Option<f32>,
68 pub max_width: Option<f32>,
69 pub max_height: Option<f32>,
70}
71
72macro_rules! format_fields {
73 ($($field:ident: $value:ty),* $(,)?) => {
74 #[derive(Debug, Default, Serialize)]
75 pub struct Format { $(pub $field: Option<$value>),* }
76
77 impl Format {
78 /// Explicit false values override inherited true values.
79 pub fn inherit(&self, parent: &Self) -> Self {
80 Self { $($field: self.$field.as_ref().or(parent.$field.as_ref()).cloned()),* }
81 }
82 }
83 };
84}
85
86format_fields! {
87 bold: bool,
88 italic: bool,
89 underline: bool,
90 strike: bool,
91 superscript: bool,
92 subscript: bool,
93 hidden: bool,
94 hyperlink: bool,
95 hyperlink_label: bool,
96 math: bool,
97 embedded_object: bool,
98 font: String,
99 font_size: f32,
100 color: u32,
101 highlight: u32,
102 language: u32,
103 alignment: u8,
104 rtl: bool,
105 space_before: f32,
106 space_after: f32,
107 line_spacing: f32,
108}
109
110#[derive(Debug, Serialize)]
111pub struct TextRun {
112 pub start: u32,
113 pub end: u32,
114 pub format: Option<ExGuid>,
115 /// Index in the text element's extra arena for preserved TextRunData properties.
116 pub extra_set: Option<usize>,
117}
118
119#[derive(Debug, Serialize)]
120pub struct ResolvedTextRun<'a> {
121 pub text: &'a str,
122 pub format: Format,
123 pub link: Option<&'a str>,
124}
125
126impl Revision<'_> {
127 /// Resolves inherited formatting without discarding hidden fields or their source text.
128 pub fn text_runs(&self, id: ExGuid) -> Result<Vec<ResolvedTextRun<'_>>> {
129 let node = self
130 .nodes
131 .get(&id)
132 .ok_or_else(|| invalid("Missing text object"))?;
133 let Kind::RichText {
134 text,
135 runs,
136 paragraph_style,
137 ..
138 } = &node.kind
139 else {
140 return Err(invalid("Expected a rich-text object"));
141 };
142 let style = |id: ExGuid| -> Result<&Format> {
143 let node = self
144 .nodes
145 .get(&id)
146 .ok_or_else(|| invalid("Missing text style"))?;
147 if !matches!(node.kind, Kind::Style { .. }) {
148 return Err(invalid("Text formatting does not reference a style"));
149 }
150 Ok(&node.format)
151 };
152 let default = Format::default();
153 let parent = paragraph_style.map(style).transpose()?.unwrap_or(&default);
154 let base = node.format.inherit(parent);
155 let mut characters = text.char_indices();
156 let (mut units, mut byte) = (0, 0);
157 let mut target = None;
158 let mut resolved = Vec::with_capacity(runs.len());
159 for run in runs {
160 if run.start != units || run.end < units {
161 return Err(invalid("Text runs do not partition the text"));
162 }
163 let start = byte;
164 while units < run.end {
165 let (offset, character) = characters
166 .next()
167 .ok_or_else(|| invalid("Text run exceeds text"))?;
168 units = units
169 .checked_add(character.len_utf16() as u32)
170 .ok_or_else(|| invalid("Text exceeds UTF-16 offset range"))?;
171 byte = offset + character.len_utf8();
172 }
173 if units != run.end {
174 return Err(invalid("Text-run boundary splits a surrogate pair"));
175 }
176 let fragment = &text[start..byte];
177 let format = run
178 .format
179 .map(style)
180 .transpose()?
181 .unwrap_or(&default)
182 .inherit(&base);
183 let mut link = None;
184 if format.hyperlink != Some(true) {
185 target = None;
186 } else if format.hidden == Some(true) {
187 // OneNote's native field encoding is retained even when its syntax is unrecognized.
188 target = fragment
189 .strip_prefix("\u{fddf}HYPERLINK \"")
190 .and_then(|s| s.strip_suffix('"'));
191 } else if format.hyperlink_label == Some(true) {
192 link = target;
193 } else {
194 link = Some(fragment);
195 }
196 resolved.push(ResolvedTextRun {
197 text: fragment,
198 format,
199 link,
200 });
201 }
202 if byte != text.len() {
203 return Err(invalid("Text runs do not cover the text"));
204 }
205 Ok(resolved)
206 }
207}
208
209#[derive(Debug, Serialize)]
210/// Tag dates count seconds since 1980-01-01 UTC; status retains the ActionItemStatus bits.
211pub struct Tag {
212 pub definition: Option<ExGuid>,
213 pub action_type: Option<u16>,
214 pub status: u16,
215 pub created: Option<u32>,
216 pub completed: Option<u32>,
217 pub start: Option<u32>,
218 pub due: Option<u32>,
219 pub task_id: Option<[u8; 16]>,
220 /// Index in the element's extra-property arena for uninterpreted tag fields.
221 pub extra_set: usize,
222}
223
224#[derive(Debug, Serialize)]
225#[serde(tag = "type")]
226pub enum Kind<'a> {
227 Section {
228 default_template: Option<ExGuid>,
229 },
230 PageSeries,
231 Manifest {
232 history: Option<ExGuid>,
233 },
234 VersionHistory,
235 VersionProxy {
236 context: ExGuid,
237 modified_filetime: Option<u64>,
238 },
239 VersionHistoryMetadata,
240 /// Native default-page template metadata, outside the published MS-ONE object list.
241 TemplateMetadata {
242 name: Option<String>,
243 },
244 Page {
245 alternate_title: Option<String>,
246 level: Option<u32>,
247 width: Option<f32>,
248 height: Option<f32>,
249 margin_origin_x: Option<f32>,
250 margin_origin_y: Option<f32>,
251 rtl: Option<bool>,
252 },
253 Metadata {
254 title: Option<String>,
255 level: Option<u32>,
256 },
257 ConflictMetadata {
258 title: Option<String>,
259 level: Option<u32>,
260 author: Option<String>,
261 },
262 RevisionMetadata {
263 modified_filetime: Option<u64>,
264 },
265 SectionMetadata {
266 name: Option<String>,
267 color: Option<u32>,
268 },
269 Title,
270 Outline {
271 indents: Vec<f32>,
272 },
273 Paragraph {
274 lists: Vec<ExGuid>,
275 paragraph_style: Option<ExGuid>,
276 /// Native saved defaults: 0 expanded, 1 collapsed; other values remain uninterpreted.
277 collapse_state: Option<u8>,
278 },
279 OutlineGroup,
280 /// Native ink properties remain uninterpreted in the element's extra arena.
281 Ink,
282 RichText {
283 text: String,
284 runs: Vec<TextRun>,
285 paragraph_style: Option<ExGuid>,
286 boilerplate: bool,
287 },
288 Style {
289 name: Option<String>,
290 },
291 List {
292 font: Option<String>,
293 format: Option<String>,
294 restart: Option<u32>,
295 bullet: Option<u16>,
296 },
297 /// Column arrays and row children use visual left-to-right order, including on RTL pages.
298 Table {
299 rows: Option<u32>,
300 columns: Option<u32>,
301 widths: Vec<f32>,
302 locked: Vec<bool>,
303 borders: Option<bool>,
304 },
305 Row,
306 Cell {
307 shading: Option<u32>,
308 },
309 Image {
310 container: Option<ExGuid>,
311 filename: Option<String>,
312 alt: Option<String>,
313 picture_width: Option<f32>,
314 picture_height: Option<f32>,
315 background: Option<bool>,
316 printout: Option<bool>,
317 link: Option<String>,
318 },
319 Attachment {
320 container: Option<ExGuid>,
321 preview: Option<ExGuid>,
322 filename: Option<String>,
323 source_path: Option<String>,
324 recording_id: Option<[u8; 16]>,
325 recording_type: Option<u32>,
326 },
327 File {
328 reference: FileDataReference,
329 extension: String,
330 #[serde(skip)]
331 payload: Option<&'a [u8]>,
332 },
333 Author {
334 name: Option<String>,
335 },
336 TagDefinition {
337 label: Option<String>,
338 action_type: Option<u16>,
339 shape: Option<u16>,
340 color: Option<u32>,
341 highlight: Option<u32>,
342 },
343 Toc {
344 entries: Vec<ExGuid>,
345 filename: Option<String>,
346 identity: Option<[u8; 16]>,
347 order: Option<u32>,
348 color: Option<u32>,
349 },
350 Encrypted {
351 #[serde(serialize_with = "hex")]
352 ciphertext: &'a [u8],
353 },
354 Unknown,
355}
356
357#[derive(Debug, Serialize)]
358pub struct Field<'a> {
359 pub id: u32,
360 pub value: FieldValue<'a>,
361}
362
363#[derive(Debug, Serialize)]
364pub enum FieldValue<'a> {
365 NoData,
366 Bytes(#[serde(serialize_with = "hex")] &'a [u8]),
367 Objects(Vec<ExGuid>),
368 Spaces(Vec<ExGuid>),
369 Contexts(Vec<ExGuid>),
370 Sets(std::ops::Range<usize>),
371}
372
373fn hex<S: serde::Serializer>(bytes: &&[u8], serializer: S) -> std::result::Result<S::Ok, S::Error> {
374 use std::fmt::Write;
375 let mut text = String::with_capacity(bytes.len() * 2);
376 for byte in *bytes {
377 write!(text, "{byte:02x}").unwrap();
378 }
379 serializer.serialize_str(&text)
380}
381
382fn unicode(bytes: &[u8]) -> Result<String> {
383 if !bytes.len().is_multiple_of(2) {
384 return Err(invalid("Odd UTF-16 document string length"));
385 }
386 let units: Vec<_> = bytes
387 .chunks_exact(2)
388 .map(|x| u16::from_le_bytes(x.try_into().unwrap()))
389 .collect();
390 String::from_utf16(units.strip_suffix(&[0]).unwrap_or(&units))
391 .map_err(|_| invalid("Invalid UTF-16 document string"))
392}
393
394struct Fields<'a, 'o> {
395 sets: Vec<Vec<Property<'a>>>,
396 ids: &'o BTreeMap<u32, [u8; 16]>,
397}
398
399impl<'a, 'o> Fields<'a, 'o> {
400 fn new(object: &'o Object<'a>) -> Result<Self> {
401 let ObjectData::Properties(bytes) = object.data else {
402 return Err(invalid("Expected document properties"));
403 };
404 let sets = PropertySets::parse(bytes)?.sets;
405 for set in &sets {
406 let mut seen = BTreeSet::new();
407 if set.iter().any(|p| !seen.insert(p.id & 0x7fffffff)) {
408 return Err(invalid("Repeated document property"));
409 }
410 }
411 Ok(Self {
412 sets,
413 ids: &object.global_ids,
414 })
415 }
416
417 fn take(&mut self, id: u32) -> Option<Property<'a>> {
418 let index = self.sets[0].iter().position(|p| p.id & 0x7fffffff == id)?;
419 Some(self.sets[0].remove(index))
420 }
421
422 fn bytes(&mut self, id: u32) -> Result<Option<&'a [u8]>> {
423 self.take(id)
424 .map(|p| match p.value {
425 Value::Bytes(bytes) => Ok(bytes),
426 _ => Err(invalid("Document property requires bytes")),
427 })
428 .transpose()
429 }
430
431 fn fixed<const N: usize>(&mut self, id: u32) -> Result<Option<[u8; N]>> {
432 self.bytes(id)?
433 .map(|b| {
434 b.try_into()
435 .map_err(|_| invalid("Document scalar has an invalid length"))
436 })
437 .transpose()
438 }
439
440 fn u32(&mut self, id: u32) -> Result<Option<u32>> {
441 Ok(self.fixed(id)?.map(u32::from_le_bytes))
442 }
443 fn u16(&mut self, id: u32) -> Result<Option<u16>> {
444 Ok(self.fixed(id)?.map(u16::from_le_bytes))
445 }
446 fn u8(&mut self, id: u32) -> Result<Option<u8>> {
447 Ok(self.fixed::<1>(id)?.map(|b| b[0]))
448 }
449 fn float(&mut self, id: u32, scale: f32) -> Result<Option<f32>> {
450 self.fixed(id)?
451 .map(|b| finite(f32::from_le_bytes(b) * scale))
452 .transpose()
453 }
454 fn text(&mut self, id: u32) -> Result<Option<String>> {
455 self.bytes(id)?.map(unicode).transpose()
456 }
457 fn boolean(&mut self, id: u32) -> Result<Option<bool>> {
458 self.take(id)
459 .map(|p| match p.value {
460 Value::NoData => Ok(p.id & 0x80000000 != 0),
461 _ => Err(invalid("Document flag requires a Boolean")),
462 })
463 .transpose()
464 }
465 fn refs(&mut self, id: u32, expected: IdStream) -> Result<Vec<ExGuid>> {
466 self.take(id)
467 .map(|p| match p.value {
468 Value::References {
469 stream,
470 compact_ids,
471 } if stream == expected => references(compact_ids, self.ids),
472 _ => Err(invalid("Document reference uses the wrong stream")),
473 })
474 .transpose()
475 .map(Option::unwrap_or_default)
476 }
477 fn one(&mut self, id: u32) -> Result<Option<ExGuid>> {
478 let refs = self.refs(id, IdStream::Objects)?;
479 if refs.len() > 1 {
480 return Err(invalid("Document scalar has multiple references"));
481 }
482 Ok(refs.first().copied())
483 }
484 fn remainder(self) -> Result<Vec<Vec<Field<'a>>>> {
485 self.sets
486 .into_iter()
487 .map(|set| {
488 set.into_iter()
489 .map(|p| {
490 let value = match p.value {
491 Value::NoData => FieldValue::NoData,
492 Value::Bytes(b) => FieldValue::Bytes(b),
493 Value::Sets(r) => FieldValue::Sets(r),
494 Value::References {
495 stream,
496 compact_ids,
497 } => {
498 let refs = references(compact_ids, self.ids)?;
499 match stream {
500 IdStream::Objects => FieldValue::Objects(refs),
501 IdStream::ObjectSpaces => FieldValue::Spaces(refs),
502 IdStream::Contexts => FieldValue::Contexts(refs),
503 }
504 }
505 };
506 Ok(Field { id: p.id, value })
507 })
508 .collect()
509 })
510 .collect()
511 }
512}
513
514fn references(bytes: &[u8], ids: &BTreeMap<u32, [u8; 16]>) -> Result<Vec<ExGuid>> {
515 let mut cursor = Cursor { bytes, offset: 0 };
516 let mut result = Vec::new();
517 while !cursor.bytes.is_empty() {
518 result.push(cursor.compact(ids)?);
519 }
520 Ok(result)
521}
522
523fn finite(value: f32) -> Result<f32> {
524 if value.is_finite() {
525 Ok(value)
526 } else {
527 Err(invalid("Non-finite document measurement"))
528 }
529}
530
531fn measurements(bytes: Option<&[u8]>, header: usize) -> Result<Vec<f32>> {
532 let Some(bytes) = bytes else {
533 return Ok(Vec::new());
534 };
535 if bytes.len() < header || bytes.len() != header + usize::from(bytes[0]) * 4 {
536 return Err(invalid("Document measurement array has an invalid length"));
537 }
538 bytes[header..]
539 .chunks_exact(4)
540 .map(|b| finite(f32::from_le_bytes(b.try_into().unwrap()) * 36.0))
541 .collect()
542}
543
544impl<'a> Document<'a> {
545 /// Active (object space, page) identities in section order, excluding history and conflicts.
546 /// Encrypted sections return no visible pages; table-of-contents files return an error.
547 pub fn pages(&self) -> Result<Vec<(ExGuid, ExGuid)>> {
548 let active = |sid| {
549 self.spaces
550 .get(&sid)
551 .and_then(|s| {
552 s.contexts
553 .get(&ExGuid::default())
554 .and_then(|rid| s.revisions.get(rid))
555 })
556 .ok_or_else(|| invalid("Section page has no active revision"))
557 };
558 let root = active(self.root)?;
559 let section = root
560 .roots
561 .get(&1)
562 .and_then(|id| root.nodes.get(id))
563 .ok_or_else(|| invalid("Section root is unavailable"))?;
564 if matches!(section.kind, Kind::Encrypted { .. }) {
565 return Ok(Vec::new());
566 }
567 if !matches!(section.kind, Kind::Section { .. }) {
568 return Err(invalid("Expected a section document"));
569 }
570 let mut pages = Vec::new();
571 let mut seen = BTreeSet::new();
572 for id in &section.children {
573 let series = root
574 .nodes
575 .get(id)
576 .ok_or_else(|| invalid("Page series is unavailable"))?;
577 if !matches!(series.kind, Kind::PageSeries) {
578 return Err(invalid("Section child is not a page series"));
579 }
580 for sid in &series.spaces {
581 let revision = active(*sid)?;
582 let manifest = revision
583 .roots
584 .get(&1)
585 .and_then(|id| revision.nodes.get(id))
586 .ok_or_else(|| invalid("Page manifest is unavailable"))?;
587 if !matches!(manifest.kind, Kind::Manifest { .. }) {
588 return Err(invalid("Page space has no manifest"));
589 }
590 for page in &manifest.content {
591 if !matches!(
592 revision.nodes.get(page).map(|n| &n.kind),
593 Some(Kind::Page { .. })
594 ) || !seen.insert((*sid, *page))
595 {
596 return Err(invalid(
597 "Section page is missing, duplicated or has the wrong type",
598 ));
599 }
600 pages.push((*sid, *page));
601 }
602 }
603 }
604 Ok(pages)
605 }
606
607 /// Rejects checksum damage and follows referenced contexts, retaining encrypted payloads opaquely.
608 pub fn parse(index: &RevisionIndex<'a>) -> Result<Self> {
609 if !index.store.checksum_mismatches.is_empty() {
610 return Err(invalid("Document transaction checksum mismatch"));
611 }
612 let mut spaces: BTreeMap<ExGuid, Space<'a>> = BTreeMap::new();
613 let mut pending = vec![(index.root, ExGuid::default())];
614 while let Some((id, context)) = pending.pop() {
615 let space = spaces.entry(id).or_insert_with(|| Space {
616 contexts: BTreeMap::new(),
617 revisions: BTreeMap::new(),
618 });
619 if space.contexts.contains_key(&context) {
620 continue;
621 }
622 let rid = *index
623 .spaces
624 .get(&id)
625 .and_then(|s| s.labels.get(&(context, 1)))
626 .ok_or_else(|| invalid("Document context has no revision"))?;
627 space.contexts.insert(context, rid);
628 if space.revisions.contains_key(&rid) {
629 continue;
630 }
631 let revision = index.resolve(id, rid)?;
632 let mut reachable = BTreeSet::new();
633 let mut objects: Vec<_> = revision.roots.values().copied().collect();
634 let mut encrypted = false;
635 while let Some(oid) = objects.pop() {
636 if !reachable.insert(oid) {
637 continue;
638 }
639 let object = revision
640 .objects
641 .get(&oid)
642 .ok_or_else(|| invalid("Document object has no declaration"))?;
643 if matches!(object.data, ObjectData::Encrypted(_)) {
644 encrypted = true;
645 } else {
646 objects.extend(object.references()?.objects);
647 }
648 }
649 if !encrypted {
650 revision.reachable()?;
651 }
652 let mut nodes = BTreeMap::new();
653 for oid in reachable {
654 let object = &revision.objects[&oid];
655 if !matches!(object.data, ObjectData::Encrypted(_)) {
656 let refs = object.references()?;
657 pending.extend(
658 refs.object_spaces
659 .into_iter()
660 .map(|sid| (sid, ExGuid::default())),
661 );
662 pending.extend(refs.contexts.into_iter().map(|context| (id, context)));
663 }
664 nodes.insert(oid, Element::parse(object, index.store)?);
665 }
666 for node in nodes.values() {
667 if let Kind::RichText {
668 runs,
669 paragraph_style,
670 ..
671 } = &node.kind
672 {
673 for target in paragraph_style
674 .iter()
675 .chain(runs.iter().filter_map(|r| r.format.as_ref()))
676 {
677 if !matches!(nodes.get(target).map(|n| &n.kind), Some(Kind::Style { .. })) {
678 return Err(invalid("Text formatting does not reference a style"));
679 }
680 }
681 }
682 let mut tag_types = BTreeSet::new();
683 for tag in &node.tags {
684 let action_type = if tag.status & 4 != 0 {
685 tag.action_type
686 } else {
687 match tag
688 .definition
689 .and_then(|id| nodes.get(&id))
690 .map(|n| &n.kind)
691 {
692 Some(Kind::TagDefinition { action_type, .. }) => *action_type,
693 _ => {
694 return Err(invalid(
695 "Note tag does not reference a tag definition",
696 ));
697 }
698 }
699 }
700 .ok_or_else(|| invalid("Note tag has no action type"))?;
701 if !tag_types.insert(action_type) {
702 return Err(invalid("Repeated note tag action type"));
703 }
704 }
705 }
706 space.revisions.insert(
707 rid,
708 Revision {
709 roots: revision.roots,
710 nodes,
711 },
712 );
713 }
714 for space in spaces.values() {
715 for node in space.revisions.values().flat_map(|r| r.nodes.values()) {
716 let (context, history) = match &node.kind {
717 Kind::Manifest {
718 history: Some(context),
719 } => (*context, true),
720 Kind::VersionProxy { context, .. } => (*context, false),
721 _ => continue,
722 };
723 let rid = space.contexts[&context];
724 let revision = &space.revisions[&rid];
725 let root = revision.roots.get(&1).and_then(|id| revision.nodes.get(id));
726 if history {
727 if !matches!(root.map(|n| &n.kind), Some(Kind::VersionHistory)) {
728 return Err(invalid(
729 "History context does not resolve to version history",
730 ));
731 }
732 } else if !matches!(root.map(|n| &n.kind), Some(Kind::Manifest { .. }))
733 || space.contexts.get(&ExGuid::default()) == Some(&rid)
734 {
735 return Err(invalid(
736 "Version context does not resolve to a historical page",
737 ));
738 }
739 }
740 }
741 Ok(Self {
742 file_id: index.store.header.file_id,
743 root: index.root,
744 spaces,
745 })
746 }
747}
748
749impl<'a> Element<'a> {
750 fn parse(object: &Object<'a>, store: &Store<'a>) -> Result<Self> {
751 let empty = |kind| Self {
752 jcid: object.jcid,
753 children: vec![],
754 content: vec![],
755 structure: vec![],
756 spaces: vec![],
757 child_level: None,
758 layout: Layout::default(),
759 format: Format::default(),
760 created: None,
761 modified: None,
762 original_author: None,
763 latest_author: None,
764 media_ids: vec![],
765 media_time_ms: None,
766 tags: vec![],
767 kind,
768 extra: vec![],
769 };
770 if let ObjectData::Encrypted(ciphertext) = object.data {
771 return Ok(empty(Kind::Encrypted { ciphertext }));
772 }
773 if let ObjectData::File { extension, .. } = object.data {
774 let reference = object
775 .file_reference()?
776 .ok_or_else(|| invalid("File object has no reference"))?;
777 let payload = if let FileDataReference::Internal(guid) = &reference {
778 Some(store.file_data(*guid)?)
779 } else {
780 None
781 };
782 return Ok(empty(Kind::File {
783 reference,
784 extension: unicode(extension)?,
785 payload,
786 }));
787 }
788 let mut f = Fields::new(object)?;
789 let children = f.refs(0x24001c20, IdStream::Objects)?;
790 let content = f.refs(0x24001c1f, IdStream::Objects)?;
791 let structure = f.refs(0x24001d5f, IdStream::Objects)?;
792 let spaces = f.refs(0x2c001d63, IdStream::ObjectSpaces)?;
793 let child_level = f.u8(0x0c001c03)?;
794 if child_level.is_some_and(|level| !(1..=31).contains(&level)) {
795 return Err(invalid("Child indentation level is out of range"));
796 }
797 let layout = Layout {
798 x: f.float(0x14001c14, 36.0)?,
799 y: f.float(0x14001c15, 36.0)?,
800 max_width: f.float(0x14001c1b, 36.0)?,
801 max_height: f.float(0x14001c1c, 36.0)?,
802 };
803 let format = Format {
804 bold: f.boolean(0x08001c04)?,
805 italic: f.boolean(0x08001c05)?,
806 underline: f.boolean(0x08001c06)?,
807 strike: f.boolean(0x08001c07)?,
808 superscript: f.boolean(0x08001c08)?,
809 subscript: f.boolean(0x08001c09)?,
810 hidden: f.boolean(0x08001e16)?,
811 hyperlink: f.boolean(0x08001e14)?,
812 hyperlink_label: f.boolean(0x08001e19)?,
813 math: f.boolean(0x08003401)?,
814 embedded_object: f.boolean(0x08001e22)?,
815 font: f.text(0x1c001c0a)?,
816 font_size: f.u16(0x10001c0b)?.map(|v| f32::from(v) / 2.0),
817 color: f.u32(0x14001c0c)?,
818 highlight: f.u32(0x14001c0d)?,
819 language: f.u32(0x14001c3b)?,
820 alignment: f.u8(0x0c003477)?,
821 rtl: f.boolean(0x08003476)?,
822 space_before: f.float(0x1400342e, 36.0)?,
823 space_after: f.float(0x1400342f, 36.0)?,
824 line_spacing: f.float(0x14003430, 36.0)?,
825 };
826 let mut tags = Vec::new();
827 if let Some(property) = f.take(0x40003489) {
828 let Value::Sets(range) = property.value else {
829 return Err(invalid("Note tags require property sets"));
830 };
831 if range.len() > 9 {
832 return Err(invalid("An element has more than nine note tags"));
833 }
834 for extra_set in range {
835 let mut tag = Fields {
836 sets: vec![std::mem::take(&mut f.sets[extra_set])],
837 ids: f.ids,
838 };
839 tags.push(Tag {
840 definition: tag.one(0x20003488)?,
841 action_type: tag.u16(0x10003463)?,
842 status: tag
843 .u16(0x10003470)?
844 .ok_or_else(|| invalid("Note tag has no status"))?,
845 created: tag.u32(0x1400346e)?,
846 completed: tag.u32(0x1400346f)?,
847 start: tag.u32(0x1400346a)?,
848 due: tag.u32(0x1400346b)?,
849 task_id: tag.fixed(0x1c003469)?,
850 extra_set,
851 });
852 f.sets[extra_set] = tag.sets.remove(0);
853 }
854 }
855 let kind = match object.jcid {
856 0x60007 => {
857 let templates = f.refs(0x2c001d62, IdStream::ObjectSpaces)?;
858 if templates.len() > 1 {
859 return Err(invalid("Section has multiple default page templates"));
860 }
861 Kind::Section {
862 default_template: templates.first().copied(),
863 }
864 }
865 0x60008 => Kind::PageSeries,
866 0x60037 => {
867 let contexts = f.refs(0x3400347b, IdStream::Contexts)?;
868 if contexts.len() > 1 {
869 return Err(invalid("Page manifest has multiple history contexts"));
870 }
871 Kind::Manifest {
872 history: contexts.first().copied(),
873 }
874 }
875 0x6003c => Kind::VersionHistory,
876 0x6003d => {
877 let contexts = f.refs(0x3400347b, IdStream::Contexts)?;
878 let [context] = contexts.as_slice() else {
879 return Err(invalid("Version proxy requires one context"));
880 };
881 Kind::VersionProxy {
882 context: *context,
883 modified_filetime: f.fixed(0x18001d77)?.map(u64::from_le_bytes),
884 }
885 }
886 0x20046 => Kind::VersionHistoryMetadata,
887 0x2003e => Kind::TemplateMetadata {
888 name: f.text(0x1c001ca5)?,
889 },
890 0x6000b => Kind::Page {
891 alternate_title: f.text(0x1c001d3c)?,
892 level: f.u32(0x14001dff)?,
893 width: f.float(0x14001c01, 36.0)?,
894 height: f.float(0x14001c02, 36.0)?,
895 margin_origin_x: f.float(0x14001d0f, 36.0)?,
896 margin_origin_y: f.float(0x14001d10, 36.0)?,
897 rtl: f.boolean(0x08001c92)?,
898 },
899 0x20030 => Kind::Metadata {
900 title: f.text(0x1c001cf3)?,
901 level: f.u32(0x14001dff)?,
902 },
903 0x20038 => Kind::ConflictMetadata {
904 title: f.text(0x1c001cf3)?,
905 level: f.u32(0x14001dff)?,
906 author: f.text(0x1c001d9e)?,
907 },
908 0x60014 => Kind::Ink,
909 0x20031 => Kind::SectionMetadata {
910 name: f.text(0x1c00349b)?,
911 color: f.u32(0x14001cbe)?,
912 },
913 0x20044 => Kind::RevisionMetadata {
914 modified_filetime: f.fixed(0x18001d77)?.map(u64::from_le_bytes),
915 },
916 0x6002c => Kind::Title,
917 0x6000c => Kind::Outline {
918 indents: measurements(f.bytes(0x1c001c12)?, 4)?,
919 },
920 0x6000d => Kind::Paragraph {
921 lists: f.refs(0x24001c26, IdStream::Objects)?,
922 paragraph_style: f.one(0x2000342c)?,
923 collapse_state: f.u8(0x0c001c11)?,
924 },
925 0x60019 => Kind::OutlineGroup,
926 0x6000e => {
927 let utf16 = f.bytes(0x1c001c22)?;
928 let ascii = f.bytes(0x1c003498)?;
929 let text = match utf16 {
930 Some(b) => unicode(b)?,
931 None => ascii
932 .unwrap_or_default()
933 .iter()
934 .map(|b| char::from(*b))
935 .collect(),
936 };
937 let length = u32::try_from(text.encode_utf16().count())
938 .map_err(|_| invalid("Text exceeds UTF-16 offset range"))?;
939 let mut bounds = vec![0];
940 if let Some(bytes) = f.bytes(0x1c001e12)? {
941 if !bytes.len().is_multiple_of(4) {
942 return Err(invalid("Text-run index has an invalid length"));
943 }
944 bounds.extend(
945 bytes
946 .chunks_exact(4)
947 .map(|b| u32::from_le_bytes(b.try_into().unwrap())),
948 );
949 }
950 bounds.push(length);
951 if bounds.windows(2).any(|b| b[0] > b[1]) {
952 return Err(invalid("Text-run indices exceed text or are out of order"));
953 }
954 let mut boundaries = bounds.iter().copied().peekable();
955 let mut position = 0;
956 for character in text.chars() {
957 while boundaries.peek() == Some(&position) {
958 boundaries.next();
959 }
960 position += character.len_utf16() as u32;
961 if boundaries.peek().is_some_and(|next| *next < position) {
962 return Err(invalid("Text-run boundary splits a surrogate pair"));
963 }
964 }
965 let formats = f.refs(0x24001e13, IdStream::Objects)?;
966 if !formats.is_empty() && formats.len() != bounds.len() - 1 {
967 return Err(invalid("Text-run indices and formats disagree"));
968 }
969 let data = f
970 .take(0x40003499)
971 .map(|property| {
972 let Value::Sets(range) = property.value else {
973 return Err(invalid("Text-run data requires property sets"));
974 };
975 if range.len() != bounds.len() - 1 {
976 return Err(invalid("Text-run indices and data disagree"));
977 }
978 Ok(range)
979 })
980 .transpose()?;
981 let runs = bounds
982 .windows(2)
983 .enumerate()
984 .map(|(i, b)| TextRun {
985 start: b[0],
986 end: b[1],
987 format: formats.get(i).copied(),
988 extra_set: data.as_ref().map(|range| range.start + i),
989 })
990 .collect();
991 let boilerplate = f.boolean(0x08001c87)?.unwrap_or(false)
992 | f.boolean(0x08001c88)?.unwrap_or(false)
993 | f.boolean(0x08001cb5)?.unwrap_or(false);
994 Kind::RichText {
995 text,
996 runs,
997 paragraph_style: f.one(0x2000342c)?,
998 boilerplate,
999 }
1000 }
1001 0x12004d => Kind::Style {
1002 name: f.text(0x1c00345a)?,
1003 },
1004 0x60012 => {
1005 let format = f
1006 .bytes(0x1c001c1a)?
1007 .map(|bytes| {
1008 if bytes.len() < 2
1009 || bytes.len()
1010 != 2 + usize::from(u16::from_le_bytes(
1011 bytes[..2].try_into().unwrap(),
1012 )) * 2
1013 {
1014 return Err(invalid("List format has an invalid length"));
1015 }
1016 let units = bytes[2..]
1017 .chunks_exact(2)
1018 .map(|b| u16::from_le_bytes(b.try_into().unwrap()))
1019 .collect::<Vec<_>>();
1020 String::from_utf16(&units)
1021 .map_err(|_| invalid("Invalid UTF-16 list format"))
1022 })
1023 .transpose()?;
1024 Kind::List {
1025 font: f.text(0x1c001c52)?,
1026 format,
1027 restart: f.u32(0x14001cb7)?,
1028 bullet: f.u16(0x10001d0e)?,
1029 }
1030 }
1031 0x60022 => {
1032 let columns = f.u32(0x14001d58)?;
1033 let widths = measurements(f.bytes(0x1c001d66)?, 1)?;
1034 let mut locked = Vec::new();
1035 if let Some(bytes) = f.bytes(0x1c001d7d)? {
1036 let count = usize::from(
1037 *bytes
1038 .first()
1039 .ok_or_else(|| invalid("Empty table column locks"))?,
1040 );
1041 if bytes.len() != 1 + count.div_ceil(8) || columns != Some(count as u32) {
1042 return Err(invalid("Table column locks disagree with column count"));
1043 }
1044 locked.extend((0..count).map(|i| bytes[1 + i / 8] & (1 << (i % 8)) != 0));
1045 }
1046 if !widths.is_empty() && columns != Some(widths.len() as u32) {
1047 return Err(invalid("Table widths disagree with column count"));
1048 }
1049 Kind::Table {
1050 rows: f.u32(0x14001d57)?,
1051 columns,
1052 widths,
1053 locked,
1054 borders: f.boolean(0x08001d5e)?,
1055 }
1056 }
1057 0x60023 => Kind::Row,
1058 0x60024 => Kind::Cell {
1059 shading: f.u32(0x14001e26)?,
1060 },
1061 0x60011 => Kind::Image {
1062 container: f.one(0x20001c3f)?,
1063 filename: f.text(0x1c001dd7)?,
1064 alt: f.text(0x1c001e58)?,
1065 picture_width: f.float(0x140034cd, 36.0)?,
1066 picture_height: f.float(0x140034ce, 36.0)?,
1067 background: f.boolean(0x08001d13)?,
1068 printout: f.boolean(0x08001d85)?,
1069 link: f.text(0x1c001e20)?,
1070 },
1071 0x60035 => Kind::Attachment {
1072 container: f.one(0x20001d9b)?,
1073 preview: f.one(0x20001c3f)?,
1074 filename: f.text(0x1c001d9c)?,
1075 source_path: f.text(0x1c001d9d)?,
1076 recording_id: f.fixed(0x1c001c97)?,
1077 recording_type: f.u32(0x14001d24)?,
1078 },
1079 0x120001 => Kind::Author {
1080 name: f.text(0x1c001d75)?,
1081 },
1082 0x120043 => Kind::TagDefinition {
1083 label: f.text(0x1c003468)?,
1084 action_type: f.u16(0x10003463)?,
1085 shape: f.u16(0x10003464)?,
1086 color: f.u32(0x14003466)?,
1087 highlight: f.u32(0x14003465)?,
1088 },
1089 0x20001 if store.header.file_type == crate::FileType::TableOfContents => Kind::Toc {
1090 entries: f.refs(0x24001cf6, IdStream::Objects)?,
1091 filename: f.text(0x1c001d6b)?,
1092 identity: f.fixed(0x1c001d94)?,
1093 order: f.u32(0x14001cb9)?,
1094 color: f.u32(0x14001cbe)?,
1095 },
1096 _ => Kind::Unknown,
1097 };
1098 let media_ids = f.bytes(0x1c001c98)?.unwrap_or_default();
1099 if !media_ids.len().is_multiple_of(16) {
1100 return Err(invalid("Media identifiers have an invalid length"));
1101 }
1102 let media_ids = media_ids
1103 .chunks_exact(16)
1104 .map(|id| id.try_into().unwrap())
1105 .collect();
1106 Ok(Self {
1107 jcid: object.jcid,
1108 children,
1109 content,
1110 structure,
1111 spaces,
1112 child_level,
1113 layout,
1114 format,
1115 created: f.u32(0x14001d09)?,
1116 modified: f.u32(0x14001d7a)?,
1117 original_author: f.one(0x20001d78)?,
1118 latest_author: f.one(0x20001d79)?,
1119 media_ids,
1120 media_time_ms: f.u32(0x14001c99)?,
1121 tags,
1122 kind,
1123 extra: f.remainder()?,
1124 })
1125 }
1126}
crates/onestore/src/edit.rs created+373
...@@ -0,0 +1,373 @@
1use crate::document::{Document, Kind};
2use crate::{Error, ExGuid, ObjectData, PropertySets, RevisionIndex, Store};
3use std::ops::Range;
4
5fn title_line(text: &str) -> &str {
6 text.trim_start().split('\r').next().unwrap()
7}
8
9pub(crate) fn automatic_title(text: &str) -> &str {
10 let line = title_line(text).trim_end();
11 let mut units = 0;
12 for (byte, character) in line.char_indices() {
13 if units >= 255 {
14 return line[..byte].trim_end();
15 }
16 units += character.len_utf16();
17 }
18 line
19}
20
21/// Replaces UTF-16 character positions within one ordinary text run.
22/// The inserted text inherits that run's formatting; other runs retain their identities.
23/// Insertion at a run boundary uses the following run, except at the end of text.
24/// Returns a complete file image without I/O; use `commit_file_text` to update an existing file.
25pub fn replace_text(
26 source: &[u8],
27 space: ExGuid,
28 object: ExGuid,
29 range: Range<u32>,
30 replacement: &str,
31) -> Result<Vec<u8>, Error> {
32 let invalid = |message| Error { offset: 0, message };
33 if range.start > range.end || replacement.contains(['\0', '\n', '\r', '\u{fffc}', '\u{fddf}']) {
34 return Err(invalid(
35 "Use a valid text range and ordinary paragraph text",
36 ));
37 }
38 let store = Store::parse(source)?;
39 let index = RevisionIndex::parse(&store)?;
40 index.validate_current()?;
41 let rid = *index
42 .spaces
43 .get(&space)
44 .and_then(|s| s.labels.get(&(ExGuid::default(), 1)))
45 .ok_or_else(|| invalid("Object space has no active default revision"))?;
46 let raw = index.resolve(space, rid)?;
47 if !raw.reachable()?.contains(&object) {
48 return Err(invalid("Object is not reachable in the active revision"));
49 }
50 let document = Document::parse(&index)?;
51 let revision = document
52 .spaces
53 .get(&space)
54 .and_then(|s| s.revisions.get(&rid))
55 .ok_or_else(|| invalid("The active document revision is unavailable"))?;
56 let pages: Vec<_> = document
57 .pages()?
58 .into_iter()
59 .filter_map(|(sid, page)| (sid == space).then_some(page))
60 .collect();
61 let mut pending: Vec<_> = pages.iter().map(|page| (*page, false)).collect();
62 let mut seen = std::collections::BTreeSet::new();
63 let mut parents = std::collections::BTreeMap::<_, Vec<_>>::new();
64 let mut editable = false;
65 while let Some((id, read_only)) = pending.pop() {
66 if !seen.insert((id, read_only)) {
67 continue;
68 }
69 let element = revision
70 .nodes
71 .get(&id)
72 .ok_or_else(|| invalid("Page content is unavailable"))?;
73 let read_only = read_only || element.extra[0].iter().any(|field| field.id == 0x88001cde);
74 if id == object {
75 if read_only {
76 return Err(invalid("This page or its content is read-only"));
77 }
78 editable = true;
79 }
80 for child in element
81 .children
82 .iter()
83 .chain(&element.content)
84 .chain(&element.structure)
85 {
86 parents.entry(*child).or_default().push(id);
87 pending.push((*child, read_only));
88 }
89 }
90 if !editable {
91 return Err(invalid("Select text on an active editable page"));
92 }
93 let node = revision
94 .nodes
95 .get(&object)
96 .ok_or_else(|| invalid("The text object is unavailable"))?;
97 let Kind::RichText {
98 text,
99 runs,
100 boilerplate,
101 ..
102 } = &node.kind
103 else {
104 return Err(invalid("Select a rich-text object"));
105 };
106 if *boilerplate {
107 return Err(invalid(
108 "Generated title fields cannot be edited as ordinary text",
109 ));
110 }
111 let selected = runs
112 .iter()
113 .rposition(|run| run.start <= range.start && range.end <= run.end)
114 .ok_or_else(|| invalid("The edit must stay within one text run"))?;
115 let resolved = revision.text_runs(object)?;
116 let format = &resolved[selected].format;
117 if [
118 format.hidden,
119 format.hyperlink,
120 format.math,
121 format.embedded_object,
122 ]
123 .contains(&Some(true))
124 || runs[selected]
125 .extra_set
126 .is_some_and(|set| !node.extra[set].is_empty())
127 {
128 return Err(invalid("This text run contains a field or embedded data"));
129 }
130 let ObjectData::Properties(blob) = raw.objects[&object].data else {
131 unreachable!()
132 };
133 let properties = PropertySets::parse(blob)?;
134 if properties.sets[0]
135 .iter()
136 .any(|p| p.id == 0x88001cde || p.id == 0x24003458)
137 {
138 return Err(invalid(
139 "This text object is read-only or contains associated run data",
140 ));
141 }
142 let mut units = 0;
143 let mut start = None;
144 let mut end = None;
145 for (byte, character) in text.char_indices() {
146 if units == range.start {
147 start = Some(byte);
148 }
149 if units == range.end {
150 end = Some(byte);
151 }
152 units += character.len_utf16() as u32;
153 }
154 if units == range.start {
155 start = Some(text.len());
156 }
157 if units == range.end {
158 end = Some(text.len());
159 }
160 let (Some(start), Some(end)) = (start, end) else {
161 return Err(invalid(
162 "The edit range splits a surrogate pair or exceeds the text",
163 ));
164 };
165 if &text[start..end] == replacement {
166 return Ok(source.to_vec());
167 }
168 let added = u32::try_from(replacement.encode_utf16().count())
169 .map_err(|_| invalid("Replacement text exceeds the UTF-16 offset range"))?;
170 let removed = range.end - range.start;
171 units
172 .checked_sub(removed)
173 .and_then(|n| n.checked_add(added))
174 .ok_or_else(|| invalid("Edited text exceeds the UTF-16 offset range"))?;
175 let mut boundaries = Vec::new();
176 let mut previous = None;
177 for (i, run) in runs[..runs.len() - 1].iter().enumerate() {
178 let end = if i >= selected {
179 run.end - removed + added
180 } else {
181 run.end
182 };
183 if previous.is_some_and(|p| p >= end) {
184 return Err(invalid("The edit would collapse a formatting boundary"));
185 }
186 previous = Some(end);
187 boundaries.extend_from_slice(&end.to_le_bytes());
188 }
189 let mut changed = String::with_capacity(text.len() - (end - start) + replacement.len());
190 changed.push_str(&text[..start]);
191 changed.push_str(replacement);
192 changed.push_str(&text[end..]);
193 let unicode = properties.sets[0].iter().any(|p| p.id == 0x1c001c22)
194 || !properties.sets[0].iter().any(|p| p.id == 0x1c003498)
195 || changed.chars().any(|c| c as u32 > 255);
196 let encoded = if unicode {
197 changed
198 .encode_utf16()
199 .chain([0])
200 .flat_map(u16::to_le_bytes)
201 .collect::<Vec<_>>()
202 } else {
203 changed.chars().map(|c| u8::try_from(c).unwrap()).collect()
204 };
205 let text_property = if unicode { 0x1c001c22 } else { 0x1c003498 };
206 let text_update = (text_property, encoded.as_slice());
207 let mut updates = Vec::new();
208 let insert = if properties.sets[0].iter().any(|p| p.id == text_property) {
209 updates.push(text_update);
210 None
211 } else {
212 Some(text_update)
213 };
214 if properties.sets[0].iter().any(|p| p.id == 0x1c001e12) {
215 updates.push((0x1c001e12, &boundaries));
216 }
217 let modified = crate::create::current_timestamps()?.0.to_le_bytes();
218 updates.push((0x14001d7a, &modified));
219 let mut edits = vec![crate::write::ObjectEdit {
220 object,
221 updates: &updates,
222 insert,
223 }];
224 // Native conflict merges can discard descendant edits when ancestor timestamps stay stale.
225 let modified_update = [(0x14001d7a, modified.as_slice())];
226 let mut ancestors = std::collections::BTreeSet::new();
227 let mut pending = parents.get(&object).cloned().unwrap_or_default();
228 while let Some(id) = pending.pop() {
229 if !ancestors.insert(id) {
230 continue;
231 }
232 if revision.nodes[&id].modified.is_some() {
233 edits.push(crate::write::ObjectEdit {
234 object: id,
235 updates: &modified_update,
236 insert: None,
237 });
238 }
239 pending.extend(parents.get(&id).into_iter().flatten().copied());
240 }
241 let titles: Vec<_> = revision
242 .nodes
243 .iter()
244 .filter_map(|(id, node)| {
245 if !(seen.contains(&(*id, false)) || seen.contains(&(*id, true)))
246 || !node.extra[0].iter().any(|field| field.id == 0x88001cb4)
247 {
248 return None;
249 }
250 match &node.kind {
251 Kind::RichText {
252 text,
253 boilerplate: false,
254 ..
255 } => Some((*id, text.as_str())),
256 _ => None,
257 }
258 })
259 .collect();
260 let title_text = match titles.as_slice() {
261 [] => "",
262 [(id, text)] => {
263 if *id == object {
264 changed.as_str()
265 } else {
266 text
267 }
268 }
269 _ => return Err(invalid("Title editing requires a single title text object")),
270 };
271 let automatic = title_line(title_text).is_empty();
272 if !automatic && titles[0].0 != object {
273 return crate::write::replace_objects(source, space, &edits);
274 }
275 let [page] = pages.as_slice() else {
276 return Err(invalid("Title editing requires a single active page"));
277 };
278 let Kind::Page {
279 alternate_title,
280 rtl,
281 ..
282 } = &revision.nodes[page].kind
283 else {
284 unreachable!()
285 };
286 let mut title_text = title_line(title_text);
287 if automatic {
288 let mut roots = revision.nodes[page].children.clone();
289 roots.sort_by(|a, b| {
290 let a = &revision.nodes[a].layout;
291 let b = &revision.nodes[b].layout;
292 a.y.unwrap_or(0.0)
293 .total_cmp(&b.y.unwrap_or(0.0))
294 .then_with(|| {
295 if *rtl == Some(true) {
296 b.x.unwrap_or(0.0).total_cmp(&a.x.unwrap_or(0.0))
297 } else {
298 a.x.unwrap_or(0.0).total_cmp(&b.x.unwrap_or(0.0))
299 }
300 })
301 });
302 let mut pending: Vec<_> = roots.into_iter().rev().collect();
303 let mut seen = std::collections::BTreeSet::new();
304 while let Some(id) = pending.pop() {
305 if !seen.insert(id) {
306 continue;
307 }
308 let node = &revision.nodes[&id];
309 if let Kind::RichText {
310 text,
311 boilerplate: false,
312 ..
313 } = &node.kind
314 {
315 title_text = automatic_title(if id == object { &changed } else { text });
316 if !title_text.is_empty() {
317 break;
318 }
319 }
320 if *rtl == Some(true) && matches!(node.kind, Kind::Row) {
321 pending.extend(node.children.iter().copied());
322 } else {
323 pending.extend(node.children.iter().rev().copied());
324 }
325 pending.extend(node.content.iter().rev().copied());
326 pending.extend(node.structure.iter().rev().copied());
327 }
328 }
329 let metadata = revision
330 .roots
331 .get(&2)
332 .ok_or_else(|| invalid("Page title metadata is unavailable"))?;
333 let Kind::Metadata { title, .. } = &revision.nodes[metadata].kind else {
334 return Err(invalid("Page title metadata is unavailable"));
335 };
336 let cached: Vec<_> = title_text
337 .encode_utf16()
338 .chain([0])
339 .flat_map(u16::to_le_bytes)
340 .collect();
341 let metadata_update = [(0x1c001cf3, cached.as_slice())];
342 edits.push(crate::write::ObjectEdit {
343 object: *metadata,
344 updates: if title.is_some() {
345 &metadata_update
346 } else {
347 &[]
348 },
349 insert: title.is_none().then_some(metadata_update[0]),
350 });
351 let mut alternate_update = vec![(
352 0x1c001d3c,
353 if automatic {
354 cached.as_slice()
355 } else {
356 &[0u8, 0][..]
357 },
358 )];
359 if revision.nodes[page].modified.is_some() {
360 alternate_update.push(modified_update[0]);
361 }
362 edits.retain(|edit| edit.object != *page);
363 edits.push(crate::write::ObjectEdit {
364 object: *page,
365 updates: if alternate_title.is_some() {
366 &alternate_update
367 } else {
368 &alternate_update[1..]
369 },
370 insert: alternate_title.is_none().then_some(alternate_update[0]),
371 });
372 crate::write::replace_objects(source, space, &edits)
373}
crates/onestore/src/files.rs created+164
...@@ -0,0 +1,164 @@
1use crate::{Error, Object, ObjectData, Reference, Store, bytes::Cursor};
2
3#[derive(Debug, PartialEq, Eq, serde::Serialize)]
4pub enum FileDataReference {
5 Internal([u8; 16]),
6 External(String),
7 Invalid,
8}
9
10fn guid(text: &str) -> Option<[u8; 16]> {
11 let bytes = text.as_bytes();
12 if bytes.len() != 36 || [8, 13, 18, 23].iter().any(|index| bytes[*index] != b'-') {
13 return None;
14 }
15 let mut digits = bytes
16 .iter()
17 .enumerate()
18 .filter_map(|(index, byte)| (![8, 13, 18, 23].contains(&index)).then_some(*byte));
19 let mut value = [0; 16];
20 for byte in &mut value {
21 let high = char::from(digits.next()?).to_digit(16)?;
22 let low = char::from(digits.next()?).to_digit(16)?;
23 *byte = u8::try_from((high << 4) | low).ok()?;
24 }
25 value[..4].reverse();
26 value[4..6].reverse();
27 value[6..8].reverse();
28 Some(value)
29}
30
31impl Object<'_> {
32 pub fn file_reference(&self) -> Result<Option<FileDataReference>, Error> {
33 let ObjectData::File { reference, .. } = self.data else {
34 return Ok(None);
35 };
36 if !reference.len().is_multiple_of(2) {
37 return Err(Error {
38 offset: 0,
39 message: "Odd UTF-16 file-data reference length",
40 });
41 }
42 let text = String::from_utf16(
43 &reference
44 .chunks_exact(2)
45 .map(|pair| u16::from_le_bytes([pair[0], pair[1]]))
46 .collect::<Vec<_>>(),
47 )
48 .map_err(|_| Error {
49 offset: 0,
50 message: "Invalid UTF-16 file-data reference",
51 })?;
52 let parsed = if let Some(name) = text.strip_prefix("<file>") {
53 name.strip_suffix(".onebin")
54 .and_then(guid)
55 .map(|_| FileDataReference::External(name.to_owned()))
56 } else if let Some(id) = text
57 .strip_prefix("<ifndf>{")
58 .and_then(|text| text.strip_suffix('}'))
59 {
60 guid(id).map(FileDataReference::Internal)
61 } else if text == "<invfdo>" {
62 Some(FileDataReference::Invalid)
63 } else {
64 None
65 };
66 parsed.map(Some).ok_or(Error {
67 offset: 0,
68 message: "Invalid file-data reference syntax",
69 })
70 }
71}
72
73impl<'a> Store<'a> {
74 pub(crate) fn encryption_key(&self, chunk: crate::Chunk) -> Result<&'a [u8], Error> {
75 let bytes = self.chunk_data(chunk)?;
76 let footer = 0x2649294f8e198b3c_u64.to_le_bytes();
77 if bytes.len() >= 16 && bytes[..8] == 0xfb6ba385dad1a067_u64.to_le_bytes() {
78 for padding in 0..=7 {
79 if bytes.len() < 16 + padding {
80 break;
81 }
82 let end = bytes.len() - padding;
83 if bytes[end - 8..end] == footer
84 && bytes[end..].iter().all(|byte| *byte == 0)
85 && (padding == 0 || bytes.len().is_multiple_of(8))
86 {
87 return Ok(&bytes[8..end - 8]);
88 }
89 }
90 }
91 Err(Error {
92 offset: usize::try_from(chunk.offset).unwrap(),
93 message: "Invalid encryption key container",
94 })
95 }
96
97 pub fn file_data(&self, guid: [u8; 16]) -> Result<&'a [u8], Error> {
98 let mut found = None;
99 for node in self
100 .lists
101 .values()
102 .flat_map(|list| &list.nodes)
103 .filter(|node| node.id == 0x94)
104 {
105 let mut c = node.fields(self);
106 if c.read::<16>()? != guid {
107 continue;
108 }
109 let Some(Reference::Data(chunk)) = node.reference else {
110 return Err(Error {
111 offset: node.offset,
112 message: "File-data object lacks a data reference",
113 });
114 };
115 if found.replace(chunk).is_some() {
116 return Err(Error {
117 offset: node.offset,
118 message: "Duplicate file-data identity",
119 });
120 }
121 }
122 let chunk = found.ok_or(Error {
123 offset: 0,
124 message: "File-data object is not declared",
125 })?;
126 let mut c = Cursor {
127 bytes: self.chunk_data(chunk)?,
128 offset: usize::try_from(chunk.offset).unwrap(),
129 };
130 if c.read::<16>()?
131 != [
132 0xe7, 0x16, 0xe3, 0xbd, 0x65, 0x26, 0x11, 0x45, 0xa4, 0xc4, 0x8d, 0x4d, 0x0b, 0x7a,
133 0x9e, 0xac,
134 ]
135 {
136 return Err(Error {
137 offset: c.offset - 16,
138 message: "Invalid file-data object header",
139 });
140 }
141 let length = usize::try_from(u64::from_le_bytes(c.read()?)).map_err(|_| Error {
142 offset: c.offset - 8,
143 message: "File-data length exceeds address space",
144 })?;
145 c.take(12)?;
146 let bytes = c.take(length)?;
147 // The object length is aligned; its position in the file need not be.
148 let padding = (8 - (36 + length) % 8) % 8;
149 c.take(padding)?;
150 if c.read::<16>()?
151 != [
152 0x22, 0xa7, 0xfb, 0x71, 0x79, 0x0f, 0x0b, 0x4a, 0xbb, 0x13, 0x89, 0x92, 0x56, 0x42,
153 0x6b, 0x24,
154 ]
155 || !c.bytes.is_empty()
156 {
157 return Err(Error {
158 offset: c.offset - 16,
159 message: "Invalid file-data object footer or length",
160 });
161 }
162 Ok(bytes)
163 }
164}
crates/onestore/src/flush.rs created+14
...@@ -0,0 +1,14 @@
1use std::{fs::File, io};
2
3pub(crate) fn flush(file: &File) -> io::Result<()> {
4 let result = file.sync_all();
5 #[cfg(target_os = "macos")]
6 if result
7 .as_ref()
8 .is_err_and(|error| error.raw_os_error() == Some(nix::libc::ENOTSUP))
9 {
10 // SMB uses standard FLUSH when Apple's F_FULLFSYNC extension is unavailable.
11 return nix::unistd::fsync(file).map_err(io::Error::from);
12 }
13 result
14}
crates/onestore/src/lib.rs created+27
...@@ -0,0 +1,27 @@
1#![forbid(unsafe_code)]
2#![doc = include_str!("../../../README.md")]
3
4mod bytes;
5mod commit;
6mod create;
7pub mod document;
8mod edit;
9mod files;
10mod flush;
11mod objects;
12mod properties;
13mod revisions;
14mod store;
15mod write;
16
17pub use commit::{CommitError, CommitIo, CommitState, commit_property_bytes, commit_text};
18#[cfg(any(unix, windows))]
19pub use commit::{commit_file_property, commit_file_text, read_file};
20pub use create::{create_section, create_table_of_contents};
21pub use edit::replace_text;
22pub use files::FileDataReference;
23pub use objects::{Object, ObjectData, ObjectReferences, ResolvedRevision};
24pub use properties::{IdStream, Property, PropertySets, Value};
25pub use revisions::{ExGuid, ObjectSpace, Revision, RevisionIndex};
26pub use store::{Chunk, Error, FileType, Header, Node, NodeList, Reference, Store};
27pub use write::replace_property_bytes;
crates/onestore/src/objects.rs created+625
...@@ -0,0 +1,625 @@
1use crate::{
2 Error, ExGuid, IdStream, Node, PropertySets, Reference, RevisionIndex, Value, bytes::Cursor,
3};
4use std::{
5 collections::{BTreeMap, BTreeSet},
6 sync::Arc,
7};
8
9type Result<T> = std::result::Result<T, Error>;
10type GlobalIds = BTreeMap<u32, [u8; 16]>;
11
12#[derive(Debug, Clone, Copy, PartialEq, Eq)]
13pub enum ObjectData<'a> {
14 Properties(&'a [u8]),
15 Encrypted(&'a [u8]),
16 File {
17 reference: &'a [u8],
18 extension: &'a [u8],
19 },
20}
21
22#[derive(Debug)]
23pub struct Object<'a> {
24 pub jcid: u32,
25 pub reference_count: u32,
26 pub data: ObjectData<'a>,
27 pub global_ids: Arc<GlobalIds>,
28}
29
30#[derive(Debug)]
31pub struct ResolvedRevision<'a> {
32 pub roots: BTreeMap<u32, ExGuid>,
33 pub objects: BTreeMap<ExGuid, Object<'a>>,
34}
35
36/// Occurrences retain multiplicity for native reference counts.
37#[derive(Debug, Default)]
38pub struct ObjectReferences {
39 pub objects: Vec<ExGuid>,
40 pub object_spaces: Vec<ExGuid>,
41 pub contexts: Vec<ExGuid>,
42}
43
44impl Object<'_> {
45 pub fn references(&self) -> Result<ObjectReferences> {
46 let mut result = ObjectReferences::default();
47 let bytes = match self.data {
48 ObjectData::File { .. } => return Ok(result),
49 ObjectData::Properties(bytes) => bytes,
50 ObjectData::Encrypted(_) => {
51 return Err(Error {
52 offset: 0,
53 message: "Encrypted property references are unavailable",
54 });
55 }
56 };
57 let properties = PropertySets::parse(bytes)?;
58 for property in properties.sets.iter().flatten() {
59 if let Value::References {
60 stream,
61 compact_ids,
62 } = property.value
63 {
64 let targets = match stream {
65 IdStream::Objects => &mut result.objects,
66 IdStream::ObjectSpaces => &mut result.object_spaces,
67 IdStream::Contexts => &mut result.contexts,
68 };
69 let mut c = Cursor {
70 bytes: compact_ids,
71 offset: 0,
72 };
73 while !c.bytes.is_empty() {
74 targets.push(c.compact(&self.global_ids)?);
75 }
76 }
77 }
78 Ok(result)
79 }
80}
81
82impl ResolvedRevision<'_> {
83 pub fn reachable(&self) -> Result<BTreeSet<ExGuid>> {
84 let mut pending: Vec<_> = self.roots.values().copied().collect();
85 let mut incoming = BTreeMap::<ExGuid, u32>::new();
86 for id in &pending {
87 if incoming.insert(*id, 1).is_some() {
88 return Err(Error {
89 offset: 0,
90 message: "Object is the root of multiple roles",
91 });
92 }
93 }
94 let mut edges = BTreeMap::new();
95 while let Some(id) = pending.pop() {
96 if edges.contains_key(&id) {
97 continue;
98 }
99 let object = self.objects.get(&id).ok_or(Error {
100 offset: 0,
101 message: "Reachable object has no declaration",
102 })?;
103 let references = object.references()?;
104 for child in &references.objects {
105 let count = incoming.entry(*child).or_default();
106 *count = count.checked_add(1).ok_or(Error {
107 offset: 0,
108 message: "Object reference count overflows",
109 })?;
110 pending.push(*child);
111 }
112 edges.insert(id, references.objects);
113 }
114 let mut remaining = incoming.clone();
115 for id in self.roots.values() {
116 *remaining.get_mut(id).unwrap() -= 1;
117 }
118 pending.extend(
119 remaining
120 .iter()
121 .filter_map(|(id, count)| (*count == 0).then_some(*id)),
122 );
123 let mut visited = 0;
124 while let Some(id) = pending.pop() {
125 visited += 1;
126 for child in &edges[&id] {
127 let count = remaining.get_mut(child).unwrap();
128 *count -= 1;
129 if *count == 0 {
130 pending.push(*child);
131 }
132 }
133 }
134 if visited != edges.len() {
135 return Err(Error {
136 offset: 0,
137 message: "Object references form a cycle",
138 });
139 }
140 for (id, count) in &incoming {
141 if self.objects[id].reference_count != *count {
142 return Err(Error {
143 offset: 0,
144 message: "Stored object reference count disagrees with the reachable graph",
145 });
146 }
147 }
148 Ok(edges.into_keys().collect())
149 }
150}
151
152impl Cursor<'_> {
153 pub(crate) fn compact(&mut self, table: &GlobalIds) -> Result<ExGuid> {
154 let raw = u32::from_le_bytes(self.read()?);
155 let guid = *table.get(&(raw >> 8)).ok_or(Error {
156 offset: self.offset - 4,
157 message: "Compact ID refers to a missing global ID",
158 })?;
159 Ok(ExGuid {
160 guid,
161 n: raw & 0xff,
162 })
163 }
164}
165
166impl<'a> Cursor<'a> {
167 fn storage_string(&mut self) -> Result<&'a [u8]> {
168 let count = u32::from_le_bytes(self.read()?);
169 let size = usize::try_from(count)
170 .ok()
171 .and_then(|n| n.checked_mul(2))
172 .ok_or(Error {
173 offset: self.offset - 4,
174 message: "String length exceeds address space",
175 })?;
176 self.take(size)
177 }
178}
179
180impl<'a> RevisionIndex<'a> {
181 pub fn validate_current(&self) -> Result<()> {
182 let mut edges = BTreeMap::new();
183 let mut incoming = BTreeMap::<_, usize>::new();
184 for (osid, space) in &self.spaces {
185 for rid in space.labels.values().copied().collect::<BTreeSet<_>>() {
186 let revision = self.resolve(*osid, rid)?;
187 let mut targets = BTreeSet::new();
188 for oid in revision.reachable()? {
189 let references = revision.objects[&oid].references()?;
190 for target in references.object_spaces {
191 if target == *osid {
192 return Err(Error {
193 offset: 0,
194 message: "Object references its own object space",
195 });
196 }
197 let rid = self
198 .spaces
199 .get(&target)
200 .and_then(|space| space.labels.get(&(ExGuid::default(), 1)))
201 .ok_or(Error {
202 offset: 0,
203 message: "Object-space reference has no default revision",
204 })?;
205 targets.insert((target, *rid));
206 }
207 for context in references.contexts {
208 if !space.labels.contains_key(&(context, 1)) {
209 return Err(Error {
210 offset: 0,
211 message: "Context reference has no current revision",
212 });
213 }
214 }
215 }
216 for target in &targets {
217 *incoming.entry(*target).or_default() += 1;
218 }
219 incoming.entry((*osid, rid)).or_default();
220 edges.insert((*osid, rid), targets);
221 }
222 }
223 let mut pending: Vec<_> = incoming
224 .iter()
225 .filter_map(|(id, count)| (*count == 0).then_some(*id))
226 .collect();
227 let mut visited = 0;
228 while let Some(id) = pending.pop() {
229 visited += 1;
230 for target in &edges[&id] {
231 let count = incoming.get_mut(target).unwrap();
232 *count -= 1;
233 if *count == 0 {
234 pending.push(*target);
235 }
236 }
237 }
238 if visited != edges.len() {
239 return Err(Error {
240 offset: 0,
241 message: "Object-space references form a cycle",
242 });
243 }
244 Ok(())
245 }
246
247 pub fn resolve(&self, space: ExGuid, revision: ExGuid) -> Result<ResolvedRevision<'a>> {
248 let space = self.spaces.get(&space).ok_or(Error {
249 offset: 0,
250 message: "Unknown object space",
251 })?;
252 let mut chain = Vec::new();
253 let mut visited = BTreeSet::new();
254 let mut next = Some(revision);
255 while let Some(id) = next {
256 let revision = space.revisions.get(&id).ok_or(Error {
257 offset: 0,
258 message: "Unknown revision dependency",
259 })?;
260 if !visited.insert(id) {
261 return Err(Error {
262 offset: 0,
263 message: "Revision dependency cycle",
264 });
265 }
266 chain.push(revision);
267 next = revision.dependency;
268 }
269 let mut result = ResolvedRevision {
270 roots: BTreeMap::new(),
271 objects: BTreeMap::new(),
272 };
273 let mut table = Arc::new(GlobalIds::new());
274 let mut signed_data = BTreeMap::new();
275 for revision in chain.into_iter().rev() {
276 let dependency_table = table;
277 table = Arc::new(GlobalIds::new());
278 let mut pending: Vec<&Node<'a>> = revision.nodes.iter().rev().collect();
279 let mut groups = BTreeSet::new();
280 let mut defining_table = false;
281 let initial_crc = if self.store.header.file_type == crate::FileType::Section {
282 u32::MAX
283 } else {
284 0
285 };
286 let mut override_crc = initial_crc;
287 let mut in_group = false;
288 let mut signature = ExGuid::default();
289 while let Some(node) = pending.pop() {
290 let mut c = node.fields(self.store);
291 match node.id {
292 0xb0 => {
293 override_crc = initial_crc;
294 in_group = true;
295 let id = c.exguid()?;
296 if !groups.insert(id) {
297 return Err(Error {
298 offset: node.offset,
299 message: "Repeated object group",
300 });
301 }
302 let group = node.referenced_list(self.store)?;
303 let first = group.first().ok_or(Error {
304 offset: node.offset,
305 message: "Empty object group",
306 })?;
307 if first.id != 0xb4
308 || first.fields(self.store).exguid()? != id
309 || group.last().is_none_or(|node| node.id != 0xb8)
310 {
311 return Err(Error {
312 offset: node.offset,
313 message: "Object-group identity or boundaries do not match",
314 });
315 }
316 if group[1..group.len() - 1].iter().any(|node| {
317 !matches!(
318 node.id,
319 0x22 | 0x24 | 0x28 | 0x8c | 0xa4 | 0xa5 | 0xc4 | 0xc5 | 0x72 | 0x73
320 )
321 }) {
322 return Err(Error {
323 offset: node.offset,
324 message: "Unexpected node in an object group",
325 });
326 }
327 pending.extend(group[1..].iter().rev());
328 }
329 0x21 | 0x22 => {
330 if defining_table {
331 return Err(Error {
332 offset: node.offset,
333 message: "Unterminated global identification table",
334 });
335 }
336 table = Arc::new(GlobalIds::new());
337 defining_table = true;
338 }
339 0x24..=0x26 => {
340 if !defining_table {
341 return Err(Error {
342 offset: node.offset,
343 message: "Global ID entry outside a table",
344 });
345 }
346 let first = u32::from_le_bytes(c.read()?);
347 let entries: Vec<_> = match node.id {
348 0x24 => vec![(first, c.read()?)],
349 0x25 | 0x26 => {
350 let count = if node.id == 0x26 {
351 u32::from_le_bytes(c.read()?)
352 } else {
353 1
354 };
355 let to = u32::from_le_bytes(c.read()?);
356 let end = first.checked_add(count).ok_or(Error {
357 offset: node.offset,
358 message: "Global ID import range overflows",
359 })?;
360 if u64::from(count) > dependency_table.len() as u64
361 || to.checked_add(count).is_none_or(|end| end > 0xffffff)
362 {
363 return Err(Error {
364 offset: node.offset,
365 message: "Global ID import range exceeds its table",
366 });
367 }
368 let entries: Vec<_> = dependency_table
369 .range(first..end)
370 .map(|(from, guid)| (to + from - first, *guid))
371 .collect();
372 if entries.len() as u64 != u64::from(count) {
373 return Err(Error {
374 offset: node.offset,
375 message: "Global ID import refers to a missing entry",
376 });
377 }
378 entries
379 }
380 _ => unreachable!(),
381 };
382 for (index, guid) in entries {
383 if index >= 0xffffff
384 || guid == [0; 16]
385 || Arc::make_mut(&mut table).insert(index, guid).is_some()
386 {
387 return Err(Error {
388 offset: node.offset,
389 message: "Invalid or repeated global ID entry",
390 });
391 }
392 }
393 }
394 0x28 => {
395 if !defining_table {
396 return Err(Error {
397 offset: node.offset,
398 message: "Global ID table end without a start",
399 });
400 }
401 defining_table = false;
402 let unique: BTreeSet<_> = table.values().collect();
403 if unique.len() != table.len() {
404 return Err(Error {
405 offset: node.offset,
406 message: "Global ID table repeats a GUID",
407 });
408 }
409 }
410 0x59 | 0x5a => {
411 let id = if node.id == 0x5a {
412 c.exguid()?
413 } else {
414 c.compact(&table)?
415 };
416 let role = u32::from_le_bytes(c.read()?);
417 result.roots.insert(role, id);
418 }
419 0x2d | 0x2e | 0x41 | 0x42 | 0xa4 | 0xa5 | 0xc4 | 0xc5 | 0x72 | 0x73 => {
420 if defining_table {
421 return Err(Error {
422 offset: node.offset,
423 message: "Object declared inside a global ID table",
424 });
425 }
426 let id = c.compact(&table)?;
427 let jcid = match node.id {
428 0x2d | 0x2e => {
429 let bits = u16::from_le_bytes(c.read()?);
430 c.take(4)?;
431 if bits & 0x3fff != 1 {
432 return Err(Error {
433 offset: node.offset,
434 message: "Invalid table-of-contents object type",
435 });
436 }
437 0x20001
438 }
439 0x41 | 0x42 => {
440 result
441 .objects
442 .get(&id)
443 .ok_or(Error {
444 offset: node.offset,
445 message: "Object revision has no previous declaration",
446 })?
447 .jcid
448 }
449 _ => u32::from_le_bytes(c.read()?),
450 };
451 let reference_count = match node.id {
452 0x41 => u32::from(c.read::<1>()?[0] >> 2),
453 0x42 => {
454 c.take(4)?;
455 u32::from_le_bytes(c.read()?)
456 }
457 0x2d | 0x72 => u32::from(c.read::<1>()?[0]),
458 0x2e | 0x73 => u32::from_le_bytes(c.read()?),
459 0xa4 | 0xc4 => {
460 c.take(1)?;
461 u32::from(c.read::<1>()?[0])
462 }
463 _ => {
464 c.take(1)?;
465 u32::from_le_bytes(c.read()?)
466 }
467 };
468 if in_group
469 || self.store.header.file_type == crate::FileType::TableOfContents
470 {
471 override_crc = crate::store::crc(
472 override_crc,
473 &reference_count.to_le_bytes(),
474 self.store.header.file_type,
475 );
476 }
477 let data = if matches!(node.id, 0x72 | 0x73) {
478 if jcid & 0x1fffff != 0x80000 | (jcid & 0xffff) {
479 return Err(Error {
480 offset: node.offset,
481 message: "Invalid file-data object flags",
482 });
483 }
484 ObjectData::File {
485 reference: c.storage_string()?,
486 extension: c.storage_string()?,
487 }
488 } else {
489 let Some(Reference::Data(chunk)) = node.reference else {
490 return Err(Error {
491 offset: node.offset,
492 message: "Object lacks a data reference",
493 });
494 };
495 let bytes = self.store.chunk_data(chunk)?;
496 if jcid & 0x20000 == 0
497 || (jcid & 0x100000 != 0) != matches!(node.id, 0xc4 | 0xc5)
498 {
499 return Err(Error {
500 offset: node.offset,
501 message: "Object declaration does not match its property-set flags",
502 });
503 }
504 if matches!(node.id, 0xc4 | 0xc5) {
505 let expected = c.read::<16>()?;
506 if !revision.encrypted && md5::compute(bytes).0 != expected {
507 return Err(Error {
508 offset: node.offset,
509 message: "Read-only object checksum mismatch",
510 });
511 }
512 }
513 if revision.encrypted {
514 ObjectData::Encrypted(bytes)
515 } else {
516 ObjectData::Properties(bytes)
517 }
518 };
519 if let Some(previous) = result.objects.get(&id) {
520 if previous.jcid & 0x1bffff != jcid & 0x1bffff {
521 return Err(Error {
522 offset: node.offset,
523 message: "Object revision changes its type",
524 });
525 }
526 if jcid & 0x180000 != 0 && previous.data != data {
527 return Err(Error {
528 offset: node.offset,
529 message: "Immutable object data changed",
530 });
531 }
532 }
533 if signature != ExGuid::default()
534 && signed_data
535 .insert((id, signature), data)
536 .is_some_and(|previous| previous != data)
537 {
538 return Err(Error {
539 offset: node.offset,
540 message: "Object data changed under the same data signature",
541 });
542 }
543 result.objects.insert(
544 id,
545 Object {
546 jcid,
547 reference_count,
548 data,
549 global_ids: Arc::clone(&table),
550 },
551 );
552 }
553 0x84 => {
554 let Some(Reference::Data(chunk)) = node.reference else {
555 return Err(Error {
556 offset: node.offset,
557 message: "Reference-count override lacks its data reference",
558 });
559 };
560 if !chunk.absent() {
561 c = Cursor {
562 bytes: self.store.chunk_data(chunk)?,
563 offset: usize::try_from(chunk.offset).unwrap(),
564 };
565 }
566 let small = u32::from_le_bytes(c.read()?);
567 let large = u32::from_le_bytes(c.read()?);
568 let expected = u32::from_le_bytes(c.read()?);
569 let start = c.bytes;
570 for (count, width) in [(small, 1), (large, 4)] {
571 for _ in 0..count {
572 let id = c.compact(&table)?;
573 let value = if width == 1 {
574 u32::from(c.read::<1>()?[0])
575 } else {
576 u32::from_le_bytes(c.read()?)
577 };
578 let object = result.objects.get_mut(&id).ok_or(Error { offset: node.offset, message: "Reference-count override targets an undeclared object" })?;
579 object.reference_count = value;
580 }
581 }
582 override_crc = crate::store::crc(
583 override_crc,
584 &start[..start.len() - c.bytes.len()],
585 self.store.header.file_type,
586 );
587 let actual = if self.store.header.file_type == crate::FileType::Section {
588 !override_crc
589 } else {
590 override_crc
591 };
592 if expected != actual {
593 return Err(Error {
594 offset: node.offset,
595 message: "Reference-count override checksum mismatch",
596 });
597 }
598 override_crc = initial_crc;
599 }
600 0x7c => {}
601 0x8c => {
602 signature = c.exguid()?;
603 }
604 0xb8 => {
605 in_group = false;
606 signature = ExGuid::default();
607 }
608 _ => {
609 return Err(Error {
610 offset: node.offset,
611 message: "Unsupported node in a revision manifest",
612 });
613 }
614 }
615 }
616 if defining_table {
617 return Err(Error {
618 offset: 0,
619 message: "Unterminated global identification table",
620 });
621 }
622 }
623 Ok(result)
624 }
625}
crates/onestore/src/properties.rs created+198
...@@ -0,0 +1,198 @@
1use crate::{Error, bytes::Cursor};
2use std::ops::Range;
3
4#[derive(Debug, Clone, Copy, PartialEq, Eq)]
5pub enum IdStream {
6 Objects,
7 ObjectSpaces,
8 Contexts,
9}
10
11#[derive(Debug, PartialEq, Eq)]
12pub enum Value<'a> {
13 NoData,
14 Bytes(&'a [u8]),
15 References {
16 stream: IdStream,
17 compact_ids: &'a [u8],
18 },
19 Sets(Range<usize>),
20}
21
22#[derive(Debug, PartialEq, Eq)]
23pub struct Property<'a> {
24 pub id: u32,
25 pub value: Value<'a>,
26}
27
28/// Set zero is the root; nested sets are ranges of indices in this arena.
29#[derive(Debug, PartialEq, Eq)]
30pub struct PropertySets<'a> {
31 pub sets: Vec<Vec<Property<'a>>>,
32 pub(crate) padding: &'a [u8],
33 pub(crate) root_ids: &'a [u8],
34}
35
36enum Work<'a> {
37 Set(usize),
38 Fields(usize, &'a [u8]),
39}
40
41impl<'a> PropertySets<'a> {
42 pub fn parse(bytes: &'a [u8]) -> Result<Self, Error> {
43 let mut c = Cursor { bytes, offset: 0 };
44 let mut streams = std::array::from_fn::<_, 3, _>(|_| Cursor {
45 bytes: &[],
46 offset: 0,
47 });
48 let mut extended = false;
49 for (index, stream) in streams.iter_mut().enumerate() {
50 let header = u32::from_le_bytes(c.read()?);
51 let count = usize::try_from(header & 0xffffff).unwrap();
52 if (index > 0 && header & 0x80000000 != 0)
53 || (index == 0 && header & 0xc0000000 == 0xc0000000)
54 || (index == 1 && (header & 0x40000000 != 0) != extended)
55 || (index == 2 && header & 0x40000000 != 0)
56 {
57 return Err(Error {
58 offset: c.offset - 4,
59 message: "Inconsistent property reference-stream flags",
60 });
61 }
62 let offset = c.offset;
63 *stream = Cursor {
64 bytes: c.take(count * 4)?,
65 offset,
66 };
67 if index == 0 {
68 extended = header & 0x40000000 != 0;
69 if header & 0x80000000 != 0 {
70 break;
71 }
72 } else if index == 1 && !extended {
73 break;
74 }
75 }
76 let mut sets = vec![Vec::new()];
77 let mut root_ids = &bytes[..0];
78 let mut work = vec![Work::Set(0)];
79 while let Some(item) = work.pop() {
80 match item {
81 Work::Set(index) => {
82 let count = usize::from(u16::from_le_bytes(c.read()?));
83 let ids = c.take(count * 4)?;
84 if index == 0 {
85 root_ids = ids;
86 }
87 work.push(Work::Fields(index, ids));
88 }
89 Work::Fields(index, ids) => {
90 let Some((first, rest)) = ids.split_first_chunk::<4>() else {
91 continue;
92 };
93 let id = u32::from_le_bytes(*first);
94 let kind = (id >> 26) & 0x1f;
95 work.push(Work::Fields(index, rest));
96 let value = match kind {
97 1 | 2 => Value::NoData,
98 3..=6 => Value::Bytes(c.take(1 << (kind - 3))?),
99 7 => {
100 let count = u32::from_le_bytes(c.read()?);
101 if count >= 0x40000000 {
102 return Err(Error {
103 offset: c.offset - 4,
104 message: "Property data exceeds the format length limit",
105 });
106 }
107 Value::Bytes(c.take(usize::try_from(count).unwrap())?)
108 }
109 8..=13 => {
110 let count = if kind & 1 != 0 {
111 u32::from_le_bytes(c.read()?)
112 } else {
113 1
114 };
115 let stream_index = usize::try_from((kind - 8) / 2).unwrap();
116 let count = usize::try_from(count)
117 .ok()
118 .and_then(|count| count.checked_mul(4))
119 .ok_or(Error {
120 offset: c.offset,
121 message: "Reference count exceeds address space",
122 })?;
123 let compact_ids = streams[stream_index].take(count)?;
124 let stream = match stream_index {
125 0 => IdStream::Objects,
126 1 => IdStream::ObjectSpaces,
127 _ => IdStream::Contexts,
128 };
129 Value::References {
130 stream,
131 compact_ids,
132 }
133 }
134 16 | 17 => {
135 let count = if kind == 16 {
136 let count = u32::from_le_bytes(c.read()?);
137 if count != 0 {
138 let element = u32::from_le_bytes(c.read()?);
139 if (element >> 26) & 0x1f != 17 {
140 return Err(Error {
141 offset: c.offset - 4,
142 message: "Property array contains a non-set element type",
143 });
144 }
145 }
146 usize::try_from(count).map_err(|_| Error {
147 offset: c.offset,
148 message: "Property-set count exceeds address space",
149 })?
150 } else {
151 1
152 };
153 let start = sets.len();
154 let end = start
155 .checked_add(count)
156 .filter(|end| *end <= bytes.len() / 2)
157 .ok_or(Error {
158 offset: c.offset,
159 message: "Property-set count exceeds the available data",
160 })?;
161 sets.resize_with(end, Vec::new);
162 for child in (start..end).rev() {
163 work.push(Work::Set(child));
164 }
165 Value::Sets(start..end)
166 }
167 _ => {
168 return Err(Error {
169 offset: c.offset,
170 message: "Unsupported property type",
171 });
172 }
173 };
174 sets[index].push(Property { id, value });
175 }
176 }
177 }
178 for stream in streams {
179 if !stream.bytes.is_empty() {
180 return Err(Error {
181 offset: stream.offset,
182 message: "Unconsumed property references",
183 });
184 }
185 }
186 if !c.bytes.is_empty() && (c.bytes.len() > 7 || !bytes.len().is_multiple_of(8)) {
187 return Err(Error {
188 offset: c.offset,
189 message: "Trailing data exceeds property-set padding",
190 });
191 }
192 Ok(Self {
193 sets,
194 padding: c.bytes,
195 root_ids,
196 })
197 }
198}
crates/onestore/src/revisions.rs created+354
...@@ -0,0 +1,354 @@
1use crate::{Error, FileType, Node, Reference, Store, bytes::Cursor};
2use std::{collections::BTreeMap, fmt};
3
4type Result<T> = std::result::Result<T, Error>;
5
6#[derive(Debug, Default, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
7pub struct ExGuid {
8 pub guid: [u8; 16],
9 pub n: u32,
10}
11
12impl fmt::Display for ExGuid {
13 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
14 let g = &self.guid;
15 write!(
16 f,
17 "{{{:08X}-{:04X}-{:04X}-{:02X}{:02X}-{:02X}{:02X}{:02X}{:02X}{:02X}{:02X}}},{}",
18 u32::from_le_bytes(g[..4].try_into().unwrap()),
19 u16::from_le_bytes(g[4..6].try_into().unwrap()),
20 u16::from_le_bytes(g[6..8].try_into().unwrap()),
21 g[8],
22 g[9],
23 g[10],
24 g[11],
25 g[12],
26 g[13],
27 g[14],
28 g[15],
29 self.n
30 )
31 }
32}
33
34impl serde::Serialize for ExGuid {
35 fn serialize<S: serde::Serializer>(
36 &self,
37 serializer: S,
38 ) -> std::result::Result<S::Ok, S::Error> {
39 serializer.collect_str(self)
40 }
41}
42
43impl Cursor<'_> {
44 pub(crate) fn exguid(&mut self) -> Result<ExGuid> {
45 let id = ExGuid {
46 guid: self.read()?,
47 n: u32::from_le_bytes(self.read()?),
48 };
49 if id.guid == [0; 16] && id.n != 0 {
50 return Err(Error {
51 offset: self.offset - 20,
52 message: "Zero GUID has a nonzero extension",
53 });
54 }
55 Ok(id)
56 }
57}
58
59impl<'a> Node<'a> {
60 pub(crate) fn fields(&self, store: &Store<'a>) -> Cursor<'a> {
61 Cursor {
62 bytes: self.payload,
63 offset: self
64 .payload
65 .as_ptr()
66 .addr()
67 .checked_sub(store.data.as_ptr().addr())
68 .filter(|offset| *offset <= store.data.len())
69 .unwrap_or(self.offset),
70 }
71 }
72
73 pub(crate) fn referenced_list<'s>(&self, store: &'s Store<'a>) -> Result<&'s [Node<'a>]> {
74 let Some(Reference::NodeList(chunk)) = self.reference else {
75 return Err(Error {
76 offset: self.offset,
77 message: "Node requires a file-node list reference",
78 });
79 };
80 Ok(&store.list(chunk)?.nodes)
81 }
82}
83
84#[derive(Debug)]
85pub struct Revision<'a> {
86 pub dependency: Option<ExGuid>,
87 pub encrypted: bool,
88 pub nodes: &'a [Node<'a>],
89}
90
91#[derive(Debug)]
92pub struct ObjectSpace<'a> {
93 pub revisions: BTreeMap<ExGuid, Revision<'a>>,
94 pub labels: BTreeMap<(ExGuid, u32), ExGuid>,
95}
96
97#[derive(Debug)]
98pub struct RevisionIndex<'a> {
99 pub root: ExGuid,
100 pub spaces: BTreeMap<ExGuid, ObjectSpace<'a>>,
101 pub(crate) store: &'a Store<'a>,
102}
103
104impl<'a> RevisionIndex<'a> {
105 pub fn parse(store: &'a Store<'a>) -> Result<Self> {
106 let mut root = None;
107 let mut spaces = BTreeMap::new();
108 for node in &store.list(store.header.root)?.nodes {
109 match node.id {
110 4 => {
111 let id = node.fields(store).exguid()?;
112 if !spaces.contains_key(&id) {
113 return Err(Error {
114 offset: node.offset,
115 message: "Root object space is referenced before its declaration",
116 });
117 }
118 if root.replace(id).is_some() {
119 return Err(Error {
120 offset: node.offset,
121 message: "Multiple root object spaces",
122 });
123 }
124 }
125 8 => {
126 let id = node.fields(store).exguid()?;
127 let manifest = node.referenced_list(store)?;
128 let Some(first) = manifest.first() else {
129 return Err(Error {
130 offset: node.offset,
131 message: "Empty object-space manifest",
132 });
133 };
134 if id == ExGuid::default()
135 || first.id != 0xc
136 || first.fields(store).exguid()? != id
137 {
138 return Err(Error {
139 offset: first.offset,
140 message: "Object-space identity does not match its manifest",
141 });
142 }
143 let last = manifest.iter().rfind(|node| node.id == 0x10).ok_or(Error {
144 offset: first.offset,
145 message: "Object space has no revision manifest list",
146 })?;
147 let nodes = last.referenced_list(store)?;
148 let Some(first) = nodes.first() else {
149 return Err(Error {
150 offset: last.offset,
151 message: "Empty revision manifest list",
152 });
153 };
154 if first.id != 0x14 || first.fields(store).exguid()? != id {
155 return Err(Error {
156 offset: first.offset,
157 message: "Revision list belongs to a different object space",
158 });
159 }
160 let mut revisions: BTreeMap<ExGuid, Revision<'a>> = BTreeMap::new();
161 let mut labels = BTreeMap::new();
162 let mut encryption_data = None;
163 let mut position = 1;
164 while position < nodes.len() {
165 let node = &nodes[position];
166 let mut c = node.fields(store);
167 match node.id {
168 0x1b | 0x1e | 0x1f => {
169 if (node.id == 0x1b)
170 != (store.header.file_type == FileType::TableOfContents)
171 {
172 return Err(Error {
173 offset: node.offset,
174 message: "Revision encoding does not match the file type",
175 });
176 }
177 let rid = c.exguid()?;
178 let dependency = c.exguid()?;
179 if node.id == 0x1b {
180 c.take(8)?;
181 }
182 let role = u32::from_le_bytes(c.read()?);
183 let encoding = u16::from_le_bytes(c.read()?);
184 let context = if node.id == 0x1f {
185 c.exguid()?
186 } else {
187 ExGuid::default()
188 };
189 if rid == ExGuid::default()
190 || role > 0xffff
191 || !matches!(encoding, 0 | 2)
192 || (node.id == 0x1b && encoding != 0)
193 {
194 return Err(Error {
195 offset: node.offset,
196 message: "Invalid revision identity, role, or encoding",
197 });
198 }
199 let dependency = if dependency == ExGuid::default() {
200 None
201 } else {
202 let previous = revisions.get(&dependency).ok_or(Error {
203 offset: node.offset,
204 message: "Revision dependency is not an earlier revision",
205 })?;
206 if previous.encrypted != (encoding == 2) {
207 return Err(Error {
208 offset: node.offset,
209 message: "Revision changes its dependency's encryption mode",
210 });
211 }
212 Some(dependency)
213 };
214 let start = position + 1;
215 position = start;
216 while position < nodes.len() && nodes[position].id != 0x1c {
217 if matches!(
218 nodes[position].id,
219 0x1b | 0x1e | 0x1f | 0x5c | 0x5d
220 ) {
221 return Err(Error {
222 offset: nodes[position].offset,
223 message: "Unterminated revision manifest",
224 });
225 }
226 position += 1;
227 }
228 if position == nodes.len() {
229 return Err(Error {
230 offset: node.offset,
231 message: "Unterminated revision manifest",
232 });
233 }
234 let body = &nodes[start..position];
235 for (position, item) in body.iter().enumerate() {
236 if item.id == 0xb0
237 && body.get(position + 1).is_none_or(|next| next.id != 0x84)
238 {
239 return Err(Error {
240 offset: item.offset,
241 message: "Object group lacks its dependency overrides",
242 });
243 }
244 }
245 if (encoding == 2)
246 != body.first().is_some_and(|node| node.id == 0x7c)
247 {
248 return Err(Error {
249 offset: node.offset,
250 message: "Revision encryption key does not match its encoding",
251 });
252 }
253 if revisions
254 .values()
255 .next()
256 .is_some_and(|previous| previous.encrypted != (encoding == 2))
257 {
258 return Err(Error {
259 offset: node.offset,
260 message: "Object space mixes encrypted and unencrypted revisions",
261 });
262 }
263 if encoding == 2 {
264 let key = &body[0];
265 let Some(Reference::Data(chunk)) = key.reference else {
266 return Err(Error {
267 offset: key.offset,
268 message: "Encryption key lacks a data reference",
269 });
270 };
271 let data = store.encryption_key(chunk)?;
272 if encryption_data
273 .replace(data)
274 .is_some_and(|previous| previous != data)
275 {
276 return Err(Error {
277 offset: key.offset,
278 message: "Object space changes its encryption key",
279 });
280 }
281 }
282 if revisions
283 .insert(
284 rid,
285 Revision {
286 dependency,
287 encrypted: encoding == 2,
288 nodes: body,
289 },
290 )
291 .is_some()
292 {
293 return Err(Error {
294 offset: node.offset,
295 message: "Duplicate revision identity",
296 });
297 }
298 labels.insert((context, role), rid);
299 }
300 0x5c | 0x5d => {
301 let rid = c.exguid()?;
302 let role = u32::from_le_bytes(c.read()?);
303 let context = if node.id == 0x5d {
304 c.exguid()?
305 } else {
306 ExGuid::default()
307 };
308 if !revisions.contains_key(&rid) || role > 0xffff {
309 return Err(Error {
310 offset: node.offset,
311 message: "Revision label has an invalid target or role",
312 });
313 }
314 labels.insert((context, role), rid);
315 }
316 _ => {
317 return Err(Error {
318 offset: node.offset,
319 message: "Unexpected node between revision manifests",
320 });
321 }
322 }
323 position += 1;
324 }
325 if spaces
326 .insert(id, ObjectSpace { revisions, labels })
327 .is_some()
328 {
329 return Err(Error {
330 offset: node.offset,
331 message: "Duplicate object-space identity",
332 });
333 }
334 }
335 0x90 => {}
336 _ => {
337 return Err(Error {
338 offset: node.offset,
339 message: "Unexpected node in the root file-node list",
340 });
341 }
342 }
343 }
344 let root = root.filter(|id| spaces.contains_key(id)).ok_or(Error {
345 offset: 172,
346 message: "Root object space is not declared",
347 })?;
348 Ok(Self {
349 root,
350 spaces,
351 store,
352 })
353 }
354}
crates/onestore/src/store.rs created+531
...@@ -0,0 +1,531 @@
1use crate::bytes::Cursor;
2use std::collections::{BTreeMap, BTreeSet};
3use std::fmt;
4use std::ops::Range;
5
6#[derive(Debug, Clone, PartialEq, Eq)]
7pub struct Error {
8 /// Parser byte offset; zero also represents errors without a byte location.
9 pub offset: usize,
10 /// Diagnostic text, not a stable machine-readable error code.
11 pub message: &'static str,
12}
13
14impl fmt::Display for Error {
15 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
16 write!(f, "{} at byte {:#x}", self.message, self.offset)
17 }
18}
19
20impl std::error::Error for Error {}
21
22type Result<T> = std::result::Result<T, Error>;
23
24impl Cursor<'_> {
25 fn chunk(&mut self) -> Result<Chunk> {
26 Ok(Chunk {
27 offset: u64::from_le_bytes(self.read()?),
28 length: u64::from(u32::from_le_bytes(self.read()?)),
29 })
30 }
31}
32
33#[derive(Debug, Clone, Copy, PartialEq, Eq)]
34pub enum FileType {
35 Section,
36 TableOfContents,
37}
38
39#[derive(Debug, Clone, Copy, PartialEq, Eq)]
40pub struct Chunk {
41 pub offset: u64,
42 pub length: u64,
43}
44
45impl Chunk {
46 pub(crate) fn absent(self) -> bool {
47 self.length == 0 && (self.offset == 0 || self.offset == u64::MAX)
48 }
49
50 fn range(self, data: &[u8]) -> Result<Range<usize>> {
51 let start = usize::try_from(self.offset).map_err(|_| Error {
52 offset: 0,
53 message: "Chunk offset exceeds address space",
54 })?;
55 let size = usize::try_from(self.length).map_err(|_| Error {
56 offset: start,
57 message: "Chunk length exceeds address space",
58 })?;
59 let end = start.checked_add(size).filter(|end| *end <= data.len());
60 match end {
61 Some(end) if start >= 1024 && end > start => Ok(start..end),
62 _ => Err(Error {
63 offset: start,
64 message: "Chunk extends outside the data area",
65 }),
66 }
67 }
68}
69
70#[derive(Debug)]
71pub struct Header {
72 pub file_type: FileType,
73 pub file_id: [u8; 16],
74 pub transaction_count: u32,
75 pub expected_length: u64,
76 pub version_id: [u8; 16],
77 pub generation: u64,
78 pub deny_read_id: [u8; 16],
79 pub transaction_log: Chunk,
80 pub root: Chunk,
81 pub hashed_chunks: Chunk,
82}
83
84impl Header {
85 fn parse(data: &[u8]) -> Result<Self> {
86 let mut c = Cursor {
87 bytes: data,
88 offset: 0,
89 };
90 let bytes = c.take(1024)?;
91 let mut c = Cursor { bytes, offset: 0 };
92 let file_type = match c.read()? {
93 [
94 0xe4,
95 0x52,
96 0x5c,
97 0x7b,
98 0x8c,
99 0xd8,
100 0xa7,
101 0x4d,
102 0xae,
103 0xb1,
104 0x53,
105 0x78,
106 0xd0,
107 0x29,
108 0x96,
109 0xd3,
110 ] => FileType::Section,
111 [
112 0xa1,
113 0x2f,
114 0xff,
115 0x43,
116 0xd9,
117 0xef,
118 0x76,
119 0x4c,
120 0x9e,
121 0xe2,
122 0x10,
123 0xea,
124 0x57,
125 0x22,
126 0x76,
127 0x5f,
128 ] => FileType::TableOfContents,
129 _ => {
130 return Err(Error {
131 offset: 0,
132 message: "Unrecognized revision-store file type",
133 });
134 }
135 };
136 let file_id = c.read()?;
137 c.take(16)?;
138 if c.read::<16>()?
139 != [
140 0x3f, 0xdd, 0x9a, 0x10, 0x1b, 0x91, 0xf5, 0x49, 0xa5, 0xd0, 0x17, 0x91, 0xed, 0xc8,
141 0xae, 0xd8,
142 ]
143 {
144 return Err(Error {
145 offset: 48,
146 message: "Unrecognized revision-store format",
147 });
148 }
149 c.take(12)?;
150 let version = u32::from_le_bytes(c.read()?);
151 let supported = match file_type {
152 FileType::Section => 0x2a,
153 FileType::TableOfContents => 0x1b,
154 };
155 if version != supported {
156 return Err(Error {
157 offset: 76,
158 message: "Unsupported file-format version",
159 });
160 }
161 c.take(16)?;
162 let transaction_count = u32::from_le_bytes(c.read()?);
163 if transaction_count == 0 {
164 return Err(Error {
165 offset: 96,
166 message: "Missing committed transaction",
167 });
168 }
169 c.take(48)?;
170 let hashed_chunks = c.chunk()?;
171 let transaction_log = c.chunk()?;
172 let root = c.chunk()?;
173 c.take(12)?;
174 let expected_length = u64::from_le_bytes(c.read()?);
175 c.take(8)?;
176 let version_id = c.read()?;
177 let generation = u64::from_le_bytes(c.read()?);
178 let deny_read_id = c.read()?;
179 Ok(Self {
180 file_type,
181 file_id,
182 transaction_count,
183 expected_length,
184 version_id,
185 generation,
186 deny_read_id,
187 transaction_log,
188 root,
189 hashed_chunks,
190 })
191 }
192}
193
194#[derive(Debug, Clone, Copy, PartialEq, Eq)]
195pub enum Reference {
196 Data(Chunk),
197 NodeList(Chunk),
198}
199
200#[derive(Debug)]
201pub struct Node<'a> {
202 pub id: u16,
203 pub offset: usize,
204 pub payload: &'a [u8],
205 pub reference: Option<Reference>,
206}
207
208#[derive(Debug)]
209pub struct NodeList<'a> {
210 pub fragments: Vec<Chunk>,
211 pub nodes: Vec<Node<'a>>,
212}
213
214#[derive(Debug)]
215pub(crate) struct TransactionFragment<'a> {
216 pub chunk: Chunk,
217 pub entries: &'a [u8],
218}
219
220#[derive(Debug)]
221pub struct Store<'a> {
222 pub(crate) data: &'a [u8],
223 pub(crate) transaction_fragments: Vec<TransactionFragment<'a>>,
224 pub header: Header,
225 pub lists: BTreeMap<u32, NodeList<'a>>,
226 pub checksum_mismatches: Vec<usize>,
227}
228
229fn claim(occupied: &mut BTreeMap<usize, usize>, range: Range<usize>) -> Result<()> {
230 if occupied
231 .range(..range.end)
232 .next_back()
233 .is_some_and(|(_, end)| *end > range.start)
234 {
235 return Err(Error {
236 offset: range.start,
237 message: "Overlapping structural chunks or a reference cycle",
238 });
239 }
240 occupied.insert(range.start, range.end);
241 Ok(())
242}
243
244pub(crate) fn crc(mut value: u32, bytes: &[u8], file_type: FileType) -> u32 {
245 for byte in bytes {
246 match file_type {
247 FileType::Section => {
248 value ^= u32::from(*byte);
249 for _ in 0..8 {
250 value = (value >> 1) ^ if value & 1 != 0 { 0xedb88320 } else { 0 };
251 }
252 }
253 FileType::TableOfContents => {
254 let mut entry = ((value >> 24) ^ u32::from(*byte)) << 24;
255 for _ in 0..8 {
256 entry = (entry << 1) ^ if entry & 0x80000000 != 0 { 0xaf } else { 0 };
257 }
258 value = (value << 8) ^ (entry & 0xffff);
259 }
260 }
261 }
262 value
263}
264
265pub(crate) fn transaction_crc(value: u32, bytes: &[u8], file_type: FileType, full: bool) -> u32 {
266 // OneNote excludes the entry flushed at a TOC fragment boundary (MS-ONESTORE 2.3.3.2 note 8).
267 let bytes = if full && file_type == FileType::TableOfContents {
268 &bytes[..bytes.len().saturating_sub(8)]
269 } else {
270 bytes
271 };
272 crc(value, bytes, file_type)
273}
274
275impl<'a> Store<'a> {
276 /// Parses committed storage while retaining checksum mismatches for diagnostic inspection.
277 pub fn parse(data: &'a [u8]) -> Result<Self> {
278 let header = Header::parse(data)?;
279 let mut occupied = BTreeMap::new();
280 let mut counts = BTreeMap::new();
281 let mut checksum_mismatches = Vec::new();
282 let mut chunk = header.transaction_log;
283 let initial_crc = if header.file_type == FileType::Section {
284 u32::MAX
285 } else {
286 0
287 };
288 let mut checksum = initial_crc;
289 let mut committed = 0;
290 let mut transaction_fragments = Vec::new();
291 while committed < header.transaction_count {
292 let current_chunk = chunk;
293 let range = chunk.range(data)?;
294 claim(&mut occupied, range.clone())?;
295 let mut c = Cursor {
296 bytes: &data[range.clone()],
297 offset: range.start,
298 };
299 let end = loop {
300 if committed == header.transaction_count {
301 break c.offset;
302 }
303 if (12..20).contains(&c.bytes.len()) {
304 let end = c.offset;
305 chunk = c.chunk()?;
306 break end;
307 }
308 let offset = c.offset;
309 let entry = c.take(8)?;
310 let id = u32::from_le_bytes(entry[..4].try_into().unwrap());
311 let value = u32::from_le_bytes(entry[4..].try_into().unwrap());
312 if id == 1 {
313 let expected = if header.file_type == FileType::Section {
314 !checksum
315 } else {
316 checksum
317 };
318 if value != expected {
319 checksum_mismatches.push(offset);
320 }
321 committed += 1;
322 } else {
323 if id < 0x10 || counts.get(&id).is_some_and(|previous| *previous > value) {
324 return Err(Error {
325 offset,
326 message: "Incorrect file-node count in transaction log",
327 });
328 }
329 counts.insert(id, value);
330 }
331 checksum = transaction_crc(checksum, entry, header.file_type, c.bytes.len() < 20);
332 };
333 transaction_fragments.push(TransactionFragment {
334 chunk: current_chunk,
335 entries: &data[range.start..end],
336 });
337 }
338 let mut pending = vec![header.root];
339 if !header.hashed_chunks.absent() {
340 pending.push(header.hashed_chunks);
341 }
342 let mut lists = BTreeMap::new();
343 let mut list_ids = BTreeSet::new();
344 while let Some(mut chunk) = pending.pop() {
345 let mut nodes = Vec::new();
346 let mut fragments = Vec::new();
347 let mut list_id = None;
348 let mut required = 0;
349 loop {
350 let range = chunk.range(data)?;
351 claim(&mut occupied, range.clone())?;
352 if range.len() < 36 {
353 return Err(Error {
354 offset: range.start,
355 message: "Truncated file-node fragment",
356 });
357 }
358 let mut c = Cursor {
359 bytes: &data[range.clone()],
360 offset: range.start,
361 };
362 if u64::from_le_bytes(c.read()?) != 0xa4567ab1f5f7f4c4 {
363 return Err(Error {
364 offset: range.start,
365 message: "Incorrect file-node fragment signature",
366 });
367 }
368 let id = u32::from_le_bytes(c.read()?);
369 let sequence = u32::from_le_bytes(c.read()?);
370 if usize::try_from(sequence).ok() != Some(fragments.len())
371 || list_id.is_some_and(|previous| id != previous)
372 {
373 return Err(Error {
374 offset: range.start + 8,
375 message: "Incorrect file-node fragment sequence",
376 });
377 }
378 if list_id.is_none() {
379 if !list_ids.insert(id) {
380 return Err(Error {
381 offset: range.start + 8,
382 message: "Duplicate file-node list identity",
383 });
384 }
385 required = usize::try_from(*counts.get(&id).ok_or(Error {
386 offset: range.start + 8,
387 message: "File-node list is absent from the transaction log",
388 })?)
389 .map_err(|_| Error {
390 offset: range.start + 8,
391 message: "File-node count exceeds address space",
392 })?;
393 list_id = Some(id);
394 }
395 let mut tail = Cursor {
396 bytes: &data[range.end - 20..range.end],
397 offset: range.end - 20,
398 };
399 let next = tail.chunk()?;
400 if u64::from_le_bytes(tail.read()?) != 0x8bc215c38233ba4b {
401 return Err(Error {
402 offset: range.end - 8,
403 message: "Incorrect file-node fragment footer",
404 });
405 }
406 c.bytes = &data[range.start + 16..range.end - 20];
407 while nodes.len() < required && c.bytes.len() >= 4 {
408 let offset = c.offset;
409 let raw = u32::from_le_bytes(c.read()?);
410 let size = usize::try_from((raw >> 10) & 0x1fff).unwrap();
411 if size < 4 {
412 return Err(Error {
413 offset,
414 message: "File node is shorter than its header",
415 });
416 }
417 let id = u16::try_from(raw & 0x3ff).unwrap();
418 let body = c.take(size - 4)?;
419 if id == 0xff {
420 break;
421 }
422 let mut fields = Cursor {
423 bytes: body,
424 offset: offset + 4,
425 };
426 let reference = match (raw >> 27) & 0xf {
427 0 => None,
428 base @ (1 | 2) => {
429 let (stp, nil, shift) = match (raw >> 23) & 3 {
430 0 => (u64::from_le_bytes(fields.read()?), u64::MAX, 0),
431 1 => (
432 u64::from(u32::from_le_bytes(fields.read()?)),
433 u64::from(u32::MAX),
434 0,
435 ),
436 2 => (
437 u64::from(u16::from_le_bytes(fields.read()?)),
438 u64::from(u16::MAX),
439 3,
440 ),
441 3 => (
442 u64::from(u32::from_le_bytes(fields.read()?)),
443 u64::from(u32::MAX),
444 3,
445 ),
446 _ => unreachable!(),
447 };
448 let cb = match (raw >> 25) & 3 {
449 0 => u64::from(u32::from_le_bytes(fields.read()?)),
450 1 => u64::from_le_bytes(fields.read()?),
451 2 => u64::from(fields.read::<1>()?[0]) * 8,
452 3 => u64::from(u16::from_le_bytes(fields.read()?)) * 8,
453 _ => unreachable!(),
454 };
455 let reference = Chunk {
456 offset: if cb == 0 && stp == nil {
457 u64::MAX
458 } else {
459 stp << shift
460 },
461 length: cb,
462 };
463 if base == 1 {
464 if !reference.absent() {
465 reference.range(data)?;
466 }
467 Some(Reference::Data(reference))
468 } else {
469 Some(Reference::NodeList(reference))
470 }
471 }
472 _ => {
473 return Err(Error {
474 offset,
475 message: "Unsupported file-node base type",
476 });
477 }
478 };
479 nodes.push(Node {
480 id,
481 offset,
482 payload: fields.bytes,
483 reference,
484 });
485 }
486 fragments.push(chunk);
487 if nodes.len() == required {
488 break;
489 }
490 chunk = next;
491 }
492 let last_revision_list = nodes.iter().rposition(|node| node.id == 0x10);
493 for (index, node) in nodes.iter().enumerate() {
494 if let Some(Reference::NodeList(reference)) = node.reference
495 && (node.id != 0x10 || Some(index) == last_revision_list)
496 {
497 pending.push(reference);
498 }
499 }
500 lists.insert(list_id.unwrap(), NodeList { fragments, nodes });
501 }
502 Ok(Self {
503 data,
504 transaction_fragments,
505 header,
506 lists,
507 checksum_mismatches,
508 })
509 }
510
511 pub fn chunk_data(&self, chunk: Chunk) -> Result<&'a [u8]> {
512 Ok(&self.data[chunk.range(self.data)?])
513 }
514
515 pub(crate) fn list(&self, chunk: Chunk) -> Result<&NodeList<'a>> {
516 let data = self.chunk_data(chunk)?;
517 let mut c = Cursor {
518 bytes: data,
519 offset: usize::try_from(chunk.offset).unwrap(),
520 };
521 c.take(8)?;
522 let id = u32::from_le_bytes(c.read()?);
523 self.lists
524 .get(&id)
525 .filter(|list| list.fragments.first() == Some(&chunk))
526 .ok_or(Error {
527 offset: c.offset - 4,
528 message: "Reference does not identify a committed file-node list",
529 })
530 }
531}
crates/onestore/src/write.rs created+646
...@@ -0,0 +1,646 @@
1use crate::{
2 Chunk, Error, ExGuid, FileType, ObjectData, PropertySets, Reference, RevisionIndex, Store,
3 Value,
4 store::{crc, transaction_crc},
5};
6
7use std::collections::{BTreeMap, BTreeSet};
8
9type Result<T> = std::result::Result<T, Error>;
10
11pub(crate) fn fresh_guid() -> Result<[u8; 16]> {
12 let mut guid = [0; 16];
13 getrandom::fill(&mut guid).map_err(|_| Error {
14 offset: 0,
15 message: "System random source failed",
16 })?;
17 guid[7] = (guid[7] & 0x0f) | 0x40;
18 guid[8] = (guid[8] & 0x3f) | 0x80;
19 Ok(guid)
20}
21
22impl ExGuid {
23 pub(crate) fn encode(self, data: &mut Vec<u8>) {
24 data.extend_from_slice(&self.guid);
25 data.extend_from_slice(&self.n.to_le_bytes());
26 }
27}
28
29pub(crate) fn node(id: u16, reference: Option<Reference>, payload: &[u8]) -> Result<Vec<u8>> {
30 let size = 4 + if reference.is_some() { 12 } else { 0 } + payload.len();
31 if size > 0x1fff {
32 return Err(Error {
33 offset: 0,
34 message: "File node exceeds the format size limit",
35 });
36 }
37 let (base, chunk) = match reference {
38 Some(Reference::Data(chunk)) => (1, Some(chunk)),
39 Some(Reference::NodeList(chunk)) => (2, Some(chunk)),
40 None => (0, None),
41 };
42 let header = 0x80000000 | (base << 27) | (u32::try_from(size).unwrap() << 10) | u32::from(id);
43 let mut bytes = header.to_le_bytes().to_vec();
44 if let Some(chunk) = chunk {
45 bytes.extend_from_slice(&chunk.offset.to_le_bytes());
46 bytes.extend_from_slice(
47 &u32::try_from(chunk.length)
48 .map_err(|_| Error {
49 offset: 0,
50 message: "Chunk exceeds the encoded length limit",
51 })?
52 .to_le_bytes(),
53 );
54 }
55 bytes.extend_from_slice(payload);
56 Ok(bytes)
57}
58
59pub(crate) fn append(data: &mut Vec<u8>, bytes: &[u8]) -> Result<Chunk> {
60 let length = u64::from(u32::try_from(bytes.len()).map_err(|_| Error {
61 offset: 0,
62 message: "Chunk exceeds the encoded length limit",
63 })?);
64 data.resize(data.len().next_multiple_of(8), 0);
65 let offset = u64::try_from(data.len()).unwrap();
66 data.extend_from_slice(bytes);
67 Ok(Chunk { offset, length })
68}
69
70pub(crate) fn append_list(data: &mut Vec<u8>, id: u32, nodes: &[Vec<u8>]) -> Result<Chunk> {
71 let mut bytes = 0xa4567ab1f5f7f4c4_u64.to_le_bytes().to_vec();
72 bytes.extend_from_slice(&id.to_le_bytes());
73 bytes.extend_from_slice(&0_u32.to_le_bytes());
74 for node in nodes {
75 bytes.extend_from_slice(node);
76 }
77 bytes.resize((bytes.len() + 20).next_multiple_of(8) - 20, 0);
78 bytes.extend_from_slice(&u64::MAX.to_le_bytes());
79 bytes.extend_from_slice(&0_u32.to_le_bytes());
80 bytes.extend_from_slice(&0x8bc215c38233ba4b_u64.to_le_bytes());
81 append(data, &bytes)
82}
83
84fn compact(id: ExGuid, table: &BTreeMap<u32, [u8; 16]>) -> Result<[u8; 4]> {
85 let index = table
86 .iter()
87 .find_map(|(index, guid)| (*guid == id.guid).then_some(*index))
88 .ok_or(Error {
89 offset: 0,
90 message: "Object identity is absent from its global ID table",
91 })?;
92 if id.n > 255 {
93 return Err(Error {
94 offset: 0,
95 message: "Object extension exceeds CompactID capacity",
96 });
97 }
98 Ok(((index << 8) | id.n).to_le_bytes())
99}
100
101fn patch_properties(
102 blob: &[u8],
103 updates: &[(u32, &[u8])],
104 insert: Option<(u32, &[u8])>,
105) -> Result<Vec<u8>> {
106 let properties = PropertySets::parse(blob)?;
107 let mut patches = Vec::new();
108 for (i, &(property, value)) in updates.iter().chain(insert.iter()).enumerate() {
109 if updates[..i.min(updates.len())]
110 .iter()
111 .any(|(id, _)| *id == property)
112 {
113 return Err(Error {
114 offset: 0,
115 message: "Duplicate property update",
116 });
117 }
118 let kind = (property >> 26) & 0x1f;
119 if !(3..=7).contains(&kind) {
120 return Err(Error {
121 offset: 0,
122 message: "Property does not contain scalar bytes",
123 });
124 }
125 if (kind == 7 && value.len() >= 0x40000000) || (kind != 7 && value.len() != 1 << (kind - 3))
126 {
127 return Err(Error {
128 offset: 0,
129 message: "Replacement has an invalid property length",
130 });
131 }
132 let matches: Vec<_> = properties.sets[0]
133 .iter()
134 .filter(|candidate| candidate.id == property)
135 .collect();
136 let adding = i == updates.len();
137 if matches.len() != usize::from(!adding) {
138 return Err(Error {
139 offset: 0,
140 message: "Property is missing or duplicated",
141 });
142 }
143 let previous = if adding {
144 None
145 } else {
146 let Value::Bytes(previous) = matches[0].value else {
147 return Err(Error {
148 offset: 0,
149 message: "Property does not contain scalar bytes",
150 });
151 };
152 if previous == value {
153 continue;
154 }
155 Some(previous)
156 };
157 let mut encoded = Vec::new();
158 if kind == 7 {
159 encoded.extend_from_slice(&u32::try_from(value.len()).unwrap().to_le_bytes());
160 }
161 encoded.extend_from_slice(value);
162 if let Some(previous) = previous {
163 let start = previous.as_ptr().addr() - blob.as_ptr().addr();
164 patches.push((
165 start - if kind == 7 { 4 } else { 0 },
166 start + previous.len(),
167 encoded,
168 ));
169 } else {
170 let count = u16::try_from(properties.sets[0].len() + 1).map_err(|_| Error {
171 offset: 0,
172 message: "Root property count exceeds the format limit",
173 })?;
174 let ids = properties.root_ids.as_ptr().addr() - blob.as_ptr().addr();
175 patches.push((ids - 2, ids, count.to_le_bytes().to_vec()));
176 let end = ids + properties.root_ids.len();
177 patches.push((end, end, property.to_le_bytes().to_vec()));
178 let end = blob.len() - properties.padding.len();
179 patches.push((end, end, encoded));
180 }
181 }
182 if patches.is_empty() {
183 return Ok(blob.to_vec());
184 }
185 patches.sort_by_key(|(start, end, _)| (*start, *end));
186 let mut changed = Vec::new();
187 let mut cursor = 0;
188 for (start, end, value) in patches {
189 changed.extend_from_slice(&blob[cursor..start]);
190 changed.extend_from_slice(&value);
191 cursor = end;
192 }
193 changed.extend_from_slice(&blob[cursor..blob.len() - properties.padding.len()]);
194 changed.resize(changed.len().next_multiple_of(8), 0);
195 PropertySets::parse(&changed)?;
196
197 Ok(changed)
198}
199
200pub(crate) struct ObjectEdit<'a> {
201 pub object: ExGuid,
202 pub updates: &'a [(u32, &'a [u8])],
203 pub insert: Option<(u32, &'a [u8])>,
204}
205
206/// Replaces a root-level scalar byte property in the default active revision.
207/// The caller supplies its encoded value and is responsible for MS-ONE semantics.
208/// Returns a complete file image without I/O; use `commit_file_property` to update an existing file.
209pub fn replace_property_bytes(
210 source: &[u8],
211 space: ExGuid,
212 object_id: ExGuid,
213 property: u32,
214 value: &[u8],
215) -> Result<Vec<u8>> {
216 replace_objects(
217 source,
218 space,
219 &[ObjectEdit {
220 object: object_id,
221 updates: &[(property, value)],
222 insert: None,
223 }],
224 )
225}
226
227pub(crate) fn replace_objects(
228 source: &[u8],
229 space: ExGuid,
230 edits: &[ObjectEdit<'_>],
231) -> Result<Vec<u8>> {
232 let store = Store::parse(source)?;
233 let is_section = store.header.file_type == FileType::Section;
234 if !store.checksum_mismatches.is_empty() {
235 return Err(Error {
236 offset: store.checksum_mismatches[0],
237 message: "Cannot write a file with transaction checksum damage",
238 });
239 }
240 let index = RevisionIndex::parse(&store)?;
241 index.validate_current()?;
242 let rid = *index
243 .spaces
244 .get(&space)
245 .and_then(|space| space.labels.get(&(ExGuid::default(), 1)))
246 .ok_or(Error {
247 offset: 0,
248 message: "Object space has no active default revision",
249 })?;
250 let revision = index.resolve(space, rid)?;
251 let reachable = revision.reachable()?;
252 let mut changed = BTreeMap::new();
253 for (i, edit) in edits.iter().enumerate() {
254 if edits[..i]
255 .iter()
256 .any(|previous| previous.object == edit.object)
257 {
258 return Err(Error {
259 offset: 0,
260 message: "Duplicate object edit",
261 });
262 }
263 if !reachable.contains(&edit.object) {
264 return Err(Error {
265 offset: 0,
266 message: "Object is not reachable in the active revision",
267 });
268 }
269 let object = &revision.objects[&edit.object];
270 if object.jcid & 0x100000 != 0 {
271 return Err(Error {
272 offset: 0,
273 message: "Read-only object requires a new identity",
274 });
275 }
276 let ObjectData::Properties(blob) = object.data else {
277 return Err(Error {
278 offset: 0,
279 message: "Object does not contain editable properties",
280 });
281 };
282 let bytes = patch_properties(blob, edit.updates, edit.insert)?;
283 if bytes != blob {
284 changed.insert(edit.object, bytes);
285 }
286 }
287 if changed.is_empty() {
288 return Ok(source.to_vec());
289 }
290
291 // Native cold-open fails on long dependency chains; cap their depth at 512.
292 let checkpoint = std::iter::successors(Some(rid), |id| {
293 index.spaces[&space].revisions[id].dependency
294 })
295 .nth(511)
296 .is_some();
297 let selected: Vec<_> = revision
298 .objects
299 .iter()
300 .filter(|(id, _)| checkpoint || changed.contains_key(id))
301 .collect();
302 let toc_table = if checkpoint && !is_section {
303 if selected.iter().any(|(_, object)| {
304 object.jcid != 0x20001 || !matches!(object.data, ObjectData::Properties(_))
305 }) {
306 return Err(Error {
307 offset: 0,
308 message: "TOC checkpoint requires table-of-contents property objects",
309 });
310 }
311 let guids: BTreeSet<_> = selected
312 .iter()
313 .flat_map(|(_, object)| object.global_ids.values().copied())
314 .collect();
315 if guids.len() > 0x1000000 {
316 return Err(Error {
317 offset: 0,
318 message: "Global ID table exceeds CompactID capacity",
319 });
320 }
321 Some(
322 guids
323 .into_iter()
324 .enumerate()
325 .map(|(i, guid)| (u32::try_from(i).unwrap(), guid))
326 .collect::<BTreeMap<_, _>>(),
327 )
328 } else {
329 None
330 };
331 let mut groups = BTreeMap::<_, Vec<_>>::new();
332 for (id, object) in selected {
333 groups
334 .entry(toc_table.as_ref().unwrap_or(&object.global_ids))
335 .or_default()
336 .push((*id, object));
337 }
338 let mut output = source.to_vec();
339 let maximum = store
340 .transaction_fragments
341 .iter()
342 .flat_map(|fragment| fragment.entries.chunks_exact(8))
343 .map(|entry| u32::from_le_bytes(entry[..4].try_into().unwrap()))
344 .max()
345 .unwrap();
346 let new_rid = ExGuid {
347 guid: fresh_guid()?,
348 n: 1,
349 };
350 let mut start = Vec::new();
351 new_rid.encode(&mut start);
352 if checkpoint { ExGuid::default() } else { rid }.encode(&mut start);
353 if !is_section {
354 start.extend_from_slice(&0_u64.to_le_bytes());
355 }
356 start.extend_from_slice(&1_u32.to_le_bytes());
357 start.extend_from_slice(&0_u16.to_le_bytes());
358 let mut manifest = vec![node(if is_section { 0x1e } else { 0x1b }, None, &start)?];
359 let mut group_counts = Vec::new();
360 for (table, objects) in groups {
361 let mut payload = Vec::new();
362 let mut group = if is_section {
363 ExGuid {
364 guid: fresh_guid()?,
365 n: 1,
366 }
367 .encode(&mut payload);
368 vec![node(0xb4, None, &payload)?, node(0x22, None, &[])?]
369 } else {
370 vec![node(0x21, None, &[0])?]
371 };
372 for (id, guid) in table {
373 let mut entry = id.to_le_bytes().to_vec();
374 entry.extend_from_slice(guid);
375 group.push(node(0x24, None, &entry)?);
376 }
377 group.push(node(0x28, None, &[])?);
378 let mut override_crc = u32::MAX;
379 for (id, object) in objects {
380 let mut declaration = compact(id, table)?.to_vec();
381 override_crc = crc(
382 override_crc,
383 &object.reference_count.to_le_bytes(),
384 FileType::Section,
385 );
386 match object.data {
387 ObjectData::File {
388 reference,
389 extension,
390 } => {
391 declaration.extend_from_slice(&object.jcid.to_le_bytes());
392 declaration.extend_from_slice(&object.reference_count.to_le_bytes());
393 for bytes in [reference, extension] {
394 declaration.extend_from_slice(
395 &u32::try_from(bytes.len() / 2).unwrap().to_le_bytes(),
396 );
397 declaration.extend_from_slice(bytes);
398 }
399 group.push(node(0x73, None, &declaration)?);
400 }
401 ObjectData::Properties(previous) => {
402 let bytes = changed.get(&id).map(Vec::as_slice).unwrap_or(previous);
403 let references = object.references()?;
404 let flags = u8::from(!references.objects.is_empty())
405 | (u8::from(
406 !references.object_spaces.is_empty() || !references.contexts.is_empty(),
407 ) << 1);
408 let data = if toc_table.is_some() {
409 let mut mapped = bytes.to_vec();
410 for property in PropertySets::parse(bytes)?.sets.iter().flatten() {
411 if let Value::References { compact_ids, .. } = property.value {
412 let offset = compact_ids.as_ptr().addr() - bytes.as_ptr().addr();
413 for (i, value) in compact_ids.chunks_exact(4).enumerate() {
414 let value = u32::from_le_bytes(value.try_into().unwrap());
415 let target = ExGuid {
416 guid: object.global_ids[&(value >> 8)],
417 n: value & 255,
418 };
419 mapped[offset + i * 4..offset + i * 4 + 4]
420 .copy_from_slice(&compact(target, table)?);
421 }
422 }
423 }
424 append(&mut output, &mapped)?
425 } else if changed.contains_key(&id) {
426 append(&mut output, bytes)?
427 } else {
428 Chunk {
429 offset: u64::try_from(bytes.as_ptr().addr() - source.as_ptr().addr())
430 .unwrap(),
431 length: u64::try_from(bytes.len()).unwrap(),
432 }
433 };
434 if is_section {
435 declaration.extend_from_slice(&object.jcid.to_le_bytes());
436 declaration.push(flags);
437 } else if checkpoint {
438 let body = 1_u64 | (u64::from(flags & 1) << 16);
439 declaration.extend_from_slice(&body.to_le_bytes()[..6]);
440 } else {
441 declaration.extend_from_slice(&u32::from(flags).to_le_bytes());
442 }
443 declaration.extend_from_slice(&object.reference_count.to_le_bytes());
444 let readonly = object.jcid & 0x100000 != 0;
445 if readonly {
446 declaration.extend_from_slice(&md5::compute(bytes).0);
447 }
448 group.push(node(
449 if is_section {
450 if readonly { 0xc5 } else { 0xa5 }
451 } else if checkpoint {
452 0x2e
453 } else {
454 0x42
455 },
456 Some(Reference::Data(data)),
457 &declaration,
458 )?);
459 }
460 ObjectData::Encrypted(_) => {
461 return Err(Error {
462 offset: 0,
463 message: "Encrypted objects cannot be checkpointed",
464 });
465 }
466 }
467 }
468 if is_section {
469 group.push(node(0xb8, None, &[])?);
470 let group_id = u32::try_from(group_counts.len())
471 .ok()
472 .and_then(|n| n.checked_add(1))
473 .and_then(|n| maximum.checked_add(n))
474 .ok_or(Error {
475 offset: 0,
476 message: "File-node list identities are exhausted",
477 })?;
478 let chunk = append_list(&mut output, group_id, &group)?;
479 group_counts.push((group_id, group.len()));
480 manifest.push(node(0xb0, Some(Reference::NodeList(chunk)), &payload)?);
481 let mut overrides = vec![0; 8];
482 overrides.extend_from_slice(&(!override_crc).to_le_bytes());
483 manifest.push(node(
484 0x84,
485 Some(Reference::Data(Chunk {
486 offset: u64::MAX,
487 length: 0,
488 })),
489 &overrides,
490 )?);
491 } else {
492 manifest.extend(group);
493 }
494 }
495 if checkpoint {
496 for (role, id) in &revision.roots {
497 let mut payload = Vec::new();
498 if is_section {
499 id.encode(&mut payload);
500 } else {
501 payload.extend_from_slice(&compact(*id, toc_table.as_ref().unwrap())?);
502 }
503 payload.extend_from_slice(&role.to_le_bytes());
504 manifest.push(node(if is_section { 0x5a } else { 0x59 }, None, &payload)?);
505 }
506 }
507 manifest.push(node(0x1c, None, &[])?);
508 let root = store.list(store.header.root)?;
509 let space_node = root
510 .nodes
511 .iter()
512 .find(|node| node.id == 8 && node.fields(&store).exguid() == Ok(space))
513 .ok_or(Error {
514 offset: 0,
515 message: "Object space is absent from the root list",
516 })?;
517 let space_list = space_node.referenced_list(&store)?;
518 let revision_node = space_list.iter().rfind(|node| node.id == 0x10).unwrap();
519 let Some(Reference::NodeList(manifest_reference)) = revision_node.reference else {
520 unreachable!()
521 };
522 let revision_list = store.list(manifest_reference)?;
523 let last_fragment = *revision_list.fragments.last().unwrap();
524 let list_start = usize::try_from(last_fragment.offset).unwrap();
525 let list_id = u32::from_le_bytes(source[list_start + 8..list_start + 12].try_into().unwrap());
526 let manifest_chunk = append_list(&mut output, list_id, &manifest)?;
527 let manifest_start = usize::try_from(manifest_chunk.offset).unwrap();
528 let sequence = u32::try_from(revision_list.fragments.len()).map_err(|_| Error {
529 offset: list_start,
530 message: "File-node fragment sequences are exhausted",
531 })?;
532 output[manifest_start + 12..manifest_start + 16].copy_from_slice(&sequence.to_le_bytes());
533 let last_node = revision_list.nodes.last().unwrap();
534 let node_header = u32::from_le_bytes(
535 source[last_node.offset..last_node.offset + 4]
536 .try_into()
537 .unwrap(),
538 );
539 let nodes_end = last_node.offset + usize::try_from((node_header >> 10) & 0x1fff).unwrap();
540 let tail = list_start + usize::try_from(last_fragment.length).unwrap() - 20;
541 if tail - nodes_end >= 4 {
542 output[nodes_end..nodes_end + 4].copy_from_slice(&node(0xff, None, &[])?);
543 }
544 output[tail..tail + 8].copy_from_slice(&manifest_chunk.offset.to_le_bytes());
545 output[tail + 8..tail + 12].copy_from_slice(&(manifest_chunk.length as u32).to_le_bytes());
546
547 let transactions = store.header.transaction_count.checked_add(1).ok_or(Error {
548 offset: 96,
549 message: "Transaction counter is exhausted",
550 })?;
551 let changed_bytes = store.header.transaction_count ^ transactions;
552 let commit_byte = (31 - changed_bytes.leading_zeros()) / 8;
553 let ceiling = transactions | ((1_u32 << (commit_byte * 8)) - 1);
554 let mut entries = Vec::new();
555 for (id, count) in group_counts
556 .into_iter()
557 .chain([(list_id, revision_list.nodes.len() + manifest.len())])
558 {
559 entries.extend_from_slice(&id.to_le_bytes());
560 entries.extend_from_slice(
561 &u32::try_from(count)
562 .map_err(|_| Error {
563 offset: 0,
564 message: "File-node count exceeds the format limit",
565 })?
566 .to_le_bytes(),
567 );
568 }
569 let mut checksum = if is_section { u32::MAX } else { 0 };
570 for fragment in &store.transaction_fragments {
571 checksum = transaction_crc(
572 checksum,
573 fragment.entries,
574 store.header.file_type,
575 fragment.entries.len() + 20 > fragment.chunk.length as usize,
576 );
577 }
578 let last_log = store.transaction_fragments.last().unwrap();
579 let mut crc_used = last_log.entries.len();
580 let mut crc_capacity = (last_log.chunk.length as usize - 12) & !7;
581 let mut advance_crc = |checksum, entry: &[u8]| {
582 if crc_used == crc_capacity {
583 crc_used = 0;
584 crc_capacity = 1008;
585 }
586 crc_used += 8;
587 transaction_crc(
588 checksum,
589 entry,
590 store.header.file_type,
591 crc_used == crc_capacity,
592 )
593 };
594 for entry in entries.chunks_exact(8) {
595 checksum = advance_crc(checksum, entry);
596 }
597 for _ in transactions..=ceiling {
598 let sentinel_crc = if is_section { !checksum } else { checksum };
599 entries.extend_from_slice(&1_u32.to_le_bytes());
600 entries.extend_from_slice(&sentinel_crc.to_le_bytes());
601 checksum = advance_crc(checksum, &entries[entries.len() - 8..]);
602 }
603 let mut log_chunk = last_log.chunk;
604 let mut used = last_log.entries.len();
605 let mut remaining = entries.as_slice();
606 while !remaining.is_empty() {
607 let capacity = usize::try_from(log_chunk.length)
608 .unwrap()
609 .checked_sub(12)
610 .map(|size| size & !7)
611 .filter(|capacity| *capacity >= used)
612 .ok_or(Error {
613 offset: usize::try_from(log_chunk.offset).unwrap(),
614 message: "Transaction fragment has no room for continuation",
615 })?;
616 let offset = usize::try_from(log_chunk.offset).unwrap();
617 let size = remaining.len().min(capacity - used);
618 output[offset + used..offset + used + size].copy_from_slice(&remaining[..size]);
619 remaining = &remaining[size..];
620 if !remaining.is_empty() {
621 let mut fragment = vec![0; 1024];
622 fragment[1008..1016].copy_from_slice(&u64::MAX.to_le_bytes());
623 let next = append(&mut output, &fragment)?;
624 output[offset + capacity..offset + capacity + 8]
625 .copy_from_slice(&next.offset.to_le_bytes());
626 output[offset + capacity + 8..offset + capacity + 12]
627 .copy_from_slice(&(next.length as u32).to_le_bytes());
628 log_chunk = next;
629 used = 0;
630 }
631 }
632 output[96..100].copy_from_slice(&transactions.to_le_bytes());
633 let length = u64::try_from(output.len()).unwrap();
634 output[196..204].copy_from_slice(&length.to_le_bytes());
635 output[212..228].copy_from_slice(&fresh_guid()?);
636 output[236..252].copy_from_slice(&fresh_guid()?);
637 let generation = store.header.generation.checked_add(1).ok_or(Error {
638 offset: 228,
639 message: "File generation counter is exhausted",
640 })?;
641 output[228..236].copy_from_slice(&generation.to_le_bytes());
642 let written = Store::parse(&output)?;
643 let written_index = RevisionIndex::parse(&written)?;
644 written_index.resolve(space, new_rid)?.reachable()?;
645 Ok(output)
646}
crates/onestore/tests/commit.rs created+224
...@@ -0,0 +1,224 @@
1#[path = "support/disk.rs"]
2mod disk;
3use disk::Disk;
4use onestore::{
5 ExGuid, ObjectData, PropertySets, RevisionIndex, Store, Value, replace_property_bytes,
6};
7use std::fs;
8
9#[test]
10fn incomplete_native_save_is_rejected_before_storage_io() {
11 let source = fs::read("../../corpus/malformed/native-inflight.one").unwrap();
12 let store = Store::parse(&source).unwrap();
13 let index = RevisionIndex::parse(&store).unwrap();
14 let graph_error = index.validate_current().unwrap_err();
15 let mut checked = 0;
16 for (osid, space) in &index.spaces {
17 let revision = index
18 .resolve(*osid, space.labels[&(ExGuid::default(), 1)])
19 .unwrap();
20 for oid in revision.reachable().unwrap() {
21 let object = &revision.objects[&oid];
22 if object.jcid != 0x6000e {
23 continue;
24 }
25 let ObjectData::Properties(data) = object.data else {
26 continue;
27 };
28 for property in &PropertySets::parse(data).unwrap().sets[0] {
29 if property.value != Value::Bytes(b"Rust same paragraph.") {
30 continue;
31 }
32 let mut disk = Disk {
33 visible: source.clone(),
34 durable: source.clone(),
35 operation: 0,
36 fail_at: None,
37 write_limit: 1024,
38 random: 1,
39 };
40 let error = onestore::commit_property_bytes(
41 &mut disk,
42 &source,
43 *osid,
44 oid,
45 property.id,
46 b"Rust same paragraph.",
47 )
48 .unwrap_err();
49 assert_eq!(error.state, onestore::CommitState::NotCommitted);
50 assert_eq!(error.error.to_string(), graph_error.to_string());
51 assert_eq!(disk.operation, 0);
52 checked += 1;
53 }
54 }
55 }
56 assert_eq!(checked, 1);
57}
58
59#[test]
60fn repeated_appends_cross_log_fragments_and_expose_counter_tears() {
61 let mut source =
62 fs::read("../../corpus/native/20260905-05/snapshots/02-text/notebook/synthetic.one")
63 .unwrap();
64 let store = Store::parse(&source).unwrap();
65 let index = RevisionIndex::parse(&store).unwrap();
66 let mut target = None;
67 for (osid, space) in &index.spaces {
68 let revision = index
69 .resolve(*osid, space.labels[&(ExGuid::default(), 1)])
70 .unwrap();
71 for (oid, object) in revision.objects {
72 if let ObjectData::Properties(data) = object.data {
73 for property in &PropertySets::parse(data).unwrap().sets[0] {
74 if property.value == Value::Bytes(b"Fictitious plain text.") {
75 target = Some((*osid, oid, property.id));
76 }
77 }
78 }
79 }
80 }
81 let (osid, oid, property) = target.unwrap();
82 let root = store.header.root;
83 let log = store.header.transaction_log;
84 let initial_count = store.header.transaction_count;
85 let mut saw_counter_tear = false;
86 for transaction in initial_count + 1..=258 {
87 let value = format!("Transaction {transaction}");
88 let written =
89 replace_property_bytes(&source, osid, oid, property, value.as_bytes()).unwrap();
90 let store = Store::parse(&written).unwrap();
91 assert_eq!(store.header.root, root);
92 assert_eq!(store.header.transaction_log, log);
93 assert_eq!(store.header.transaction_count, transaction);
94 assert!(store.checksum_mismatches.is_empty());
95 RevisionIndex::parse(&store)
96 .unwrap()
97 .validate_current()
98 .unwrap();
99 let mut previous = written.clone();
100 previous[..1024].copy_from_slice(&source[..1024]);
101 let old = Store::parse(&previous).unwrap();
102 assert_eq!(old.header.transaction_count, transaction - 1);
103 assert!(old.checksum_mismatches.is_empty());
104 RevisionIndex::parse(&old)
105 .unwrap()
106 .validate_current()
107 .unwrap();
108 for prefix in 96..=100 {
109 let mut torn = written.clone();
110 torn[prefix..1024].copy_from_slice(&source[prefix..1024]);
111 let result = Store::parse(&torn)
112 .and_then(|store| RevisionIndex::parse(&store)?.validate_current());
113 if transaction == 256 && prefix == 97 {
114 assert!(result.is_err());
115 saw_counter_tear = true;
116 } else {
117 result.unwrap();
118 }
119 }
120 if transaction == initial_count + 1 || transaction == 256 {
121 check_crashes(&source, osid, oid, property, value.as_bytes());
122 }
123 if transaction == initial_count + 1 {
124 let path = std::env::temp_dir().join(format!(
125 "onestore-commit-{}-{}.one",
126 std::process::id(),
127 std::time::SystemTime::now()
128 .duration_since(std::time::UNIX_EPOCH)
129 .unwrap()
130 .as_nanos()
131 ));
132 fs::write(&path, &source).unwrap();
133 onestore::commit_file_property(&path, &source, osid, oid, property, value.as_bytes())
134 .unwrap();
135 let committed = fs::read(&path).unwrap();
136 let parsed = Store::parse(&committed).unwrap();
137 assert_eq!(parsed.header.transaction_count, transaction);
138 RevisionIndex::parse(&parsed)
139 .unwrap()
140 .validate_current()
141 .unwrap();
142 let stale =
143 onestore::commit_file_property(&path, &source, osid, oid, property, b"stale")
144 .unwrap_err();
145 assert_eq!(stale.state, onestore::CommitState::NotCommitted);
146 assert_eq!(fs::read(&path).unwrap(), committed);
147 onestore::commit_file_property(
148 &path,
149 &committed,
150 osid,
151 oid,
152 property,
153 value.as_bytes(),
154 )
155 .unwrap();
156 assert_eq!(fs::read(&path).unwrap(), committed);
157 fs::remove_file(path).unwrap();
158 }
159 source = written;
160 }
161 assert!(saw_counter_tear);
162}
163
164fn check_crashes(source: &[u8], osid: ExGuid, oid: ExGuid, property: u32, value: &[u8]) {
165 let current_value = |data: &[u8]| {
166 let store = Store::parse(data).unwrap();
167 assert!(store.checksum_mismatches.is_empty());
168 let index = RevisionIndex::parse(&store).unwrap();
169 index.validate_current().unwrap();
170 let revision = index
171 .resolve(osid, index.spaces[&osid].labels[&(ExGuid::default(), 1)])
172 .unwrap();
173 let ObjectData::Properties(blob) = revision.objects[&oid].data else {
174 panic!()
175 };
176 let properties = PropertySets::parse(blob).unwrap();
177 let Value::Bytes(value) = properties.sets[0]
178 .iter()
179 .find(|p| p.id == property)
180 .unwrap()
181 .value
182 else {
183 panic!()
184 };
185 value.to_vec()
186 };
187 let before = current_value(source);
188 for limit in [17, 1024] {
189 let disk = |fail_at, random| Disk {
190 visible: source.to_vec(),
191 durable: source.to_vec(),
192 operation: 0,
193 fail_at,
194 write_limit: limit,
195 random,
196 };
197 let mut successful = disk(None, 1);
198 onestore::commit_property_bytes(&mut successful, source, osid, oid, property, value)
199 .unwrap();
200 assert_eq!(current_value(&successful.durable), value);
201 for at in 1..=successful.operation {
202 for seed in [0, 1, 42, u64::MAX] {
203 let mut interrupted = disk(Some(at), seed);
204 let failure = onestore::commit_property_bytes(
205 &mut interrupted,
206 source,
207 osid,
208 oid,
209 property,
210 value,
211 )
212 .unwrap_err();
213 let persisted = current_value(&interrupted.durable);
214 match failure.state {
215 onestore::CommitState::NotCommitted => assert_eq!(persisted, before),
216 onestore::CommitState::Committed => assert_eq!(persisted, value),
217 onestore::CommitState::Unknown => {
218 assert!(persisted == before || persisted == value)
219 }
220 }
221 }
222 }
223 }
224}
crates/onestore/tests/document.rs created+866
...@@ -0,0 +1,866 @@
1use onestore::{
2 ExGuid, RevisionIndex, Store,
3 document::{Document, Kind},
4};
5use std::fs;
6
7#[test]
8fn documented_cell_shading_survives_native_2010_ignoring_its_display() {
9 let bytes =
10 fs::read("../../corpus/m6/cell-shading-control-01/input/notebook/synthetic.one").unwrap();
11 let store = Store::parse(&bytes).unwrap();
12 let index = RevisionIndex::parse(&store).unwrap();
13 let document = Document::parse(&index).unwrap();
14 let colors: Vec<_> = document
15 .spaces
16 .values()
17 .flat_map(|s| s.revisions.values())
18 .flat_map(|r| r.nodes.values())
19 .filter_map(|n| match n.kind {
20 Kind::Cell { shading } => shading,
21 _ => None,
22 })
23 .collect();
24 assert_eq!(colors, [0x0000ffff]);
25}
26
27#[test]
28fn native_saved_collapse_default_preserves_descendants() {
29 for (path, expected) in [
30 (
31 "../../corpus/m6/native-features-01/notebook/Features.one",
32 1,
33 ),
34 (
35 "../../corpus/m6/rust-collapse-control-01/input/notebook/Features.one",
36 0,
37 ),
38 ] {
39 let bytes = fs::read(path).unwrap();
40 let store = Store::parse(&bytes).unwrap();
41 let index = RevisionIndex::parse(&store).unwrap();
42 let document = Document::parse(&index).unwrap();
43 let mut parents = 0;
44 for revision in document.spaces.values().flat_map(|s| s.revisions.values()) {
45 for node in revision.nodes.values() {
46 if let Kind::Paragraph { collapse_state, .. } = node.kind
47 && node.content.iter().any(|id| {
48 matches!(&revision.nodes[id].kind, Kind::RichText { text, .. } if text == "Collapsed parent")
49 })
50 {
51 assert_eq!(collapse_state, Some(expected));
52 assert_eq!(node.children.len(), 1);
53 assert_eq!(revision.nodes[&node.children[0]].children.len(), 1);
54 parents += 1;
55 }
56 }
57 }
58 assert_eq!(parents, 1);
59 }
60}
61
62#[test]
63fn native_math_preserves_run_data_and_distinguishes_plain_text() {
64 let bytes = fs::read("../../corpus/m6/native-math-01/notebook/synthetic.one").unwrap();
65 let store = Store::parse(&bytes).unwrap();
66 let index = RevisionIndex::parse(&store).unwrap();
67 let document = Document::parse(&index).unwrap();
68 let mut equations = 0;
69 let mut inline = 0;
70 for revision in document.spaces.values().flat_map(|s| s.revisions.values()) {
71 for (id, node) in &revision.nodes {
72 let Kind::RichText { text, runs, .. } = &node.kind else {
73 continue;
74 };
75 let resolved = revision.text_runs(*id).unwrap();
76 if text.contains('\u{fdd0}') {
77 equations += 1;
78 assert!(resolved.iter().all(|r| r.format.math == Some(true)));
79 let expected = if text.contains('𝑥') {
80 assert_eq!(
81 text,
82 "\u{fdd0}𝑥\u{fdee}2\u{fdef}+\u{fdd0}𝑦\u{fdee}2\u{fdef}=\u{fdd0}𝑧\u{fdee}2\u{fdef}"
83 );
84 11
85 } else {
86 assert_eq!(text, "\u{fdd0}𝑎+𝑏\u{fdee}𝑐+𝑑\u{fdef}");
87 3
88 };
89 assert_eq!(runs.len(), expected);
90 for (i, run) in runs.iter().enumerate() {
91 assert_eq!(run.extra_set, Some(i + 1));
92 assert!(!node.extra[run.extra_set.unwrap()].is_empty());
93 }
94 }
95 if text == "Inline 𝛼+𝛽" {
96 inline += 1;
97 assert_eq!(resolved.len(), 2);
98 assert_eq!(resolved[0].text, "Inline ");
99 assert_eq!(resolved[0].format.math, Some(false));
100 assert_eq!(resolved[1].text, "𝛼+𝛽");
101 assert_eq!(resolved[1].format.math, Some(true));
102 assert!(runs.iter().all(|r| r.extra_set.is_none()));
103 }
104 }
105 }
106 assert_eq!((equations, inline), (2, 1));
107}
108
109#[test]
110fn native_origin_control_retains_source_coordinate_frame() {
111 let bytes =
112 fs::read("../../corpus/m6/native-origin-controls-01/input/notebook/synthetic.one").unwrap();
113 let store = Store::parse(&bytes).unwrap();
114 let index = RevisionIndex::parse(&store).unwrap();
115 let document = Document::parse(&index).unwrap();
116 let (revision, page) = document
117 .spaces
118 .values()
119 .flat_map(|space| space.revisions.values())
120 .find_map(|revision| {
121 revision
122 .nodes
123 .values()
124 .find(|node| matches!(node.kind, Kind::Page { .. }))
125 .map(|page| (revision, page))
126 })
127 .unwrap();
128 let Kind::Page {
129 margin_origin_x,
130 margin_origin_y,
131 rtl,
132 ..
133 } = page.kind
134 else {
135 unreachable!()
136 };
137 assert_eq!(margin_origin_x, Some(108.0));
138 assert_eq!(margin_origin_y, Some(-36.0));
139 assert_ne!(rtl, Some(true));
140 let outline = &revision.nodes[&page.children[0]];
141 assert_eq!(outline.layout.x, Some(36.0));
142 assert!((outline.layout.y.unwrap() - 14.4).abs() < 0.002);
143}
144
145#[test]
146fn native_rtl_table_retains_visual_column_order() {
147 let bytes =
148 fs::read("../../corpus/m6/native-page-direction-03/notebook/synthetic.one").unwrap();
149 let store = Store::parse(&bytes).unwrap();
150 let index = RevisionIndex::parse(&store).unwrap();
151 let document = Document::parse(&index).unwrap();
152 let revision = document
153 .spaces
154 .values()
155 .flat_map(|space| space.revisions.values())
156 .find(|revision| {
157 revision.nodes.values().any(|node| {
158 matches!(
159 node.kind,
160 Kind::Page {
161 rtl: Some(true),
162 ..
163 }
164 )
165 })
166 })
167 .unwrap();
168 let table = revision
169 .nodes
170 .values()
171 .find(|node| matches!(node.kind, Kind::Table { .. }))
172 .unwrap();
173 let Kind::Table { widths, locked, .. } = &table.kind else {
174 unreachable!()
175 };
176 assert_eq!(widths, &[144.0, 96.0]);
177 assert_eq!(locked, &[true, true]);
178 let row = &revision.nodes[&table.children[0]];
179 let text: Vec<_> = row
180 .children
181 .iter()
182 .map(|id| {
183 let paragraph = &revision.nodes[&revision.nodes[id].children[0]];
184 revision
185 .text_runs(paragraph.content[0])
186 .unwrap()
187 .iter()
188 .map(|run| run.text)
189 .collect::<String>()
190 })
191 .collect();
192 assert_eq!(text, ["Right cell", "Left cell"]);
193}
194
195#[test]
196fn native_default_template_has_a_named_page_relationship() {
197 let bytes =
198 fs::read("../../corpus/m6/native-template-controls-01/notebook/synthetic.one").unwrap();
199 let store = Store::parse(&bytes).unwrap();
200 let index = RevisionIndex::parse(&store).unwrap();
201 let document = Document::parse(&index).unwrap();
202 let root = &document.spaces[&document.root];
203 let root = &root.revisions[&root.contexts[&ExGuid::default()]];
204 let Kind::Section {
205 default_template: Some(template),
206 } = root.nodes[&root.roots[&1]].kind
207 else {
208 panic!("Missing default template")
209 };
210 let template = &document.spaces[&template];
211 let template = &template.revisions[&template.contexts[&ExGuid::default()]];
212 let Kind::TemplateMetadata { name } = &template.nodes[&template.roots[&2]].kind else {
213 panic!("Missing template metadata")
214 };
215 assert_eq!(name.as_deref(), Some("Hearts"));
216 let manifest = &template.nodes[&template.roots[&1]];
217 assert_eq!(manifest.content.len(), 1);
218 assert!(matches!(
219 template.nodes[&manifest.content[0]].kind,
220 Kind::Page { .. }
221 ));
222}
223
224#[test]
225fn native_paragraph_breaks_preserve_every_stored_character() {
226 let bytes =
227 fs::read("../../corpus/m6/native-break-controls-02/notebook/synthetic.one").unwrap();
228 let store = Store::parse(&bytes).unwrap();
229 let index = RevisionIndex::parse(&store).unwrap();
230 let document = Document::parse(&index).unwrap();
231 let (revision, outline) = document
232 .spaces
233 .values()
234 .flat_map(|s| s.revisions.values())
235 .find_map(|revision| {
236 revision
237 .nodes
238 .values()
239 .find(|node| matches!(node.kind, Kind::Outline { .. }) && node.children.len() == 24)
240 .map(|node| (revision, node))
241 })
242 .unwrap();
243 let expected = [
244 "A", "A\r", "A\r\r", "\rA", "\rA\r", "\r", "\r\r", "A\rB\r", "A\rB\r", "AB", "A\rB\r",
245 "A\rB\r",
246 ];
247 for (case, paragraph) in outline.children.iter().enumerate() {
248 let runs = revision
249 .text_runs(revision.nodes[paragraph].content[0])
250 .unwrap();
251 let visible: Vec<_> = runs
252 .iter()
253 .filter(|r| r.format.hidden != Some(true))
254 .collect();
255 assert_eq!(
256 visible.iter().map(|r| r.text).collect::<String>(),
257 expected[case % 12],
258 "case {case}"
259 );
260 for run in visible {
261 for character in run.text.chars() {
262 assert_eq!(
263 run.link.is_some(),
264 case >= 12 && character != '\r',
265 "case {case}"
266 );
267 }
268 }
269 }
270}
271
272#[test]
273fn referenced_history_contexts_require_history_roots() {
274 let bytes = fs::read("../../corpus/m6/native-features-01/notebook/Features.one").unwrap();
275 let store = Store::parse(&bytes).unwrap();
276 let mut index = RevisionIndex::parse(&store).unwrap();
277 let document = Document::parse(&index).unwrap();
278 let (sid, context, current) = document
279 .spaces
280 .iter()
281 .find_map(|(sid, space)| {
282 let current = space.contexts[&ExGuid::default()];
283 let revision = &space.revisions[&current];
284 match revision.nodes[&revision.roots[&1]].kind {
285 Kind::Manifest {
286 history: Some(context),
287 } => Some((*sid, context, current)),
288 _ => None,
289 }
290 })
291 .unwrap();
292 let space = &document.spaces[&sid];
293 let history = &space.revisions[&space.contexts[&context]];
294 assert!(matches!(
295 history.nodes[&history.roots[&1]].kind,
296 Kind::VersionHistory
297 ));
298 assert!(history.nodes[&history.roots[&1]].children.is_empty());
299 index
300 .spaces
301 .get_mut(&sid)
302 .unwrap()
303 .labels
304 .insert((context, 1), current);
305 assert_eq!(
306 Document::parse(&index).unwrap_err().message,
307 "History context does not resolve to version history"
308 );
309 index
310 .spaces
311 .get_mut(&sid)
312 .unwrap()
313 .labels
314 .remove(&(context, 1));
315 assert_eq!(
316 Document::parse(&index).unwrap_err().message,
317 "Document context has no revision"
318 );
319}
320
321#[test]
322fn native_hyperlink_boundaries_preserve_whitespace_and_literal_labels() {
323 let bytes = fs::read("../../corpus/m6/native-link-controls-01/notebook/Links.one").unwrap();
324 let store = Store::parse(&bytes).unwrap();
325 let index = RevisionIndex::parse(&store).unwrap();
326 let document = Document::parse(&index).unwrap();
327 let (space, outline) = document
328 .spaces
329 .values()
330 .flat_map(|s| s.revisions.values())
331 .find_map(|space| {
332 space.nodes.values().find_map(|node| {
333 (matches!(node.kind, Kind::Outline { .. }) && node.children.len() == 10)
334 .then_some((space, node))
335 })
336 })
337 .unwrap();
338 let expected = [
339 (" label ", "label "),
340 ("\tlabel\t", "label\t"),
341 ("\u{a0}label\u{a0}", "\u{a0}label\u{a0}"),
342 (" \tlabel \t", "label \t"),
343 ("label", "label"),
344 (" ", ""),
345 ("label", "label"),
346 (" ]]> end", "]]> end"),
347 ("<b> & \"quoted\"", "<b> & \"quoted\""),
348 ("\rlabel\r", "label"),
349 ];
350 for (number, (paragraph, (text, linked))) in outline.children.iter().zip(expected).enumerate() {
351 let runs = space.text_runs(space.nodes[paragraph].content[0]).unwrap();
352 let visible: Vec<_> = runs
353 .iter()
354 .filter(|r| r.format.hidden != Some(true))
355 .collect();
356 assert_eq!(visible.iter().map(|r| r.text).collect::<String>(), text);
357 assert_eq!(
358 visible
359 .iter()
360 .filter(|r| r.link.is_some())
361 .map(|r| r.text)
362 .collect::<String>(),
363 linked
364 );
365 let target = format!("https://example.invalid/label/{number}");
366 for run in visible {
367 if let Some(link) = run.link {
368 assert_eq!(link, target);
369 }
370 assert_eq!(run.format.bold, Some(true));
371 assert_eq!(run.format.font_size, Some(14.0));
372 assert_eq!(run.format.underline, Some(false));
373 assert_eq!(run.format.color, Some(0xff000000));
374 }
375 }
376}
377
378#[test]
379fn native_unicode_table_assets_and_coordinates_are_typed() {
380 let bytes =
381 fs::read("../../corpus/native/20260905-05/snapshots/07-table/notebook/synthetic.one")
382 .unwrap();
383 let store = Store::parse(&bytes).unwrap();
384 let index = RevisionIndex::parse(&store).unwrap();
385 let document = Document::parse(&index).unwrap();
386 let nodes: Vec<_> = document
387 .spaces
388 .values()
389 .flat_map(|s| s.revisions.values())
390 .flat_map(|r| r.nodes.values())
391 .collect();
392 assert!(nodes.iter().any(|n| matches!(&n.kind, Kind::RichText { text, .. } if text == "Fictitious: café, 東京, مرحبا")));
393 let table = nodes
394 .iter()
395 .find(|n| matches!(n.kind, Kind::Table { .. }))
396 .unwrap();
397 let Kind::Table {
398 rows,
399 columns,
400 widths,
401 ..
402 } = &table.kind
403 else {
404 unreachable!()
405 };
406 assert_eq!(
407 (*rows, *columns, table.children.len(), widths.len()),
408 (Some(1), Some(2), 1, 2)
409 );
410 assert_eq!(
411 nodes
412 .iter()
413 .filter(|n| matches!(n.kind, Kind::Cell { .. }))
414 .count(),
415 2
416 );
417 assert_eq!(
418 nodes
419 .iter()
420 .filter(|n| matches!(n.kind, Kind::Attachment { .. }))
421 .count(),
422 1
423 );
424 assert!(nodes.iter().any(|n| matches!(&n.kind, Kind::File { payload: Some(data), .. } if data.starts_with(b"\x89PNG"))));
425 assert!(nodes.iter().any(|n| matches!(n.kind, Kind::Outline { .. })
426 && n.layout.x == Some(144.0)
427 && n.layout.y == Some(96.0)));
428 for node in nodes {
429 if let Kind::RichText { text, runs, .. } = &node.kind {
430 assert_eq!(runs.first().unwrap().start, 0);
431 assert_eq!(
432 runs.last().unwrap().end as usize,
433 text.encode_utf16().count()
434 );
435 }
436 }
437}
438
439#[test]
440fn encrypted_content_is_accounted_without_fabricated_plaintext() {
441 let bytes =
442 fs::read("../../corpus/native-encrypted/encrypted-01/notebook/synthetic.one").unwrap();
443 let store = Store::parse(&bytes).unwrap();
444 let index = RevisionIndex::parse(&store).unwrap();
445 let document = Document::parse(&index).unwrap();
446 assert!(!document.spaces.is_empty());
447 let nodes: Vec<_> = document
448 .spaces
449 .values()
450 .flat_map(|s| s.revisions.values())
451 .flat_map(|r| r.nodes.values())
452 .collect();
453 assert!(!nodes.is_empty());
454 for node in nodes {
455 assert!(matches!(node.kind, Kind::Encrypted { ciphertext } if !ciphertext.is_empty()));
456 }
457}
458
459#[test]
460fn rust_unicode_and_native_latin1_use_utf16_run_offsets() {
461 let text = "A😀e\u{301}東京";
462 let bytes = onestore::create_section("unicode.one", text, "Fictitious").unwrap();
463 let store = Store::parse(&bytes).unwrap();
464 let index = RevisionIndex::parse(&store).unwrap();
465 let document = Document::parse(&index).unwrap();
466 let node = document
467 .spaces
468 .values()
469 .flat_map(|s| s.revisions.values())
470 .flat_map(|r| r.nodes.values())
471 .find(|n| matches!(n.kind, Kind::RichText { .. }))
472 .unwrap();
473 let Kind::RichText {
474 text: actual, runs, ..
475 } = &node.kind
476 else {
477 unreachable!()
478 };
479 assert_eq!(actual, text);
480 assert_eq!(runs[0].end, 7);
481 let bytes = fs::read("../../corpus/m6/ansi/notebook/synthetic.one").unwrap();
482 let store = Store::parse(&bytes).unwrap();
483 let index = RevisionIndex::parse(&store).unwrap();
484 let document = Document::parse(&index).unwrap();
485 let expected = format!(
486 "Extended bytes: {}",
487 (128u8..=255)
488 .map(|b| char::from(b).to_string())
489 .collect::<Vec<_>>()
490 .join(" ")
491 );
492 assert!(
493 document
494 .spaces
495 .values()
496 .flat_map(|s| s.revisions.values())
497 .flat_map(|r| r.nodes.values())
498 .any(|n| matches!(&n.kind, Kind::RichText { text, .. } if text == &expected))
499 );
500}
501
502#[test]
503fn toc_preserves_section_order_and_filename() {
504 let bytes = onestore::create_table_of_contents(
505 "Open Notebook.onetoc2",
506 &[("z.one", [1; 16]), ("a.one", [2; 16])],
507 )
508 .unwrap();
509 let store = Store::parse(&bytes).unwrap();
510 let index = RevisionIndex::parse(&store).unwrap();
511 let document = Document::parse(&index).unwrap();
512 let space = &document.spaces[&document.root];
513 let space = &space.revisions[&space.contexts[&ExGuid::default()]];
514 let root = &space.nodes[&space.roots[&1]];
515 let Kind::Toc { entries, .. } = &root.kind else {
516 panic!("Missing TOC")
517 };
518 let names: Vec<_> = entries
519 .iter()
520 .map(|id| match &space.nodes[id].kind {
521 Kind::Toc { filename, .. } => filename.as_deref().unwrap(),
522 _ => panic!("Missing TOC entry"),
523 })
524 .collect();
525 assert_eq!(names, ["z.one", "a.one"]);
526 assert_ne!(document.root, ExGuid::default());
527}
528
529#[test]
530fn native_printouts_tasks_and_recording_associations_are_typed() {
531 let bytes = fs::read("../../corpus/m6/native-features-01/notebook/Features.one").unwrap();
532 let store = Store::parse(&bytes).unwrap();
533 let index = RevisionIndex::parse(&store).unwrap();
534 let document = Document::parse(&index).unwrap();
535 let mut roles = Vec::new();
536 let mut task = false;
537 let mut recording = false;
538 let mut annotation = false;
539 let mut decimal = false;
540 let mut inherited_strike = false;
541 let media = [
542 0x57, 0x8e, 0x41, 0x9a, 0x64, 0x7f, 0xc5, 0x40, 0x87, 0xd0, 0x8a, 0x8f, 0x7c, 0x1e, 0x54,
543 0x22,
544 ];
545 for space in document.spaces.values().flat_map(|s| s.revisions.values()) {
546 for (oid, node) in &space.nodes {
547 match &node.kind {
548 Kind::Image {
549 alt,
550 background,
551 printout,
552 ..
553 } if alt.as_deref() == Some("Role pattern") => {
554 let border = if *printout == Some(true) { 1.44 } else { 0.0 };
555 assert!((node.layout.max_width.unwrap() + border - 288.0).abs() < 0.002);
556 assert!((node.layout.max_height.unwrap() + border - 192.0).abs() < 0.002);
557 roles.push((*background, *printout));
558 }
559 Kind::Attachment {
560 filename,
561 recording_id,
562 ..
563 } if filename.as_deref() == Some("silence.wav") => {
564 assert_eq!(*recording_id, Some(media));
565 recording = true;
566 }
567 Kind::RichText { text, .. } if text == "Recording annotation" => {
568 assert_eq!(node.media_ids, [media]);
569 assert_eq!(node.media_time_ms, Some(500));
570 annotation = true;
571 }
572 Kind::RichText { text, .. } if text == "Disabled standalone task" => {
573 assert_eq!(node.tags.len(), 1);
574 let tag = &node.tags[0];
575 assert_eq!(
576 (tag.definition, tag.action_type, tag.status),
577 (None, Some(100), 6)
578 );
579 assert_eq!((tag.start, tag.due), (Some(1262390400), Some(1262476800)));
580 assert_eq!(tag.completed, Some(0));
581 assert_eq!(tag.task_id.unwrap()[..4], [0xe3, 0x40, 0xaf, 0x45]);
582 task = true;
583 }
584 Kind::RichText { text, .. } if text == "Inherited strike and spacing" => {
585 let runs = space.text_runs(*oid).unwrap();
586 assert_eq!(runs[0].format.strike, Some(true));
587 assert_eq!(runs[0].format.space_before, Some(9.0));
588 assert_eq!(runs[0].format.space_after, Some(4.5));
589 inherited_strike = true;
590 }
591 Kind::List { format, .. } if format.as_deref() == Some("\u{fffd}\0") => {
592 decimal = true;
593 }
594 _ => {}
595 }
596 }
597 }
598 roles.sort();
599 assert_eq!(
600 roles,
601 [
602 (Some(false), Some(false)),
603 (Some(false), Some(true)),
604 (Some(true), Some(false)),
605 (Some(true), Some(true))
606 ]
607 );
608 assert!(task && recording && annotation && decimal && inherited_strike);
609}
610
611#[test]
612fn native_partial_black_highlight_and_inline_hyperlink_fields_survive() {
613 let bytes = fs::read("../../corpus/m6/native-probes-01/notebook/synthetic.one").unwrap();
614 let store = Store::parse(&bytes).unwrap();
615 let index = RevisionIndex::parse(&store).unwrap();
616 let document = Document::parse(&index).unwrap();
617 let mut black = false;
618 let mut link = false;
619 for space in document.spaces.values().flat_map(|s| s.revisions.values()) {
620 for (oid, node) in &space.nodes {
621 if let Kind::RichText { text, runs, .. } = &node.kind {
622 if text == "Before middle after" {
623 let highlighted: Vec<_> = runs
624 .iter()
625 .filter(|run| {
626 run.format
627 .is_some_and(|id| space.nodes[&id].format.highlight == Some(0))
628 })
629 .collect();
630 assert_eq!(highlighted.len(), 1);
631 assert_eq!((highlighted[0].start, highlighted[0].end), (7, 13));
632 black = true;
633 }
634 if text.starts_with("Before \u{fddf}HYPERLINK") {
635 let units: Vec<_> = text.encode_utf16().collect();
636 let mut visible = String::new();
637 let mut hidden = String::new();
638 for run in runs {
639 let fragment =
640 String::from_utf16(&units[run.start as usize..run.end as usize])
641 .unwrap();
642 if run
643 .format
644 .is_some_and(|id| space.nodes[&id].format.hidden == Some(true))
645 {
646 hidden.push_str(&fragment);
647 } else {
648 visible.push_str(&fragment);
649 }
650 }
651 assert_eq!(visible, "Before Link label after");
652 let resolved = space.text_runs(*oid).unwrap();
653 let links: Vec<_> = resolved
654 .iter()
655 .filter_map(|r| r.link.map(|url| (r.text, url, r.format.bold)))
656 .collect();
657 assert_eq!(
658 links,
659 [(
660 "Link label",
661 "https://example.invalid/fixture?x=1&y=2",
662 Some(true)
663 )]
664 );
665 assert_eq!(
666 resolved
667 .iter()
668 .filter(|r| r.format.hidden != Some(true))
669 .map(|r| r.text)
670 .collect::<String>(),
671 visible
672 );
673 assert_eq!(
674 hidden,
675 "\u{fddf}HYPERLINK \"https://example.invalid/fixture?x=1&y=2\""
676 );
677 link = true;
678 }
679 }
680 }
681 }
682 assert!(black && link);
683}
684
685#[test]
686fn malformed_run_boundaries_fail_after_valid_storage_decoding() {
687 let bytes = fs::read("../../corpus/m6/native-probes-01/notebook/synthetic.one").unwrap();
688 let store = Store::parse(&bytes).unwrap();
689 let index = RevisionIndex::parse(&store).unwrap();
690 let document = Document::parse(&index).unwrap();
691 let (sid, rid, oid) = document
692 .spaces
693 .iter()
694 .find_map(|(sid, space)| {
695 space.revisions.iter().find_map(|(rid, revision)| {
696 revision.nodes.iter().find_map(|(oid, node)| {
697 matches!(&node.kind, Kind::RichText { text, .. } if text.starts_with("BMP "))
698 .then_some((*sid, *rid, *oid))
699 })
700 })
701 })
702 .unwrap();
703 let revision = index.resolve(sid, rid).unwrap();
704 let onestore::ObjectData::Properties(properties) = revision.objects[&oid].data else {
705 unreachable!()
706 };
707 let properties = onestore::PropertySets::parse(properties).unwrap();
708 let onestore::Value::Bytes(boundaries) = properties.sets[0]
709 .iter()
710 .find(|p| p.id == 0x1c001e12)
711 .unwrap()
712 .value
713 else {
714 unreachable!()
715 };
716 for invalid in [5u32, u32::MAX] {
717 let mut changed = boundaries.to_vec();
718 changed[..4].copy_from_slice(&invalid.to_le_bytes());
719 let mutated =
720 onestore::replace_property_bytes(&bytes, sid, oid, 0x1c001e12, &changed).unwrap();
721 let store = Store::parse(&mutated).unwrap();
722 let index = RevisionIndex::parse(&store).unwrap();
723 index.validate_current().unwrap();
724 let error = Document::parse(&index).unwrap_err();
725 assert_eq!(
726 error.message,
727 if invalid == 5 {
728 "Text-run boundary splits a surrogate pair"
729 } else {
730 "Text-run indices exceed text or are out of order"
731 }
732 );
733 }
734}
735
736#[test]
737fn native_lists_locked_columns_and_named_styles_are_preserved() {
738 let bytes = fs::read("../../corpus/m6/native-structure-01/notebook/synthetic.one").unwrap();
739 let store = Store::parse(&bytes).unwrap();
740 let index = RevisionIndex::parse(&store).unwrap();
741 let document = Document::parse(&index).unwrap();
742 let mut found = (false, false, false);
743 for space in document.spaces.values().flat_map(|s| s.revisions.values()) {
744 for (oid, node) in &space.nodes {
745 match &node.kind {
746 Kind::Table {
747 rows,
748 columns,
749 locked,
750 widths,
751 ..
752 } => {
753 assert_eq!((*rows, *columns), (Some(3), Some(2)));
754 assert_eq!(locked, &[true, false]);
755 assert_eq!(widths[0], 120.0);
756 assert!(widths[1] > 37.0 && widths[1] < 38.0);
757 found.0 = true;
758 }
759 Kind::List {
760 format,
761 restart: Some(3),
762 bullet,
763 ..
764 } => {
765 assert_eq!(format.as_deref(), Some("\u{fffd}\u{1}."));
766 assert_eq!(*bullet, None);
767 found.1 = true;
768 }
769 Kind::RichText { text, .. } if text == "Named paragraph style" => {
770 let runs = space.text_runs(*oid).unwrap();
771 assert_eq!(runs[0].format.bold, Some(true));
772 assert_eq!(runs[0].format.font_size, Some(20.0));
773 assert_eq!(runs[0].format.space_before, Some(288.0));
774 assert_eq!(runs[0].format.space_after, Some(144.0));
775 assert_eq!(runs[0].format.alignment, Some(2));
776 found.2 = true;
777 }
778 _ => {}
779 }
780 }
781 }
782 assert_eq!(found, (true, true, true));
783 let (revision, outer) = document
784 .spaces
785 .values()
786 .flat_map(|s| s.revisions.values())
787 .find_map(|revision| {
788 revision
789 .nodes
790 .values()
791 .find(|node| {
792 matches!(node.kind, Kind::Paragraph { .. }) && !node.children.is_empty()
793 })
794 .map(|node| (revision, node))
795 })
796 .unwrap();
797 assert_eq!(outer.child_level, Some(1));
798 assert_eq!(
799 revision.text_runs(outer.content[0]).unwrap()[0].text,
800 "Outer bullet"
801 );
802 assert_eq!(outer.children.len(), 1);
803 let nested = &revision.nodes[&outer.children[0]];
804 assert_eq!(
805 revision.text_runs(nested.content[0]).unwrap()[0].text,
806 "Nested bullet"
807 );
808}
809
810#[test]
811fn native_conflict_relationship_and_opaque_ink_are_retained() {
812 let bytes =
813 fs::read("../../corpus/collaboration/round-01/offline/notebook/synthetic.one").unwrap();
814 let store = Store::parse(&bytes).unwrap();
815 let index = RevisionIndex::parse(&store).unwrap();
816 let document = Document::parse(&index).unwrap();
817 let (conflict_id, conflict) = document
818 .spaces
819 .iter()
820 .find_map(|(sid, space)| {
821 let revision = &space.revisions[&space.contexts[&ExGuid::default()]];
822 revision.roots.get(&2).and_then(|root| {
823 matches!(revision.nodes[root].kind, Kind::ConflictMetadata { .. })
824 .then_some((sid, revision))
825 })
826 })
827 .unwrap();
828 let Kind::ConflictMetadata {
829 title,
830 author,
831 level,
832 } = &conflict.nodes[&conflict.roots[&2]].kind
833 else {
834 unreachable!()
835 };
836 assert_eq!(title.as_deref(), Some("Native edited while disconnected."));
837 assert_eq!(author.as_deref(), Some("snow"));
838 assert_eq!(*level, Some(1));
839 assert!(
840 document
841 .spaces
842 .iter()
843 .any(|(sid, space)| sid != conflict_id && {
844 let revision = &space.revisions[&space.contexts[&ExGuid::default()]];
845 revision.nodes[&revision.roots[&1]]
846 .spaces
847 .contains(conflict_id)
848 })
849 );
850 let bytes = fs::read("../../corpus/native-ink/cold-ui-ink/notebook/synthetic.one").unwrap();
851 let store = Store::parse(&bytes).unwrap();
852 let index = RevisionIndex::parse(&store).unwrap();
853 let document = Document::parse(&index).unwrap();
854 let ink: Vec<_> = document
855 .spaces
856 .values()
857 .flat_map(|s| s.revisions.values())
858 .flat_map(|r| r.nodes.values())
859 .filter(|node| matches!(node.kind, Kind::Ink))
860 .collect();
861 assert_eq!(ink.len(), 2);
862 assert!(
863 ink.iter()
864 .all(|node| node.extra.iter().any(|set| !set.is_empty()))
865 );
866}
crates/onestore/tests/edit.rs created+627
...@@ -0,0 +1,627 @@
1#[path = "support/checkpoint.rs"]
2mod checkpoint;
3#[path = "support/disk.rs"]
4mod disk;
5
6use disk::Disk;
7use onestore::{
8 CommitState, ExGuid, RevisionIndex, Store,
9 document::{Document, Kind},
10};
11
12const SOURCE: &[u8] = include_bytes!(
13 "../../../corpus/native/20260905-05/snapshots/03-format-unicode/notebook/synthetic.one"
14);
15
16fn target(source: &[u8]) -> (ExGuid, ExGuid) {
17 let store = Store::parse(source).unwrap();
18 let index = RevisionIndex::parse(&store).unwrap();
19 let document = Document::parse(&index).unwrap();
20 for (sid, space) in &document.spaces {
21 let revision = &space.revisions[&space.contexts[&ExGuid::default()]];
22 for (oid, node) in &revision.nodes {
23 if matches!(&node.kind, Kind::RichText { text, .. } if text.starts_with("Fictitious:"))
24 {
25 return (*sid, *oid);
26 }
27 }
28 }
29 panic!("Missing native text fixture")
30}
31
32fn text_runs(source: &[u8], sid: ExGuid, oid: ExGuid) -> serde_json::Value {
33 let store = Store::parse(source).unwrap();
34 assert!(store.checksum_mismatches.is_empty());
35 let index = RevisionIndex::parse(&store).unwrap();
36 index.validate_current().unwrap();
37 let document = Document::parse(&index).unwrap();
38 let space = &document.spaces[&sid];
39 serde_json::to_value(
40 space.revisions[&space.contexts[&ExGuid::default()]]
41 .text_runs(oid)
42 .unwrap(),
43 )
44 .unwrap()
45}
46
47fn assert_other_objects_preserved(
48 before: &onestore::ResolvedRevision<'_>,
49 after: &onestore::ResolvedRevision<'_>,
50 edited: ExGuid,
51) {
52 use onestore::{ObjectData, PropertySets};
53 let ObjectData::Properties(bytes) = after.objects[&edited].data else {
54 panic!()
55 };
56 let target = PropertySets::parse(bytes).unwrap();
57 let modified = &target.sets[0]
58 .iter()
59 .find(|field| field.id == 0x14001d7a)
60 .unwrap()
61 .value;
62 let reachable = before.reachable().unwrap();
63 assert_eq!(before.objects.len(), after.objects.len());
64 for (id, object) in &before.objects {
65 if *id == edited {
66 continue;
67 }
68 let current = &after.objects[id];
69 assert_eq!(object.jcid, current.jcid);
70 assert_eq!(object.global_ids, current.global_ids);
71 let mut pending = vec![*id];
72 let mut visited = std::collections::BTreeSet::new();
73 while let Some(next) = pending.pop() {
74 if !visited.insert(next) {
75 continue;
76 }
77 pending.extend(before.objects[&next].references().unwrap().objects);
78 }
79 let ancestor = reachable.contains(id) && visited.contains(&edited);
80 let mut allowed = Vec::new();
81 if ancestor {
82 allowed.push(0x14001d7a);
83 }
84 if ancestor && object.jcid == 0x6000b {
85 allowed.push(0x1c001d3c);
86 }
87 if before.roots.get(&2) == Some(id) {
88 allowed.push(0x1c001cf3);
89 }
90 if allowed.is_empty() {
91 assert_eq!(object.data, current.data);
92 continue;
93 }
94 let [old, new] = [object.data, current.data].map(|data| {
95 let ObjectData::Properties(bytes) = data else {
96 panic!()
97 };
98 PropertySets::parse(bytes).unwrap()
99 });
100 if ancestor {
101 let old_time = old.sets[0].iter().find(|field| field.id == 0x14001d7a);
102 let new_time = new.sets[0].iter().find(|field| field.id == 0x14001d7a);
103 assert_eq!(old_time.is_some(), new_time.is_some());
104 if let Some(time) = new_time {
105 assert_eq!(&time.value, modified);
106 }
107 }
108 let [old, new] = [old, new].map(|mut fields| {
109 fields.sets[0].retain(|field| !allowed.contains(&field.id));
110 fields.sets
111 });
112 assert_eq!(old, new);
113 }
114}
115
116#[test]
117fn text_splices_preserve_formats_objects_and_history_in_one_transaction() {
118 let (sid, oid) = target(SOURCE);
119 let old = Store::parse(SOURCE).unwrap();
120 let old_index = RevisionIndex::parse(&old).unwrap();
121 let before = text_runs(SOURCE, sid, oid);
122 for replacement in ["", "🦀", "A longer replacement with 日本語 and e\u{301}"] {
123 let edited = onestore::replace_text(SOURCE, sid, oid, 0..10, replacement).unwrap();
124 let store = Store::parse(&edited).unwrap();
125 assert_eq!(
126 store.header.transaction_count,
127 old.header.transaction_count + 1
128 );
129 let index = RevisionIndex::parse(&store).unwrap();
130 for (space_id, space) in &old_index.spaces {
131 for rid in space.revisions.keys() {
132 let previous = old_index.resolve(*space_id, *rid).unwrap();
133 let preserved = index.resolve(*space_id, *rid).unwrap();
134 assert_eq!(previous.roots, preserved.roots);
135 for (id, object) in previous.objects {
136 assert_eq!(object.data, preserved.objects[&id].data);
137 }
138 }
139 let previous = old_index
140 .resolve(*space_id, space.labels[&(ExGuid::default(), 1)])
141 .unwrap();
142 let current = index
143 .resolve(
144 *space_id,
145 index.spaces[space_id].labels[&(ExGuid::default(), 1)],
146 )
147 .unwrap();
148 assert_eq!(previous.objects.len(), current.objects.len());
149 if *space_id == sid {
150 assert_other_objects_preserved(&previous, &current, oid);
151 } else {
152 for (id, object) in previous.objects {
153 assert_eq!(object.data, current.objects[&id].data);
154 }
155 }
156 }
157 let mut expected = before.clone();
158 expected[0]["text"] = format!(
159 "{replacement}{}",
160 &before[0]["text"].as_str().unwrap()[10..]
161 )
162 .into();
163 assert_eq!(text_runs(&edited, sid, oid), expected);
164 }
165}
166
167#[test]
168fn invalid_text_edits_never_touch_storage() {
169 let (sid, oid) = target(SOURCE);
170 let source = onestore::replace_text(SOURCE, sid, oid, 0..0, "🦀").unwrap();
171 for (range, replacement) in [
172 (1..1, "x"),
173 (0..999, "x"),
174 (0..21, "x"),
175 (0..0, "\n"),
176 (0..0, "\0"),
177 ] {
178 let mut disk = Disk {
179 visible: source.clone(),
180 durable: source.clone(),
181 operation: 0,
182 fail_at: None,
183 write_limit: 1024,
184 random: 1,
185 };
186 let error =
187 onestore::commit_text(&mut disk, &source, sid, oid, range, replacement).unwrap_err();
188 assert_eq!(error.state, CommitState::NotCommitted);
189 assert_eq!(disk.operation, 0);
190 assert_eq!(disk.durable, source);
191 }
192}
193
194#[test]
195fn insertion_at_a_style_boundary_uses_the_following_style() {
196 let (sid, oid) = target(SOURCE);
197 let before = text_runs(SOURCE, sid, oid);
198 let edited = onestore::replace_text(SOURCE, sid, oid, 18..18, "🦀").unwrap();
199 let mut expected = before.clone();
200 expected[1]["text"] = format!("🦀{}", before[1]["text"].as_str().unwrap()).into();
201 assert_eq!(text_runs(&edited, sid, oid), expected);
202}
203
204#[test]
205fn automatic_titles_follow_native_line_and_utf16_limits() {
206 for (text, expected) in [
207 (
208 " first\tline \rsecond".to_string(),
209 "first\tline".to_string(),
210 ),
211 ("A".repeat(500), "A".repeat(255)),
212 (
213 format!("{}🦀after", "A".repeat(254)),
214 format!("{}🦀", "A".repeat(254)),
215 ),
216 (" \t ".to_string(), "".to_string()),
217 ] {
218 let source = onestore::create_section("title.one", &text, "Title fixture").unwrap();
219 let check = |bytes: &[u8], expected: &str| {
220 let store = Store::parse(bytes).unwrap();
221 let index = RevisionIndex::parse(&store).unwrap();
222 let document = Document::parse(&index).unwrap();
223 let (sid, page) = document.pages().unwrap()[0];
224 let space = &document.spaces[&sid];
225 let revision = &space.revisions[&space.contexts[&ExGuid::default()]];
226 let Kind::Metadata { title, .. } = &revision.nodes[&revision.roots[&2]].kind else {
227 panic!()
228 };
229 let Kind::Page {
230 alternate_title, ..
231 } = &revision.nodes[&page].kind
232 else {
233 panic!()
234 };
235 assert_eq!(title.as_deref(), Some(expected));
236 assert_eq!(alternate_title.as_deref(), Some(expected));
237 let (oid, _) = revision
238 .nodes
239 .iter()
240 .find(|(_, n)| matches!(n.kind, Kind::RichText { .. }))
241 .unwrap();
242 (sid, *oid)
243 };
244 let (sid, oid) = check(&source, &expected);
245 let cleared =
246 onestore::replace_text(&source, sid, oid, 0..text.encode_utf16().count() as u32, "")
247 .unwrap();
248 check(&cleared, "");
249 let written = onestore::replace_text(&cleared, sid, oid, 0..0, " new 🦀 name ").unwrap();
250 check(&written, "new 🦀 name");
251 }
252}
253
254#[test]
255fn automatic_titles_follow_native_rtl_and_attachment_order() {
256 let mut checked = 0;
257 for path in [
258 "../../corpus/m7/automatic-titles/rtl-and-attachments.one",
259 "../../corpus/m7/automatic-titles/widths-and-limits.one",
260 ] {
261 let source = std::fs::read(path).unwrap();
262 let store = Store::parse(&source).unwrap();
263 let index = RevisionIndex::parse(&store).unwrap();
264 let document = Document::parse(&index).unwrap();
265 for (sid, page) in document.pages().unwrap() {
266 let space = &document.spaces[&sid];
267 let rid = space.contexts[&ExGuid::default()];
268 let revision = &space.revisions[&rid];
269 let Kind::Page { rtl, .. } = &revision.nodes[&page].kind else {
270 panic!()
271 };
272 if *rtl != Some(true)
273 && !revision
274 .nodes
275 .values()
276 .any(|n| matches!(n.kind, Kind::Attachment { .. }))
277 {
278 continue;
279 }
280 let Kind::Metadata {
281 title: Some(title), ..
282 } = &revision.nodes[&revision.roots[&2]].kind
283 else {
284 panic!()
285 };
286 let original = index.resolve(sid, rid).unwrap();
287 for (oid, node) in &revision.nodes {
288 let Kind::RichText {
289 text,
290 boilerplate: false,
291 ..
292 } = &node.kind
293 else {
294 continue;
295 };
296 if node.extra[0].iter().any(|field| field.id == 0x88001cb4) {
297 continue;
298 }
299 let changed = onestore::replace_text(&source, sid, *oid, 0..0, "Edited ").unwrap();
300 let store = Store::parse(&changed).unwrap();
301 let current = RevisionIndex::parse(&store).unwrap();
302 let after = Document::parse(&current).unwrap();
303 let space = &after.spaces[&sid];
304 let revision = &space.revisions[&space.contexts[&ExGuid::default()]];
305 let Kind::Metadata {
306 title: Some(actual),
307 ..
308 } = &revision.nodes[&revision.roots[&2]].kind
309 else {
310 panic!()
311 };
312 let expected = if text == title {
313 format!("Edited {title}")
314 } else {
315 title.clone()
316 };
317 assert_eq!(actual, &expected);
318 let active = current
319 .resolve(sid, current.spaces[&sid].labels[&(ExGuid::default(), 1)])
320 .unwrap();
321 assert_other_objects_preserved(&original, &active, *oid);
322 checked += 1;
323 }
324 }
325 }
326 assert_eq!(checked, 10);
327}
328
329#[test]
330fn an_emptied_final_run_retains_its_insertion_style() {
331 let (sid, oid) = target(SOURCE);
332 let before = text_runs(SOURCE, sid, oid);
333 let erased = onestore::replace_text(SOURCE, sid, oid, 22..27, "").unwrap();
334 let edited = onestore::replace_text(&erased, sid, oid, 22..22, "a").unwrap();
335 let mut expected = before.clone();
336 expected[3]["text"] = "a".into();
337 assert_eq!(text_runs(&edited, sid, oid), expected);
338}
339
340#[test]
341fn title_text_and_navigation_caches_publish_together() {
342 let source =
343 std::fs::read("../../corpus/m6/native-structure-01/notebook/synthetic.one").unwrap();
344 let store = Store::parse(&source).unwrap();
345 let index = RevisionIndex::parse(&store).unwrap();
346 let document = Document::parse(&index).unwrap();
347 let (sid, page) = document
348 .pages()
349 .unwrap()
350 .into_iter()
351 .find(|(sid, _)| {
352 let space = &document.spaces[sid];
353 space.revisions[&space.contexts[&ExGuid::default()]]
354 .nodes
355 .values()
356 .any(|node| {
357 matches!(node.kind, Kind::RichText { .. })
358 && node.extra[0].iter().any(|field| field.id == 0x88001cb4)
359 })
360 })
361 .unwrap();
362 let rid = document.spaces[&sid].contexts[&ExGuid::default()];
363 let revision = &document.spaces[&sid].revisions[&rid];
364 let metadata = revision.roots[&2];
365 let (oid, node) = revision
366 .nodes
367 .iter()
368 .find(|(_, node)| {
369 matches!(node.kind, Kind::RichText { .. })
370 && node.extra[0].iter().any(|field| field.id == 0x88001cb4)
371 })
372 .unwrap();
373 let Kind::RichText { text, runs, .. } = &node.kind else {
374 panic!()
375 };
376 assert_eq!(runs.len(), 1);
377 let end = text.encode_utf16().count() as u32;
378 let state = |bytes: &[u8]| {
379 let store = Store::parse(bytes).unwrap();
380 assert!(store.checksum_mismatches.is_empty());
381 let index = RevisionIndex::parse(&store).unwrap();
382 index.validate_current().unwrap();
383 let document = Document::parse(&index).unwrap();
384 let space = &document.spaces[&sid];
385 let current = &space.revisions[&space.contexts[&ExGuid::default()]];
386 serde_json::json!([
387 &current.nodes[oid].kind,
388 &current.nodes[&metadata].kind,
389 &current.nodes[&page].kind,
390 current
391 .nodes
392 .iter()
393 .map(|(id, node)| (*id, node.modified))
394 .collect::<std::collections::BTreeMap<_, _>>(),
395 ])
396 };
397 let checkpoint = checkpoint::pending(&source, sid, *oid, 0x14001d7a);
398 for (source, write_limit) in [(source.as_slice(), 17), (checkpoint.as_slice(), 257)] {
399 let before = state(source);
400 for replacement in ["Renamed 🦀 日本語", ""] {
401 let disk = |fail_at| Disk {
402 visible: source.to_vec(),
403 durable: source.to_vec(),
404 operation: 0,
405 fail_at,
406 write_limit,
407 random: 42,
408 };
409 let mut success = disk(None);
410 onestore::commit_text(&mut success, source, sid, *oid, 0..end, replacement).unwrap();
411 let after = state(&success.durable);
412 assert_eq!(after[0]["text"], replacement);
413 assert_eq!(
414 after[1]["title"],
415 if replacement.is_empty() {
416 "Black highlight, automatic text"
417 } else {
418 replacement
419 }
420 );
421 assert_eq!(
422 after[2]["alternate_title"],
423 if replacement.is_empty() {
424 serde_json::json!("Black highlight, automatic text")
425 } else {
426 serde_json::json!("")
427 }
428 );
429 let written = Store::parse(&success.durable).unwrap();
430 assert_eq!(
431 written.header.transaction_count,
432 Store::parse(source).unwrap().header.transaction_count + 1
433 );
434 let updated = RevisionIndex::parse(&written).unwrap();
435 let old = index.resolve(sid, rid).unwrap();
436 let current = updated
437 .resolve(sid, updated.spaces[&sid].labels[&(ExGuid::default(), 1)])
438 .unwrap();
439 for (id, object) in &old.objects {
440 assert_eq!(
441 object.data,
442 updated.resolve(sid, rid).unwrap().objects[id].data
443 );
444 }
445 assert_other_objects_preserved(&old, &current, *oid);
446 for at in source.len().div_ceil(193)..=success.operation {
447 let mut interrupted = disk(Some(at));
448 let error =
449 onestore::commit_text(&mut interrupted, source, sid, *oid, 0..end, replacement)
450 .unwrap_err();
451 let observed = state(&interrupted.durable);
452 match error.state {
453 CommitState::NotCommitted => assert_eq!(observed, before),
454 CommitState::Committed => assert_eq!(observed, after),
455 CommitState::Unknown => assert!(observed == before || observed == after),
456 }
457 }
458 }
459 }
460}
461
462#[test]
463fn native_conflict_pages_are_readable_but_not_random_edit_targets() {
464 let source =
465 std::fs::read("../../corpus/m6/live-collaboration-15/vm-restarted/notebook/synthetic.one")
466 .unwrap();
467 let store = Store::parse(&source).unwrap();
468 let index = RevisionIndex::parse(&store).unwrap();
469 let document = Document::parse(&index).unwrap();
470 let pages = document.pages().unwrap();
471 assert_eq!(pages.len(), 1);
472 let main = &document.spaces[&pages[0].0];
473 let main = &main.revisions[&main.contexts[&ExGuid::default()]];
474 let conflict_spaces = &main.nodes[&main.roots[&1]].spaces;
475 assert_eq!(conflict_spaces.len(), 1);
476 let mut conflicts = 0;
477 for sid in conflict_spaces {
478 assert!(pages.iter().all(|(page_space, _)| page_space != sid));
479 let space = &document.spaces[sid];
480 let revision = &space.revisions[&space.contexts[&ExGuid::default()]];
481 for (oid, node) in &revision.nodes {
482 if !matches!(node.kind, Kind::RichText { .. }) {
483 continue;
484 }
485 assert!(onestore::replace_text(&source, *sid, *oid, 0..0, "edit").is_err());
486 conflicts += 1;
487 }
488 }
489 assert!(conflicts > 0);
490}
491
492#[test]
493fn interrupted_text_commits_never_publish_mismatched_run_boundaries() {
494 let (sid, oid) = target(SOURCE);
495 let checkpoint = checkpoint::pending(SOURCE, sid, oid, 0x14001d7a);
496 for source in [SOURCE, checkpoint.as_slice()] {
497 let make_disk = |fail_at, random| Disk {
498 visible: source.to_vec(),
499 durable: source.to_vec(),
500 operation: 0,
501 fail_at,
502 write_limit: usize::MAX,
503 random,
504 };
505 let before = text_runs(source, sid, oid);
506 let mut success = make_disk(None, 1);
507 onestore::commit_text(&mut success, source, sid, oid, 0..10, "🐈 mixed edit").unwrap();
508 let after = text_runs(&success.durable, sid, oid);
509 assert_ne!(before, after);
510 for at in source.len().div_ceil(193)..=success.operation {
511 for seed in [1, 42] {
512 let mut disk = make_disk(Some(at), seed);
513 let error =
514 onestore::commit_text(&mut disk, source, sid, oid, 0..10, "🐈 mixed edit")
515 .unwrap_err();
516 let observed = text_runs(&disk.durable, sid, oid);
517 match error.state {
518 CommitState::NotCommitted => assert_eq!(observed, before),
519 CommitState::Committed => assert_eq!(observed, after),
520 CommitState::Unknown => assert!(observed == before || observed == after),
521 }
522 }
523 }
524 }
525}
526
527#[test]
528fn empty_and_legacy_native_text_gain_unicode_without_losing_existing_properties() {
529 use onestore::{ObjectData, PropertySets, Value};
530 for (path, original) in [
531 (
532 "../../corpus/m6/native-empty-link-01/notebook/synthetic.one",
533 "",
534 ),
535 (
536 "../../corpus/native/20260905-05/snapshots/02-text/notebook/synthetic.one",
537 "Fictitious plain text.",
538 ),
539 ] {
540 let source = std::fs::read(path).unwrap();
541 let store = Store::parse(&source).unwrap();
542 let index = RevisionIndex::parse(&store).unwrap();
543 let document = Document::parse(&index).unwrap();
544 let mut targets = Vec::new();
545 for (sid, space) in &document.spaces {
546 let revision = &space.revisions[&space.contexts[&ExGuid::default()]];
547 for (oid, node) in &revision.nodes {
548 if matches!(&node.kind, Kind::RichText { text, boilerplate: false, .. } if text == original)
549 {
550 targets.push((*sid, *oid));
551 }
552 }
553 }
554 assert_eq!(targets.len(), 1);
555 let (sid, oid) = targets[0];
556 let old_rid = index.spaces[&sid].labels[&(ExGuid::default(), 1)];
557 let old = index.resolve(sid, old_rid).unwrap();
558 let ObjectData::Properties(blob) = old.objects[&oid].data else {
559 panic!()
560 };
561 let properties = PropertySets::parse(blob).unwrap();
562 assert!(!properties.sets[0].iter().any(|p| p.id == 0x1c001c22));
563 let expected = format!("🦀 café {original}");
564 let written = onestore::replace_text(&source, sid, oid, 0..0, "🦀 café ").unwrap();
565 let after_store = Store::parse(&written).unwrap();
566 assert!(after_store.checksum_mismatches.is_empty());
567 let after = RevisionIndex::parse(&after_store).unwrap();
568 after.validate_current().unwrap();
569 let current = after
570 .resolve(sid, after.spaces[&sid].labels[&(ExGuid::default(), 1)])
571 .unwrap();
572 let ObjectData::Properties(blob) = current.objects[&oid].data else {
573 panic!()
574 };
575 let updated = PropertySets::parse(blob).unwrap();
576 assert_eq!(updated.sets[0].len(), properties.sets[0].len() + 1);
577 for property in &properties.sets[0] {
578 if property.id != 0x14001d7a {
579 assert!(updated.sets[0].iter().any(|p| p == property));
580 }
581 }
582 let encoded: Vec<_> = expected
583 .encode_utf16()
584 .chain([0])
585 .flat_map(u16::to_le_bytes)
586 .collect();
587 assert!(
588 updated.sets[0]
589 .iter()
590 .any(|p| p.id == 0x1c001c22 && p.value == Value::Bytes(&encoded))
591 );
592 assert_eq!(
593 after.resolve(sid, old_rid).unwrap().objects[&oid].data,
594 old.objects[&oid].data
595 );
596 assert_other_objects_preserved(&old, &current, oid);
597 let before = text_runs(&source, sid, oid);
598 let observed = text_runs(&written, sid, oid);
599 let mut intended = before.clone();
600 intended[0]["text"] = expected.into();
601 assert_eq!(observed, intended);
602 let disk = |fail_at, random| Disk {
603 visible: source.clone(),
604 durable: source.clone(),
605 operation: 0,
606 fail_at,
607 write_limit: 17,
608 random,
609 };
610 let mut success = disk(None, 1);
611 onestore::commit_text(&mut success, &source, sid, oid, 0..0, "🦀 café ").unwrap();
612 for at in source.len().div_ceil(193)..=success.operation {
613 for seed in [1, 42] {
614 let mut interrupted = disk(Some(at), seed);
615 let error =
616 onestore::commit_text(&mut interrupted, &source, sid, oid, 0..0, "🦀 café ")
617 .unwrap_err();
618 let actual = text_runs(&interrupted.durable, sid, oid);
619 match error.state {
620 CommitState::NotCommitted => assert_eq!(actual, before),
621 CommitState::Committed => assert_eq!(actual, observed),
622 CommitState::Unknown => assert!(actual == before || actual == observed),
623 }
624 }
625 }
626 }
627}
crates/onestore/tests/fuzz_seeds.rs created+25
...@@ -0,0 +1,25 @@
1use onestore::{Reference, Store};
2use std::{collections::BTreeSet, fs};
3
4#[test]
5#[ignore = "Generates the local fuzz corpus"]
6fn seed_property_fuzzer() {
7 let bytes =
8 fs::read("../../corpus/native/20260905-05/snapshots/07-table/notebook/synthetic.one")
9 .unwrap();
10 let store = Store::parse(&bytes).unwrap();
11 let mut seeds = BTreeSet::new();
12 for node in store.lists.values().flat_map(|list| &list.nodes) {
13 if matches!(node.id, 0xa4 | 0xa5 | 0xc4 | 0xc5)
14 && let Some(Reference::Data(chunk)) = node.reference
15 {
16 let start = usize::try_from(chunk.offset).unwrap();
17 let end = start + usize::try_from(chunk.length).unwrap();
18 seeds.insert(&bytes[start..end]);
19 }
20 }
21 fs::create_dir_all("../../fuzz/corpus/properties").unwrap();
22 for (index, seed) in seeds.iter().enumerate() {
23 fs::write(format!("../../fuzz/corpus/properties/native-{index}"), seed).unwrap();
24 }
25}
crates/onestore/tests/properties.rs created+99
...@@ -0,0 +1,99 @@
1use onestore::{IdStream, PropertySets, Reference, Store, Value};
2use std::fs;
3
4#[test]
5fn native_property_chunks_preserve_unicode_and_ascii_text() {
6 let bytes =
7 fs::read("../../corpus/native/20260905-05/snapshots/07-table/notebook/synthetic.one")
8 .unwrap();
9 let store = Store::parse(&bytes).unwrap();
10 let mut strings = Vec::new();
11 for node in store.lists.values().flat_map(|list| &list.nodes) {
12 if matches!(node.id, 0xa4 | 0xa5 | 0xc4 | 0xc5)
13 && let Some(Reference::Data(chunk)) = node.reference
14 {
15 let start = usize::try_from(chunk.offset).unwrap();
16 let end = start + usize::try_from(chunk.length).unwrap();
17 let object = PropertySets::parse(&bytes[start..end]).unwrap();
18 for property in object.sets.iter().flatten() {
19 if let Value::Bytes(data) = property.value {
20 if property.id == 0x1c001c22 {
21 let text = String::from_utf16(
22 &data
23 .chunks_exact(2)
24 .map(|pair| u16::from_le_bytes([pair[0], pair[1]]))
25 .collect::<Vec<_>>(),
26 )
27 .unwrap();
28 assert!(text.ends_with('\0'));
29 strings.push(text.trim_end_matches('\0').to_owned());
30 } else if property.id == 0x1c003498 && data.is_ascii() {
31 strings.push(String::from_utf8(data.to_vec()).unwrap());
32 }
33 }
34 }
35 }
36 }
37 for expected in [
38 "Fictitious: café, 東京, مرحبا",
39 "Fictitious positioned outline.",
40 "Left cell",
41 "Right cell",
42 ] {
43 assert!(
44 strings.iter().any(|text| text == expected),
45 "{expected}: {strings:?}"
46 );
47 }
48}
49
50#[test]
51fn property_nesting_does_not_use_the_call_stack() {
52 let mut bytes = 0x80000000_u32.to_le_bytes().to_vec();
53 for _ in 0..100_000 {
54 bytes.extend_from_slice(&1_u16.to_le_bytes());
55 bytes.extend_from_slice(&0x44000001_u32.to_le_bytes());
56 }
57 bytes.extend_from_slice(&0_u16.to_le_bytes());
58 let properties = PropertySets::parse(&bytes).unwrap();
59 assert_eq!(properties.sets.len(), 100_001);
60 drop(properties);
61}
62
63#[test]
64fn nested_sets_consume_reference_streams_in_property_order() {
65 let mut bytes = 0x80000002_u32.to_le_bytes().to_vec();
66 bytes.extend_from_slice(&0x101_u32.to_le_bytes());
67 bytes.extend_from_slice(&0x202_u32.to_le_bytes());
68 bytes.extend_from_slice(&2_u16.to_le_bytes());
69 bytes.extend_from_slice(&0x44000001_u32.to_le_bytes());
70 bytes.extend_from_slice(&0x20000002_u32.to_le_bytes());
71 bytes.extend_from_slice(&1_u16.to_le_bytes());
72 bytes.extend_from_slice(&0x20000003_u32.to_le_bytes());
73 let properties = PropertySets::parse(&bytes).unwrap();
74 assert_eq!(properties.sets[0][0].value, Value::Sets(1..2));
75 assert_eq!(
76 properties.sets[1][0].value,
77 Value::References {
78 stream: IdStream::Objects,
79 compact_ids: &0x101_u32.to_le_bytes()
80 }
81 );
82 assert_eq!(
83 properties.sets[0][1].value,
84 Value::References {
85 stream: IdStream::Objects,
86 compact_ids: &0x202_u32.to_le_bytes()
87 }
88 );
89}
90
91#[test]
92fn impossible_nested_array_sizes_are_rejected_before_allocation() {
93 let mut bytes = 0x80000000_u32.to_le_bytes().to_vec();
94 bytes.extend_from_slice(&1_u16.to_le_bytes());
95 bytes.extend_from_slice(&0x40000001_u32.to_le_bytes());
96 bytes.extend_from_slice(&u32::MAX.to_le_bytes());
97 bytes.extend_from_slice(&0x44000000_u32.to_le_bytes());
98 assert!(PropertySets::parse(&bytes).is_err());
99}
crates/onestore/tests/revisions.rs created+214
...@@ -0,0 +1,214 @@
1use onestore::{ExGuid, FileDataReference, ObjectData, PropertySets, RevisionIndex, Store, Value};
2use std::fs;
3
4const TABLE: &str = "../../corpus/native/20260905-05/snapshots/07-table/notebook/synthetic.one";
5
6#[test]
7fn native_encryption_remains_opaque() {
8 let bytes =
9 fs::read("../../corpus/native-encrypted/encrypted-01/notebook/synthetic.one").unwrap();
10 let store = Store::parse(&bytes).unwrap();
11 assert!(store.checksum_mismatches.is_empty());
12 let index = RevisionIndex::parse(&store).unwrap();
13 let mut encrypted = 0;
14 for (osid, space) in &index.spaces {
15 for (rid, revision) in &space.revisions {
16 let resolved = index.resolve(*osid, *rid).unwrap();
17 if revision.encrypted {
18 encrypted += 1;
19 assert!(
20 resolved
21 .objects
22 .values()
23 .any(|object| matches!(object.data, ObjectData::Encrypted(_)))
24 );
25 assert_eq!(
26 resolved.reachable().unwrap_err().message,
27 "Encrypted property references are unavailable"
28 );
29 }
30 }
31 }
32 assert!(encrypted > 0);
33}
34
35#[test]
36fn external_payload_names_cannot_escape_the_onefiles_directory() {
37 for (reference, valid) in [
38 ("<file>2a83ae62-6754-4383-8e2b-4033ff3cfba1.onebin", true),
39 (
40 "<file>../2a83ae62-6754-4383-8e2b-4033ff3cfba1.onebin",
41 false,
42 ),
43 (
44 "<file>C:\\2a83ae62-6754-4383-8e2b-4033ff3cfba1.onebin",
45 false,
46 ),
47 (
48 "<file>2a83ae62-6754-4383-8e2b-4033ff3cfba1.onebin:stream",
49 false,
50 ),
51 ("<ifndf>{2a83ae62-6754-4383-8e2b-4033ff3cfba1}", true),
52 ("<invfdo>", true),
53 ("<invfdo>garbage", false),
54 ] {
55 let bytes: Vec<_> = reference
56 .encode_utf16()
57 .flat_map(u16::to_le_bytes)
58 .collect();
59 let object = onestore::Object {
60 jcid: 0x80036,
61 reference_count: 1,
62 data: ObjectData::File {
63 reference: &bytes,
64 extension: &[],
65 },
66 global_ids: Default::default(),
67 };
68 assert_eq!(object.file_reference().is_ok(), valid, "{reference}");
69 }
70}
71
72#[test]
73fn active_revision_contains_current_text_and_exact_attachment_bytes() {
74 let bytes = fs::read(TABLE).unwrap();
75 let store = Store::parse(&bytes).unwrap();
76 let index = RevisionIndex::parse(&store).unwrap();
77 let mut strings = Vec::new();
78 let mut attachments = Vec::new();
79 let mut pages = 0;
80 for (osid, space) in &index.spaces {
81 let rid = space.labels[&(ExGuid::default(), 1)];
82 let revision = index.resolve(*osid, rid).unwrap();
83 for oid in revision.reachable().unwrap() {
84 let object = &revision.objects[&oid];
85 pages += usize::from(object.jcid == 0x6000b);
86 if let Some(FileDataReference::Internal(guid)) = object.file_reference().unwrap()
87 && object.jcid == 0x80036
88 {
89 attachments.push(store.file_data(guid).unwrap());
90 }
91 if object.jcid != 0x6000e {
92 continue;
93 }
94 let ObjectData::Properties(data) = object.data else {
95 panic!()
96 };
97 let props = PropertySets::parse(data).unwrap();
98 let unicode = props.sets[0]
99 .iter()
100 .find(|property| property.id == 0x1c001c22);
101 if let Some(property) = unicode {
102 let Value::Bytes(data) = property.value else {
103 panic!()
104 };
105 let text = String::from_utf16(
106 &data
107 .chunks_exact(2)
108 .map(|pair| u16::from_le_bytes([pair[0], pair[1]]))
109 .collect::<Vec<_>>(),
110 )
111 .unwrap();
112 strings.push(text.strip_suffix('\0').unwrap().to_owned());
113 } else if let Some(property) = props.sets[0]
114 .iter()
115 .find(|property| property.id == 0x1c003498)
116 {
117 let Value::Bytes(data) = property.value else {
118 panic!()
119 };
120 strings.push(String::from_utf8(data.to_vec()).unwrap());
121 }
122 }
123 }
124 strings.sort();
125 assert_eq!(
126 strings,
127 [
128 "Fictitious positioned outline.",
129 "Fictitious: café, 東京, مرحبا",
130 "Left cell",
131 "Right cell"
132 ]
133 );
134 assert_eq!(pages, 1);
135 assert_eq!(
136 attachments,
137 [fs::read("../../corpus/native/20260905-05/assets/fictitious-attachment.txt").unwrap()]
138 );
139}
140
141#[test]
142fn self_dependent_revision_is_rejected() {
143 let mut bytes = fs::read(TABLE).unwrap();
144 let store = Store::parse(&bytes).unwrap();
145 let node = store
146 .lists
147 .values()
148 .flat_map(|list| &list.nodes)
149 .find(|node| node.id == 0x1e)
150 .unwrap();
151 let start = node.payload.as_ptr().addr() - bytes.as_ptr().addr();
152 bytes.copy_within(start..start + 20, start + 20);
153 let store = Store::parse(&bytes).unwrap();
154 assert_eq!(
155 RevisionIndex::parse(&store).unwrap_err().message,
156 "Revision dependency is not an earlier revision"
157 );
158}
159
160#[test]
161fn damaged_read_only_object_is_rejected_by_its_hash() {
162 let mut bytes = fs::read(TABLE).unwrap();
163 let store = Store::parse(&bytes).unwrap();
164 let node = store
165 .lists
166 .values()
167 .flat_map(|list| &list.nodes)
168 .find(|node| node.id == 0xc4)
169 .unwrap();
170 let onestore::Reference::Data(chunk) = node.reference.unwrap() else {
171 panic!()
172 };
173 bytes[usize::try_from(chunk.offset).unwrap()] ^= 1;
174 let store = Store::parse(&bytes).unwrap();
175 let index = RevisionIndex::parse(&store).unwrap();
176 assert!(
177 index
178 .spaces
179 .iter()
180 .any(|(osid, space)| space.revisions.keys().any(|rid| {
181 index
182 .resolve(*osid, *rid)
183 .is_err_and(|error| error.message == "Read-only object checksum mismatch")
184 }))
185 );
186}
187
188#[test]
189fn reference_counts_and_graph_cycles_are_checked_independently_of_chunk_hashes() {
190 let bytes = fs::read(TABLE).unwrap();
191 let store = Store::parse(&bytes).unwrap();
192 let index = RevisionIndex::parse(&store).unwrap();
193 let space = &index.spaces[&index.root];
194 let rid = space.labels[&(ExGuid::default(), 1)];
195 let mut revision = index.resolve(index.root, rid).unwrap();
196 revision.reachable().unwrap();
197 let root = revision.roots[&1];
198 revision.objects.get_mut(&root).unwrap().reference_count += 1;
199 assert_eq!(
200 revision.reachable().unwrap_err().message,
201 "Stored object reference count disagrees with the reachable graph"
202 );
203 let mut data = 0x80000001_u32.to_le_bytes().to_vec();
204 data.extend_from_slice(&(0x100 | root.n).to_le_bytes());
205 data.extend_from_slice(&1_u16.to_le_bytes());
206 data.extend_from_slice(&0x20000001_u32.to_le_bytes());
207 let object = revision.objects.get_mut(&root).unwrap();
208 object.data = ObjectData::Properties(&data);
209 object.global_ids = std::sync::Arc::new([(1, root.guid)].into());
210 assert_eq!(
211 revision.reachable().unwrap_err().message,
212 "Object references form a cycle"
213 );
214}
crates/onestore/tests/storage.rs created+246
...@@ -0,0 +1,246 @@
1use onestore::{Chunk, FileDataReference, Reference, RevisionIndex, Store};
2use std::{fs, path::Path};
3
4const TEXT: &str = "../../corpus/native/20260905-05/snapshots/02-text/notebook/synthetic.one";
5
6#[test]
7fn native_file_data_alignment_is_relative_to_the_object() {
8 let source =
9 fs::read("../../corpus/m6/native-template-controls-01/notebook/synthetic.one").unwrap();
10 let store = Store::parse(&source).unwrap();
11 let node = store
12 .lists
13 .values()
14 .flat_map(|l| &l.nodes)
15 .find(|n| n.id == 0x94)
16 .unwrap();
17 let guid = node.payload[node.payload.len() - 16..].try_into().unwrap();
18 let Some(Reference::Data(chunk)) = node.reference else {
19 panic!("Missing native image container")
20 };
21 assert_eq!(chunk.offset % 8, 4);
22 let payload = store.file_data(guid).unwrap();
23 assert_eq!(payload.len(), 10056);
24 assert_eq!(
25 format!("{:x}", md5::compute(payload)),
26 "e1b57a8851177dd25dc05b50b904656a"
27 );
28 let blob = store.chunk_data(chunk).unwrap();
29 for alignment in 0..8 {
30 let mut bytes = source.clone();
31 let offset = bytes.len().next_multiple_of(8) + alignment;
32 bytes.resize(offset, 0);
33 bytes.extend_from_slice(blob);
34 let mut relocated = Store::parse(&bytes).unwrap();
35 let node = relocated
36 .lists
37 .values_mut()
38 .flat_map(|l| &mut l.nodes)
39 .find(|n| n.id == 0x94)
40 .unwrap();
41 node.reference = Some(Reference::Data(Chunk {
42 offset: offset as u64,
43 length: chunk.length,
44 }));
45 assert_eq!(
46 relocated.file_data(guid).unwrap(),
47 payload,
48 "alignment {alignment}"
49 );
50 }
51 let mut corrupt = source.clone();
52 corrupt[(chunk.offset + chunk.length - 1) as usize] ^= 1;
53 assert!(Store::parse(&corrupt).unwrap().file_data(guid).is_err());
54}
55
56fn files(path: &Path, result: &mut Vec<std::path::PathBuf>) {
57 for entry in fs::read_dir(path).unwrap() {
58 let path = entry.unwrap().path();
59 if path.is_dir() {
60 files(&path, result);
61 } else if path
62 .extension()
63 .is_some_and(|ext| ext == "one" || ext == "onetoc2")
64 {
65 result.push(path);
66 }
67 }
68}
69
70#[test]
71fn native_corpus_has_committed_lists_and_matching_checksums() {
72 let mut paths = Vec::new();
73 for path in [
74 "../../corpus/native",
75 "../../corpus/native-ink",
76 "../../corpus/native-delete",
77 ] {
78 files(Path::new(path), &mut paths);
79 }
80 assert!(paths.len() >= 35);
81 for path in paths {
82 let bytes = fs::read(&path).unwrap();
83 let store =
84 Store::parse(&bytes).unwrap_or_else(|error| panic!("{}: {error}", path.display()));
85 assert!(store.checksum_mismatches.is_empty(), "{}", path.display());
86 assert!(!store.lists.is_empty());
87 let index = RevisionIndex::parse(&store)
88 .unwrap_or_else(|error| panic!("{}: {error}", path.display()));
89 index
90 .validate_current()
91 .unwrap_or_else(|error| panic!("{}: {error}", path.display()));
92 for (osid, space) in &index.spaces {
93 for rid in space.revisions.keys() {
94 let revision = index
95 .resolve(*osid, *rid)
96 .unwrap_or_else(|error| panic!("{}: {error}", path.display()));
97 revision
98 .reachable()
99 .unwrap_or_else(|error| panic!("{}: {error}", path.display()));
100 for object in revision.objects.values() {
101 if let Some(FileDataReference::Internal(guid)) =
102 object.file_reference().unwrap()
103 {
104 store.file_data(guid).unwrap();
105 }
106 }
107 }
108 }
109 }
110}
111
112#[test]
113fn compressed_nil_references_are_normalized_before_scaling() {
114 let source = fs::read(TEXT).unwrap();
115 let store = Store::parse(&source).unwrap();
116 let node = store
117 .lists
118 .values()
119 .flat_map(|list| &list.nodes)
120 .find(|node| node.id == 0x84)
121 .unwrap();
122 for (format, width) in [(0_u32, 8_usize), (1, 4), (2, 2), (3, 4)] {
123 let mut bytes = source.clone();
124 let header = u32::from_le_bytes(bytes[node.offset..node.offset + 4].try_into().unwrap());
125 let changed = (header & !((3 << 23) | (3 << 25))) | (format << 23) | (2 << 25);
126 bytes[node.offset..node.offset + 4].copy_from_slice(&changed.to_le_bytes());
127 bytes[node.offset + 4..node.offset + 4 + width].fill(0xff);
128 bytes[node.offset + 4 + width] = 0;
129 let parsed = Store::parse(&bytes).unwrap();
130 let changed = parsed
131 .lists
132 .values()
133 .flat_map(|list| &list.nodes)
134 .find(|candidate| candidate.offset == node.offset)
135 .unwrap();
136 assert_eq!(
137 changed.reference,
138 Some(onestore::Reference::Data(onestore::Chunk {
139 offset: u64::MAX,
140 length: 0
141 }))
142 );
143 }
144}
145
146#[test]
147fn native_log_prefixes_define_readable_states() {
148 let mut bytes =
149 fs::read("../../corpus/native/20260905-05/snapshots/00-empty/notebook/synthetic.one")
150 .unwrap();
151 let transactions = Store::parse(&bytes).unwrap().header.transaction_count;
152 assert_eq!(transactions, 4);
153 for count in 1..=transactions {
154 bytes[96..100].copy_from_slice(&count.to_le_bytes());
155 let store =
156 Store::parse(&bytes).unwrap_or_else(|error| panic!("transaction {count}: {error}"));
157 assert!(store.checksum_mismatches.is_empty());
158 }
159}
160
161#[test]
162fn unused_links_and_tail_bytes_are_ignored() {
163 let mut bytes = fs::read(TEXT).unwrap();
164 let store = Store::parse(&bytes).unwrap();
165 let expected: Vec<_> = store
166 .lists
167 .iter()
168 .map(|(id, list)| (*id, list.nodes.len()))
169 .collect();
170 let tails: Vec<_> = store
171 .lists
172 .values()
173 .map(|list| *list.fragments.last().unwrap())
174 .collect();
175 for tail in tails {
176 let end = usize::try_from(tail.offset + tail.length).unwrap();
177 bytes[end - 20..end - 8].fill(0xfe);
178 }
179 bytes.extend_from_slice(&[0xff; 4096]);
180 let store = Store::parse(&bytes).unwrap();
181 assert_eq!(
182 store
183 .lists
184 .iter()
185 .map(|(id, list)| (*id, list.nodes.len()))
186 .collect::<Vec<_>>(),
187 expected
188 );
189}
190
191#[test]
192fn malformed_structure_is_rejected() {
193 let source = fs::read(TEXT).unwrap();
194 let root = usize::try_from(Store::parse(&source).unwrap().header.root.offset).unwrap();
195 for (offset, replacement) in [
196 (96, vec![0; 4]),
197 (160, vec![0xff; 12]),
198 (root, vec![0; 8]),
199 (root + 12, 1_u32.to_le_bytes().to_vec()),
200 (root + 16, vec![0; 4]),
201 ] {
202 let mut bytes = source.clone();
203 bytes[offset..offset + replacement.len()].copy_from_slice(&replacement);
204 assert!(Store::parse(&bytes).is_err(), "offset {offset:#x}");
205 }
206 for end in 0..1024 {
207 assert!(Store::parse(&source[..end]).is_err());
208 }
209}
210
211#[test]
212fn bit_changes_in_header_and_first_chunks_do_not_panic() {
213 let mut bytes = fs::read(TEXT).unwrap();
214 for index in 0..4096 {
215 for bit in 0..8 {
216 bytes[index] ^= 1 << bit;
217 let _ = Store::parse(&bytes);
218 bytes[index] ^= 1 << bit;
219 }
220 }
221}
222
223#[test]
224fn checksum_damage_is_reported_without_discarding_committed_content() {
225 let mut bytes = fs::read(TEXT).unwrap();
226 bytes[2060] ^= 1;
227 let store = Store::parse(&bytes).unwrap();
228 assert_eq!(store.checksum_mismatches[0], 2056);
229 assert_eq!(store.header.transaction_count, 16);
230}
231
232#[test]
233fn native_toc_continuation_excludes_the_flushed_entry_from_crc() {
234 let path = "../../corpus/m6/native-structure-01/notebook/Open Notebook.onetoc2";
235 let mut bytes = fs::read(path).unwrap();
236 let store = Store::parse(&bytes).unwrap();
237 assert_eq!(store.header.transaction_log.length, 44);
238 assert_eq!(
239 u64::from_le_bytes(bytes[0x640..0x648].try_into().unwrap()),
240 0xac4
241 );
242 assert!(store.checksum_mismatches.is_empty());
243 assert_eq!(&bytes[0xacc..0xad4], &[1, 0, 0, 0, 0x29, 0x9d, 0xf0, 0x68]);
244 bytes[0xad0] ^= 1;
245 assert_eq!(Store::parse(&bytes).unwrap().checksum_mismatches, [0xacc]);
246}
crates/onestore/tests/support/checkpoint.rs created+21
...@@ -0,0 +1,21 @@
1use onestore::{ExGuid, RevisionIndex, Store};
2
3pub fn pending(source: &[u8], sid: ExGuid, oid: ExGuid, property: u32) -> Vec<u8> {
4 let mut source = source.to_vec();
5 for value in 1_000_000_u32.. {
6 let store = Store::parse(&source).unwrap();
7 let index = RevisionIndex::parse(&store).unwrap();
8 let rid = index.spaces[&sid].labels[&(ExGuid::default(), 1)];
9 let depth =
10 std::iter::successors(Some(rid), |id| index.spaces[&sid].revisions[id].dependency)
11 .count();
12 assert!(depth <= 512);
13 if depth == 512 {
14 return source;
15 }
16 source =
17 onestore::replace_property_bytes(&source, sid, oid, property, &value.to_le_bytes())
18 .unwrap();
19 }
20 unreachable!()
21}
crates/onestore/tests/support/disk.rs created+54
...@@ -0,0 +1,54 @@
1pub struct Disk {
2 pub visible: Vec<u8>,
3 pub durable: Vec<u8>,
4 pub operation: usize,
5 pub fail_at: Option<usize>,
6 pub write_limit: usize,
7 pub random: u64,
8}
9
10impl Disk {
11 fn interrupt(&mut self) -> std::io::Result<()> {
12 self.operation += 1;
13 if self.fail_at != Some(self.operation) {
14 return Ok(());
15 }
16 self.durable.resize(self.visible.len(), 0);
17 for (durable, visible) in self.durable.iter_mut().zip(&self.visible) {
18 self.random ^= self.random << 13;
19 self.random ^= self.random >> 7;
20 self.random ^= self.random << 17;
21 if self.random & 1 != 0 {
22 *durable = *visible;
23 }
24 }
25 Err(std::io::Error::other("Injected storage interruption"))
26 }
27}
28
29impl onestore::CommitIo for Disk {
30 fn read_at(&mut self, offset: u64, bytes: &mut [u8]) -> std::io::Result<usize> {
31 self.interrupt()?;
32 let offset = offset as usize;
33 let size = bytes
34 .len()
35 .min(193)
36 .min(self.visible.len().saturating_sub(offset));
37 bytes[..size].copy_from_slice(&self.visible[offset..offset + size]);
38 Ok(size)
39 }
40 fn write_at(&mut self, offset: u64, bytes: &[u8]) -> std::io::Result<usize> {
41 let offset = offset as usize;
42 let size = bytes.len().min(self.write_limit);
43 self.visible
44 .resize(self.visible.len().max(offset + size), 0);
45 self.visible[offset..offset + size].copy_from_slice(&bytes[..size]);
46 self.interrupt()?;
47 Ok(size)
48 }
49 fn flush(&mut self) -> std::io::Result<()> {
50 self.interrupt()?;
51 self.durable.clone_from(&self.visible);
52 Ok(())
53 }
54}
crates/onestore/tests/writer.rs created+450
...@@ -0,0 +1,450 @@
1use onestore::{
2 ExGuid, ObjectData, PropertySets, RevisionIndex, Store, Value, replace_property_bytes,
3};
4use std::fs;
5
6#[test]
7fn scalar_edit_appends_a_revision_and_preserves_every_prior_object() {
8 let source =
9 fs::read("../../corpus/native/20260905-05/snapshots/02-text/notebook/synthetic.one")
10 .unwrap();
11 let store = Store::parse(&source).unwrap();
12 let index = RevisionIndex::parse(&store).unwrap();
13 let mut selected = None;
14 for (osid, space) in &index.spaces {
15 let revision = index
16 .resolve(*osid, space.labels[&(ExGuid::default(), 1)])
17 .unwrap();
18 for oid in revision.reachable().unwrap() {
19 let object = &revision.objects[&oid];
20 if let ObjectData::Properties(bytes) = object.data {
21 for property in &PropertySets::parse(bytes).unwrap().sets[0] {
22 if property.value == Value::Bytes(b"Fictitious plain text.") {
23 assert!(selected.replace((*osid, oid, property.id)).is_none());
24 }
25 }
26 }
27 }
28 }
29 let (osid, oid, property) = selected.unwrap();
30 assert_eq!(
31 replace_property_bytes(&source, osid, oid, property, b"Fictitious plain text.").unwrap(),
32 source
33 );
34 for length in 0..=40 {
35 let value = vec![b'x'; length];
36 let written = replace_property_bytes(&source, osid, oid, property, &value).unwrap();
37 assert_preserved_committed_bytes(&source, &written);
38 let parsed = Store::parse(&written).unwrap();
39 assert!(parsed.checksum_mismatches.is_empty());
40 assert_eq!(
41 parsed.header.transaction_count,
42 store.header.transaction_count + 1
43 );
44 assert_eq!(parsed.header.generation, store.header.generation + 1);
45 assert_ne!(parsed.header.deny_read_id, store.header.deny_read_id);
46 let after = RevisionIndex::parse(&parsed).unwrap();
47 after.validate_current().unwrap();
48 for (space_id, space) in &index.spaces {
49 for rid in space.revisions.keys() {
50 let before = index.resolve(*space_id, *rid).unwrap();
51 let unchanged = after.resolve(*space_id, *rid).unwrap();
52 assert_eq!(before.roots, unchanged.roots);
53 assert_eq!(before.objects.len(), unchanged.objects.len());
54 for (id, object) in before.objects {
55 let same = &unchanged.objects[&id];
56 assert_eq!(object.jcid, same.jcid);
57 assert_eq!(object.reference_count, same.reference_count);
58 assert_eq!(object.global_ids, same.global_ids);
59 assert_eq!(object.data, same.data);
60 }
61 }
62 }
63 let space = &after.spaces[&osid];
64 let active = after
65 .resolve(osid, space.labels[&(ExGuid::default(), 1)])
66 .unwrap();
67 let ObjectData::Properties(data) = active.objects[&oid].data else {
68 panic!()
69 };
70 let properties = PropertySets::parse(data).unwrap();
71 assert_eq!(
72 properties.sets[0]
73 .iter()
74 .find(|candidate| candidate.id == property)
75 .unwrap()
76 .value,
77 Value::Bytes(&value)
78 );
79 }
80}
81
82#[test]
83fn toc_color_edit_uses_its_native_revision_encoding_and_crc() {
84 let source = fs::read(
85 "../../corpus/native/20260905-05/snapshots/02-text/notebook/Open Notebook.onetoc2",
86 )
87 .unwrap();
88 let store = Store::parse(&source).unwrap();
89 let index = RevisionIndex::parse(&store).unwrap();
90 let rid = index.spaces[&index.root].labels[&(ExGuid::default(), 1)];
91 let revision = index.resolve(index.root, rid).unwrap();
92 let oid = revision.roots[&1];
93 let written =
94 replace_property_bytes(&source, index.root, oid, 0x14001cbe, &[0x33, 0x66, 0x99, 0])
95 .unwrap();
96 let after = Store::parse(&written).unwrap();
97 assert!(after.checksum_mismatches.is_empty());
98 assert_preserved_committed_bytes(&source, &written);
99 let current = RevisionIndex::parse(&after).unwrap();
100 current.validate_current().unwrap();
101 assert_eq!(
102 current.resolve(index.root, rid).unwrap().objects[&oid].data,
103 revision.objects[&oid].data
104 );
105 let active = current
106 .resolve(
107 index.root,
108 current.spaces[&index.root].labels[&(ExGuid::default(), 1)],
109 )
110 .unwrap();
111 let ObjectData::Properties(blob) = active.objects[&oid].data else {
112 panic!()
113 };
114 assert!(
115 PropertySets::parse(blob).unwrap().sets[0]
116 .iter()
117 .any(|p| p.id == 0x14001cbe && p.value == Value::Bytes(&[0x33, 0x66, 0x99, 0]))
118 );
119}
120
121#[test]
122fn fresh_section_has_unique_identities_and_exact_utf16_text() {
123 let text = "Created in Rust: café 東京 🦀";
124 let first = onestore::create_section("synthetic.one", text, "Fixture Author").unwrap();
125 let second = onestore::create_section("synthetic.one", text, "Fixture Author").unwrap();
126 let a = Store::parse(&first).unwrap();
127 let b = Store::parse(&second).unwrap();
128 assert_ne!(a.header.file_id, b.header.file_id);
129 assert!(a.checksum_mismatches.is_empty());
130 let index = RevisionIndex::parse(&a).unwrap();
131 index.validate_current().unwrap();
132 assert_eq!(index.spaces.len(), 2);
133 let expected: Vec<_> = text
134 .encode_utf16()
135 .chain([0])
136 .flat_map(u16::to_le_bytes)
137 .collect();
138 let mut found = 0;
139 for (osid, space) in &index.spaces {
140 let revision = index
141 .resolve(*osid, space.labels[&(ExGuid::default(), 1)])
142 .unwrap();
143 for oid in revision.reachable().unwrap() {
144 let object = &revision.objects[&oid];
145 if object.jcid == 0x6000e {
146 let ObjectData::Properties(data) = object.data else {
147 panic!()
148 };
149 assert!(
150 PropertySets::parse(data).unwrap().sets[0]
151 .iter()
152 .any(|p| p.id == 0x1c001c22 && p.value == Value::Bytes(&expected))
153 );
154 found += 1;
155 }
156 }
157 }
158 assert_eq!(found, 1);
159 for text in ["line\nfeed", "embedded\0nul"] {
160 assert!(onestore::create_section("a.one", text, "").is_err());
161 }
162 for name in ["a.onetoc2", "../a.one", "a\\b.one", "a\0.one"] {
163 assert!(onestore::create_section(name, "text", "").is_err());
164 }
165}
166
167#[test]
168fn malformed_creation_sequences_are_rejected_before_object_resolution() {
169 let source = onestore::create_section("a.one", "text", "").unwrap();
170 let store = Store::parse(&source).unwrap();
171 let node = store
172 .lists
173 .values()
174 .flat_map(|list| &list.nodes)
175 .find(|node| node.id == 0x84)
176 .unwrap();
177 let at = node.offset;
178 let mut damaged = source.clone();
179 let header = u32::from_le_bytes(damaged[at..at + 4].try_into().unwrap());
180 damaged[at..at + 4].copy_from_slice(&((header & !0x3ff) | 0x5a).to_le_bytes());
181 let store = Store::parse(&damaged).unwrap();
182 assert_eq!(
183 RevisionIndex::parse(&store).unwrap_err().message,
184 "Object group lacks its dependency overrides"
185 );
186 let store = Store::parse(&source).unwrap();
187 let root = store
188 .lists
189 .values()
190 .find(|list| list.nodes.iter().any(|node| node.id == 4))
191 .unwrap();
192 let selector = root.nodes.iter().find(|node| node.id == 4).unwrap();
193 let start = root.nodes[0].offset;
194 let end = selector.offset + 24;
195 let mut damaged = source.clone();
196 damaged[start..end].rotate_right(24);
197 let store = Store::parse(&damaged).unwrap();
198 assert_eq!(
199 RevisionIndex::parse(&store).unwrap_err().message,
200 "Root object space is referenced before its declaration"
201 );
202}
203
204#[test]
205fn created_toc_preserves_section_order_names_and_identities() {
206 let entries = [("second.one", [2; 16]), ("first.one", [1; 16])];
207 let bytes = onestore::create_table_of_contents("Open Notebook.onetoc2", &entries).unwrap();
208 let store = Store::parse(&bytes).unwrap();
209 assert!(store.checksum_mismatches.is_empty());
210 let index = RevisionIndex::parse(&store).unwrap();
211 index.validate_current().unwrap();
212 let revision = index
213 .resolve(
214 index.root,
215 index.spaces[&index.root].labels[&(ExGuid::default(), 1)],
216 )
217 .unwrap();
218 let root = &revision.objects[&revision.roots[&1]];
219 for (oid, (name, identity)) in root.references().unwrap().objects.iter().zip(entries) {
220 let ObjectData::Properties(data) = revision.objects[oid].data else {
221 panic!()
222 };
223 let props = PropertySets::parse(data).unwrap();
224 let expected: Vec<_> = name
225 .encode_utf16()
226 .chain([0])
227 .flat_map(u16::to_le_bytes)
228 .collect();
229 assert!(
230 props.sets[0]
231 .iter()
232 .any(|p| p.id == 0x1c001d94 && p.value == Value::Bytes(&identity))
233 );
234 assert!(
235 props.sets[0]
236 .iter()
237 .any(|p| p.id == 0x1c001d6b && p.value == Value::Bytes(&expected))
238 );
239 }
240 assert_eq!(root.references().unwrap().objects.len(), entries.len());
241 assert!(
242 onestore::create_table_of_contents(
243 "Open Notebook.onetoc2",
244 &[("same.one", [1; 16]), ("SAME.one", [2; 16])]
245 )
246 .is_err()
247 );
248 assert!(
249 onestore::create_table_of_contents(
250 "Open Notebook.onetoc2",
251 &[("a.one", [1; 16]), ("b.one", [1; 16])]
252 )
253 .is_err()
254 );
255 let empty = onestore::create_table_of_contents("Open Notebook.onetoc2", &[]).unwrap();
256 let store = Store::parse(&empty).unwrap();
257 RevisionIndex::parse(&store)
258 .unwrap()
259 .validate_current()
260 .unwrap();
261}
262
263fn assert_preserved_committed_bytes(source: &[u8], written: &[u8]) {
264 let before = Store::parse(source).unwrap();
265 let after = Store::parse(written).unwrap();
266 for node in before.lists.values().flat_map(|list| &list.nodes) {
267 let header = u32::from_le_bytes(source[node.offset..node.offset + 4].try_into().unwrap());
268 let size = ((header >> 10) & 0x1fff) as usize;
269 assert!(
270 source[node.offset..node.offset + size] == written[node.offset..node.offset + size],
271 "Committed node changed at {}",
272 node.offset
273 );
274 if let Some(onestore::Reference::Data(chunk)) = node.reference
275 && chunk.length > 0
276 {
277 assert_eq!(
278 before.chunk_data(chunk).unwrap(),
279 after.chunk_data(chunk).unwrap()
280 );
281 }
282 }
283 let mut uncommitted = written.to_vec();
284 uncommitted[..1024].copy_from_slice(&source[..1024]);
285 let old = Store::parse(&uncommitted).unwrap();
286 assert!(old.checksum_mismatches.is_empty());
287 RevisionIndex::parse(&old)
288 .unwrap()
289 .validate_current()
290 .unwrap();
291}
292
293#[test]
294fn toc_writes_cross_fragment_and_counter_boundaries_without_crc_drift() {
295 let mut bytes =
296 fs::read("../../corpus/m6/native-structure-01/notebook/Open Notebook.onetoc2").unwrap();
297 for i in 0_u32..260 {
298 let store = Store::parse(&bytes).unwrap();
299 assert!(store.checksum_mismatches.is_empty(), "edit {i}");
300 let index = RevisionIndex::parse(&store).unwrap();
301 let root = index.root;
302 let revision = index
303 .resolve(root, index.spaces[&root].labels[&(ExGuid::default(), 1)])
304 .unwrap();
305 let oid = revision.roots[&1];
306 let written =
307 replace_property_bytes(&bytes, root, oid, 0x14001cbe, &i.to_le_bytes()).unwrap();
308 assert_preserved_committed_bytes(&bytes, &written);
309 bytes = written;
310 }
311 let store = Store::parse(&bytes).unwrap();
312 assert!(store.checksum_mismatches.is_empty());
313 assert!(store.header.transaction_count >= 262);
314}
315
316#[test]
317fn checkpoints_bound_dependencies_and_preserve_native_objects_and_history() {
318 for (path, section) in [
319 (
320 "../../corpus/native/20260905-05/snapshots/06-attachment/notebook/synthetic.one",
321 true,
322 ),
323 (
324 "../../corpus/m6/native-structure-01/notebook/Open Notebook.onetoc2",
325 false,
326 ),
327 ] {
328 let mut bytes = fs::read(path).unwrap();
329 let initial = Store::parse(&bytes).unwrap();
330 let index = RevisionIndex::parse(&initial).unwrap();
331 let mut candidates = Vec::new();
332 for (sid, space) in &index.spaces {
333 let revision = index
334 .resolve(*sid, space.labels[&(ExGuid::default(), 1)])
335 .unwrap();
336 for oid in revision.reachable().unwrap() {
337 let object = &revision.objects[&oid];
338 if object.jcid != if section { 0x6000e } else { 0x20001 } {
339 continue;
340 }
341 let ObjectData::Properties(blob) = object.data else {
342 panic!()
343 };
344 let property = if section { 0x14001d7a } else { 0x14001cbe };
345 if PropertySets::parse(blob).unwrap().sets[0]
346 .iter()
347 .any(|p| p.id == property)
348 {
349 candidates.push((*sid, oid, property));
350 }
351 }
352 }
353 assert!(!candidates.is_empty());
354 let sid = candidates[0].0;
355 candidates.retain(|candidate| candidate.0 == sid);
356 if section {
357 let revision = index
358 .resolve(sid, index.spaces[&sid].labels[&(ExGuid::default(), 1)])
359 .unwrap();
360 assert!(
361 revision
362 .objects
363 .values()
364 .any(|o| matches!(o.data, ObjectData::File { .. }))
365 );
366 assert!(revision.objects.values().any(|o| o.jcid & 0x100000 != 0));
367 }
368 let mut checkpoints = 0;
369 for operation in 0_u32..1025 {
370 let (_, oid, property) = candidates[operation as usize % candidates.len()];
371 let store = Store::parse(&bytes).unwrap();
372 let before = RevisionIndex::parse(&store).unwrap();
373 let rid = before.spaces[&sid].labels[&(ExGuid::default(), 1)];
374 let value = (1_000_000 + operation).to_le_bytes();
375 let written = replace_property_bytes(&bytes, sid, oid, property, &value).unwrap();
376 let updated = Store::parse(&written).unwrap();
377 assert!(updated.checksum_mismatches.is_empty());
378 assert_eq!(
379 updated.header.transaction_count,
380 store.header.transaction_count + 1
381 );
382 let after = RevisionIndex::parse(&updated).unwrap();
383 after.validate_current().unwrap();
384 let next = after.spaces[&sid].labels[&(ExGuid::default(), 1)];
385 let depth =
386 std::iter::successors(Some(next), |id| after.spaces[&sid].revisions[id].dependency)
387 .count();
388 assert!(depth <= 512);
389 if after.spaces[&sid].revisions[&next].dependency.is_none() {
390 checkpoints += 1;
391 assert_preserved_committed_bytes(&bytes, &written);
392 let old = before.resolve(sid, rid).unwrap();
393 let current = after.resolve(sid, next).unwrap();
394 assert_eq!(old.roots, current.roots);
395 assert_eq!(old.objects.len(), current.objects.len());
396 for (id, object) in &old.objects {
397 let same = &current.objects[id];
398 assert_eq!(object.jcid, same.jcid);
399 assert_eq!(object.reference_count, same.reference_count);
400 let a = object.references().unwrap();
401 let b = same.references().unwrap();
402 assert_eq!(a.objects, b.objects);
403 assert_eq!(a.object_spaces, b.object_spaces);
404 assert_eq!(a.contexts, b.contexts);
405 if section {
406 assert_eq!(object.global_ids, same.global_ids);
407 if *id != oid {
408 assert_eq!(object.data, same.data);
409 }
410 }
411 if let (ObjectData::Properties(a), ObjectData::Properties(b)) =
412 (object.data, same.data)
413 {
414 let a = PropertySets::parse(a).unwrap();
415 let b = PropertySets::parse(b).unwrap();
416 assert_eq!(a.sets.len(), b.sets.len());
417 for (a, b) in a.sets.iter().zip(&b.sets) {
418 assert_eq!(a.len(), b.len());
419 for (a, b) in a.iter().zip(b) {
420 assert_eq!(a.id, b.id);
421 if *id == oid && a.id == property {
422 assert_eq!(b.value, Value::Bytes(&value));
423 } else if !matches!(a.value, Value::References { .. }) {
424 assert_eq!(a.value, b.value);
425 }
426 }
427 }
428 }
429 }
430 for (space_id, space) in &before.spaces {
431 for previous in space.revisions.keys() {
432 let old = before.resolve(*space_id, *previous).unwrap();
433 let preserved = after.resolve(*space_id, *previous).unwrap();
434 assert_eq!(old.roots, preserved.roots);
435 assert_eq!(old.objects.len(), preserved.objects.len());
436 for (id, object) in old.objects {
437 let same = &preserved.objects[&id];
438 assert_eq!(object.jcid, same.jcid);
439 assert_eq!(object.reference_count, same.reference_count);
440 assert_eq!(object.global_ids, same.global_ids);
441 assert_eq!(object.data, same.data);
442 }
443 }
444 }
445 }
446 bytes = written;
447 }
448 assert_eq!(checkpoints, 2, "{path}");
449 }
450}
fuzz/Cargo.lock created+196
...@@ -0,0 +1,196 @@
1# This file is automatically @generated by Cargo.
2# It is not intended for manual editing.
3version = 4
4
5[[package]]
6name = "arbitrary"
7version = "1.4.2"
8source = "registry+https://github.com/rust-lang/crates.io-index"
9checksum = "c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1"
10
11[[package]]
12name = "bitflags"
13version = "2.13.1"
14source = "registry+https://github.com/rust-lang/crates.io-index"
15checksum = "b588b76d00fde79687d7646a9b5bdf3cc0f655e0bbd080335a95d7e96f3587da"
16
17[[package]]
18name = "cc"
19version = "1.4.5"
20source = "registry+https://github.com/rust-lang/crates.io-index"
21checksum = "005ec2760ca554fae18df7a11195552ec576cd665632a881bc011d5bb2fd4d80"
22dependencies = [
23 "find-msvc-tools",
24 "jobserver",
25 "libc",
26 "shlex",
27]
28
29[[package]]
30name = "cfg-if"
31version = "1.0.4"
32source = "registry+https://github.com/rust-lang/crates.io-index"
33checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
34
35[[package]]
36name = "cfg_aliases"
37version = "0.2.2"
38source = "registry+https://github.com/rust-lang/crates.io-index"
39checksum = "f079e83a288787bcd14a6aea84cee5c87a67c5a3e660c30f557a3d24761b3527"
40
41[[package]]
42name = "find-msvc-tools"
43version = "0.1.12"
44source = "registry+https://github.com/rust-lang/crates.io-index"
45checksum = "3e0f1c7c3a72c66fd80abe965175f7523475c0489a87d3ff9d6e8c87d87a9d2d"
46
47[[package]]
48name = "getrandom"
49version = "0.4.3"
50source = "registry+https://github.com/rust-lang/crates.io-index"
51checksum = "300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099"
52dependencies = [
53 "cfg-if",
54 "libc",
55 "r-efi",
56]
57
58[[package]]
59name = "jobserver"
60version = "0.1.35"
61source = "registry+https://github.com/rust-lang/crates.io-index"
62checksum = "1c00acbd29eabad4a2392fa0e921c874934dbbf4194312ad20f04a0ed67a3cb3"
63dependencies = [
64 "getrandom",
65 "libc",
66]
67
68[[package]]
69name = "libc"
70version = "0.2.189"
71source = "registry+https://github.com/rust-lang/crates.io-index"
72checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2"
73
74[[package]]
75name = "libfuzzer-sys"
76version = "0.4.13"
77source = "registry+https://github.com/rust-lang/crates.io-index"
78checksum = "a9fd2f41a1cba099f79a0b6b6c35656cf7c03351a7bae8ff0f28f25270f929d2"
79dependencies = [
80 "arbitrary",
81 "cc",
82]
83
84[[package]]
85name = "md5"
86version = "0.8.1"
87source = "registry+https://github.com/rust-lang/crates.io-index"
88checksum = "7ebb8d8732c6a6df3d8f032a82911cfc747e00efb95cc46e8d0acd5b5b88570c"
89
90[[package]]
91name = "nix"
92version = "0.31.3"
93source = "registry+https://github.com/rust-lang/crates.io-index"
94checksum = "cf20d2fde8ff38632c426f1165ed7436270b44f199fc55284c38276f9db47c3d"
95dependencies = [
96 "bitflags",
97 "cfg-if",
98 "cfg_aliases",
99 "libc",
100]
101
102[[package]]
103name = "onestore"
104version = "0.1.0"
105dependencies = [
106 "getrandom",
107 "md5",
108 "nix",
109 "serde",
110]
111
112[[package]]
113name = "onestore-fuzz"
114version = "0.0.0"
115dependencies = [
116 "libfuzzer-sys",
117 "md5",
118 "onestore",
119]
120
121[[package]]
122name = "proc-macro2"
123version = "1.0.107"
124source = "registry+https://github.com/rust-lang/crates.io-index"
125checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9"
126dependencies = [
127 "unicode-ident",
128]
129
130[[package]]
131name = "quote"
132version = "1.0.47"
133source = "registry+https://github.com/rust-lang/crates.io-index"
134checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001"
135dependencies = [
136 "proc-macro2",
137]
138
139[[package]]
140name = "r-efi"
141version = "6.0.0"
142source = "registry+https://github.com/rust-lang/crates.io-index"
143checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf"
144
145[[package]]
146name = "serde"
147version = "1.0.229"
148source = "registry+https://github.com/rust-lang/crates.io-index"
149checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba"
150dependencies = [
151 "serde_core",
152 "serde_derive",
153]
154
155[[package]]
156name = "serde_core"
157version = "1.0.229"
158source = "registry+https://github.com/rust-lang/crates.io-index"
159checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48"
160dependencies = [
161 "serde_derive",
162]
163
164[[package]]
165name = "serde_derive"
166version = "1.0.229"
167source = "registry+https://github.com/rust-lang/crates.io-index"
168checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348"
169dependencies = [
170 "proc-macro2",
171 "quote",
172 "syn",
173]
174
175[[package]]
176name = "shlex"
177version = "2.0.1"
178source = "registry+https://github.com/rust-lang/crates.io-index"
179checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba"
180
181[[package]]
182name = "syn"
183version = "3.0.5"
184source = "registry+https://github.com/rust-lang/crates.io-index"
185checksum = "12df2e0110f65b775f769bb17ef989067a1d931b2eb822bd4346631eeada89f9"
186dependencies = [
187 "proc-macro2",
188 "quote",
189 "unicode-ident",
190]
191
192[[package]]
193name = "unicode-ident"
194version = "1.0.24"
195source = "registry+https://github.com/rust-lang/crates.io-index"
196checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
fuzz/Cargo.toml created+71
...@@ -0,0 +1,71 @@
1[package]
2name = "onestore-fuzz"
3version = "0.0.0"
4edition = "2024"
5publish = false
6
7[package.metadata]
8cargo-fuzz = true
9
10[dependencies]
11libfuzzer-sys = "0.4"
12onestore = { path = "../crates/onestore" }
13md5 = "0.8.1"
14
15[[bin]]
16name = "store"
17path = "fuzz_targets/store.rs"
18test = false
19doc = false
20bench = false
21
22[workspace]
23
24[[bin]]
25name = "properties"
26path = "fuzz_targets/properties.rs"
27test = false
28doc = false
29bench = false
30
31[[bin]]
32name = "revisions"
33path = "fuzz_targets/revisions.rs"
34test = false
35doc = false
36bench = false
37
38[[bin]]
39name = "write_scalar"
40path = "fuzz_targets/write_scalar.rs"
41test = false
42doc = false
43bench = false
44
45[[bin]]
46name = "create"
47path = "fuzz_targets/create.rs"
48test = false
49doc = false
50bench = false
51
52[[bin]]
53name = "commit"
54path = "fuzz_targets/commit.rs"
55test = false
56doc = false
57bench = false
58
59[[bin]]
60name = "document"
61path = "fuzz_targets/document.rs"
62test = false
63doc = false
64bench = false
65
66[[bin]]
67name = "edit_text"
68path = "fuzz_targets/edit_text.rs"
69test = false
70doc = false
71bench = false
fuzz/fuzz_targets/commit.rs created+89
...@@ -0,0 +1,89 @@
1#![no_main]
2use libfuzzer_sys::fuzz_target;
3use onestore::{CommitState, ExGuid, ObjectData, PropertySets, RevisionIndex, Store, Value};
4use std::sync::LazyLock;
5
6#[path = "../../crates/onestore/tests/support/disk.rs"]
7mod disk;
8use disk::Disk;
9
10const SOURCES: [&[u8]; 2] = [
11 include_bytes!("../../corpus/native/20260905-05/snapshots/02-text/notebook/synthetic.one"),
12 include_bytes!("../../corpus/append/round-01/tx-255/notebook/synthetic.one"),
13];
14static TARGET: LazyLock<(ExGuid, ExGuid, u32)> = LazyLock::new(|| {
15 let store = Store::parse(SOURCES[0]).unwrap();
16 let index = RevisionIndex::parse(&store).unwrap();
17 for (osid, space) in &index.spaces {
18 let revision = index
19 .resolve(*osid, space.labels[&(ExGuid::default(), 1)])
20 .unwrap();
21 for (oid, object) in revision.objects {
22 if let ObjectData::Properties(blob) = object.data {
23 for property in &PropertySets::parse(blob).unwrap().sets[0] {
24 if property.value == Value::Bytes(b"Fictitious plain text.") {
25 return (*osid, oid, property.id);
26 }
27 }
28 }
29 }
30 }
31 panic!("Missing native seed property")
32});
33
34fn current(bytes: &[u8]) -> Vec<u8> {
35 let store = Store::parse(bytes).unwrap();
36 assert!(store.checksum_mismatches.is_empty());
37 let index = RevisionIndex::parse(&store).unwrap();
38 index.validate_current().unwrap();
39 let (osid, oid, property) = *TARGET;
40 let revision = index
41 .resolve(osid, index.spaces[&osid].labels[&(ExGuid::default(), 1)])
42 .unwrap();
43 let ObjectData::Properties(blob) = revision.objects[&oid].data else {
44 panic!()
45 };
46 let properties = PropertySets::parse(blob).unwrap();
47 let Value::Bytes(value) = properties.sets[0]
48 .iter()
49 .find(|p| p.id == property)
50 .unwrap()
51 .value
52 else {
53 panic!()
54 };
55 value.to_vec()
56}
57
58fuzz_target!(|input: &[u8]| {
59 if input.len() < 12 {
60 return;
61 }
62 let mut source = SOURCES[usize::from(input[0].is_multiple_of(4))].to_vec();
63 let (osid, oid, property) = *TARGET;
64 for step in 0..=input[1] % 4 {
65 let mut value = input[12..].to_vec();
66 value.push(step);
67 let before = current(&source);
68 let mut storage = Disk {
69 visible: source.clone(),
70 durable: source.clone(),
71 operation: 0,
72 fail_at: Some(usize::from(u16::from_le_bytes([input[2], input[3]]))),
73 write_limit: usize::from(input[4]) + 1,
74 random: u64::from_le_bytes(input[4..12].try_into().unwrap()),
75 };
76 let result =
77 onestore::commit_property_bytes(&mut storage, &source, osid, oid, property, &value);
78 let persisted = current(&storage.durable);
79 match result {
80 Ok(()) => assert_eq!(persisted, value),
81 Err(error) => match error.state {
82 CommitState::NotCommitted => assert_eq!(persisted, before),
83 CommitState::Committed => assert_eq!(persisted, value),
84 CommitState::Unknown => assert!(persisted == before || persisted == value),
85 },
86 }
87 source = storage.durable;
88 }
89});
fuzz/fuzz_targets/create.rs created+72
...@@ -0,0 +1,72 @@
1#![no_main]
2use libfuzzer_sys::fuzz_target;
3use onestore::{ExGuid, ObjectData, PropertySets, RevisionIndex, Store, Value, create_section};
4fuzz_target!(|input: &[u8]| {
5 let count = input.first().copied().unwrap_or(0) as usize % 32;
6 let entries: Vec<_> = (0..count)
7 .map(|i| (format!("section-{i}.one"), [i as u8 + 1; 16]))
8 .collect();
9 let sections: Vec<_> = entries
10 .iter()
11 .map(|(name, id)| (name.as_str(), *id))
12 .collect();
13 let toc = onestore::create_table_of_contents("Open Notebook.onetoc2", &sections).unwrap();
14 let store = Store::parse(&toc).unwrap();
15 assert!(store.checksum_mismatches.is_empty());
16 let index = RevisionIndex::parse(&store).unwrap();
17 index.validate_current().unwrap();
18 let revision = index
19 .resolve(
20 index.root,
21 index.spaces[&index.root].labels[&(ExGuid::default(), 1)],
22 )
23 .unwrap();
24 assert_eq!(
25 revision.objects[&revision.roots[&1]]
26 .references()
27 .unwrap()
28 .objects
29 .len(),
30 count
31 );
32 let Ok(text) = std::str::from_utf8(input) else {
33 return;
34 };
35 let result = create_section("synthetic.one", text, "Fuzz author");
36 if text.contains(['\0', '\n']) {
37 assert!(result.is_err());
38 return;
39 }
40 let bytes = result.unwrap();
41 let store = Store::parse(&bytes).unwrap();
42 assert!(store.checksum_mismatches.is_empty());
43 let index = RevisionIndex::parse(&store).unwrap();
44 index.validate_current().unwrap();
45 let expected: Vec<_> = text
46 .encode_utf16()
47 .chain([0])
48 .flat_map(u16::to_le_bytes)
49 .collect();
50 let mut found = 0;
51 for (osid, space) in &index.spaces {
52 let revision = index
53 .resolve(*osid, space.labels[&(ExGuid::default(), 1)])
54 .unwrap();
55 for object in revision
56 .objects
57 .values()
58 .filter(|object| object.jcid == 0x6000e)
59 {
60 let ObjectData::Properties(data) = object.data else {
61 panic!()
62 };
63 assert!(
64 PropertySets::parse(data).unwrap().sets[0]
65 .iter()
66 .any(|p| p.id == 0x1c001c22 && p.value == Value::Bytes(&expected))
67 );
68 found += 1;
69 }
70 }
71 assert_eq!(found, 1);
72});
fuzz/fuzz_targets/document.rs created+100
...@@ -0,0 +1,100 @@
1#![no_main]
2use libfuzzer_sys::fuzz_target;
3use onestore::{ObjectData, Reference, RevisionIndex, Store, document::Document};
4use std::sync::LazyLock;
5
6static SOURCES: LazyLock<Vec<Vec<u8>>> = LazyLock::new(|| {
7 let mut sources = vec![
8 include_bytes!("../../corpus/append/round-01/complex/notebook/synthetic.one").to_vec(),
9 include_bytes!("../../corpus/m6/native-probes-01/notebook/synthetic.one").to_vec(),
10 include_bytes!("../../corpus/m6/native-structure-01/notebook/synthetic.one").to_vec(),
11 include_bytes!("../../corpus/m6/native-features-01/notebook/Features.one").to_vec(),
12 include_bytes!("../../corpus/m6/native-template-controls-01/notebook/synthetic.one")
13 .to_vec(),
14 include_bytes!("../../corpus/m6/native-break-controls-02/notebook/synthetic.one").to_vec(),
15 include_bytes!("../../corpus/m6/native-empty-link-01/notebook/synthetic.one").to_vec(),
16 include_bytes!("../../corpus/m6/native-origin-controls-01/input/notebook/synthetic.one")
17 .to_vec(),
18 include_bytes!("../../corpus/m6/native-page-direction-03/notebook/synthetic.one").to_vec(),
19 include_bytes!("../../corpus/m6/native-math-01/notebook/synthetic.one").to_vec(),
20 include_bytes!("../../corpus/collaboration/round-01/offline/notebook/synthetic.one")
21 .to_vec(),
22 ];
23 if let Some(paths) = std::env::var_os("ONESTORE_DOCUMENT_SEEDS") {
24 sources.extend(std::env::split_paths(&paths).map(|path| std::fs::read(path).unwrap()));
25 }
26 sources
27});
28static RANGES: LazyLock<Vec<(usize, std::ops::Range<usize>, Vec<usize>)>> = LazyLock::new(|| {
29 let mut ranges = Vec::new();
30 for (source_index, source) in SOURCES.iter().enumerate() {
31 let store = Store::parse(source).unwrap();
32 let index = RevisionIndex::parse(&store).unwrap();
33 let document = Document::parse(&index).unwrap();
34 for (sid, space) in &document.spaces {
35 for rid in space.revisions.keys() {
36 let revision = index.resolve(*sid, *rid).unwrap();
37 for oid in revision.reachable().unwrap() {
38 let object = &revision.objects[&oid];
39 if let ObjectData::Properties(bytes) = object.data {
40 let start = bytes.as_ptr().addr() - source.as_ptr().addr();
41 let hashes = store
42 .lists
43 .values()
44 .flat_map(|list| &list.nodes)
45 .filter_map(|node| {
46 if matches!(node.id, 0xc2 | 0xc4 | 0xc5)
47 && let Some(Reference::Data(chunk)) = node.reference
48 && chunk.offset == start as u64
49 && chunk.length == bytes.len() as u64
50 {
51 Some(
52 node.payload.as_ptr().addr() - source.as_ptr().addr()
53 + node.payload.len()
54 - 16,
55 )
56 } else {
57 None
58 }
59 })
60 .collect();
61 if !ranges.iter().any(|(s, r, _)| {
62 *s == source_index && *r == (start..start + bytes.len())
63 }) {
64 ranges.push((source_index, start..start + bytes.len(), hashes));
65 }
66 }
67 }
68 }
69 }
70 }
71 ranges
72});
73
74fuzz_target!(|data: &[u8]| {
75 if data.len() < 4 {
76 return;
77 }
78 let (source, range, hashes) =
79 &RANGES[usize::from(u16::from_le_bytes([data[0], data[1]])) % RANGES.len()];
80 let offset = usize::from(u16::from_le_bytes([data[2], data[3]])) % range.len();
81 let mut bytes = SOURCES[*source].to_vec();
82 let size = (range.len() - offset).min(data.len() - 4);
83 bytes[range.start + offset..range.start + offset + size].copy_from_slice(&data[4..4 + size]);
84 let digest = md5::compute(&bytes[range.clone()]).0;
85 for offset in hashes {
86 bytes[*offset..*offset + 16].copy_from_slice(&digest);
87 }
88 let store = Store::parse(&bytes).unwrap();
89 if let Ok(index) = RevisionIndex::parse(&store) {
90 if let Ok(document) = Document::parse(&index) {
91 for space in document.spaces.values().flat_map(|s| s.revisions.values()) {
92 for (id, node) in &space.nodes {
93 if matches!(node.kind, onestore::document::Kind::RichText { .. }) {
94 let _ = space.text_runs(*id);
95 }
96 }
97 }
98 }
99 }
100});
fuzz/fuzz_targets/edit_text.rs created+186
...@@ -0,0 +1,186 @@
1#![no_main]
2use libfuzzer_sys::fuzz_target;
3use onestore::{
4 CommitState, ExGuid, RevisionIndex, Store,
5 document::{Document, Kind},
6};
7use std::sync::LazyLock;
8
9#[path = "../../crates/onestore/tests/support/checkpoint.rs"]
10mod checkpoint;
11#[path = "../../crates/onestore/tests/support/disk.rs"]
12mod disk;
13use disk::Disk;
14
15const SOURCE: &[u8] = include_bytes!(
16 "../../corpus/native/20260905-05/snapshots/03-format-unicode/notebook/synthetic.one"
17);
18static CASES: LazyLock<[(Vec<u8>, ExGuid, ExGuid); 7]> = LazyLock::new(|| {
19 let fixtures: [(&[u8], &str); 6] = [
20 (SOURCE, "Fictitious"),
21 (
22 include_bytes!(
23 "../../corpus/native/20260905-05/snapshots/02-text/notebook/synthetic.one"
24 ),
25 "Fictitious",
26 ),
27 (
28 include_bytes!("../../corpus/m6/native-empty-link-01/notebook/synthetic.one"),
29 "",
30 ),
31 (
32 include_bytes!("../../corpus/m6/native-structure-01/notebook/synthetic.one"),
33 "Native feature probes",
34 ),
35 (
36 include_bytes!("../../corpus/m7/automatic-titles/widths-and-limits.one"),
37 "Right narrow.",
38 ),
39 (
40 include_bytes!("../../corpus/m7/automatic-titles/widths-and-limits.one"),
41 "Left wide.",
42 ),
43 ];
44 let [ordinary, legacy, empty, title, rtl_title, rtl_body] = fixtures.map(|(source, prefix)| {
45 let store = Store::parse(source).unwrap();
46 let index = RevisionIndex::parse(&store).unwrap();
47 let document = Document::parse(&index).unwrap();
48 for (sid, space) in &document.spaces {
49 let revision = &space.revisions[&space.contexts[&ExGuid::default()]];
50 for (oid, node) in &revision.nodes {
51 if matches!(&node.kind, Kind::RichText { text, boilerplate: false, .. }
52 if if prefix.is_empty() { text.is_empty() } else { text.starts_with(prefix) })
53 {
54 return (source.to_vec(), *sid, *oid);
55 }
56 }
57 }
58 panic!("Missing text fixture")
59 });
60 let checkpoint = (
61 checkpoint::pending(&ordinary.0, ordinary.1, ordinary.2, 0x14001d7a),
62 ordinary.1,
63 ordinary.2,
64 );
65 [
66 ordinary, legacy, empty, checkpoint, title, rtl_title, rtl_body,
67 ]
68});
69
70fn characters(source: &[u8], sid: ExGuid, oid: ExGuid) -> Vec<(char, String)> {
71 let store = Store::parse(source).unwrap();
72 assert!(store.checksum_mismatches.is_empty());
73 let index = RevisionIndex::parse(&store).unwrap();
74 index.validate_current().unwrap();
75 let document = Document::parse(&index).unwrap();
76 let space = &document.spaces[&sid];
77 let revision = &space.revisions[&space.contexts[&ExGuid::default()]];
78 let node = &revision.nodes[&oid];
79 if node.extra[0].iter().any(|field| field.id == 0x88001cb4) {
80 let Kind::RichText { text, .. } = &node.kind else {
81 panic!()
82 };
83 let text = text.trim_start().split('\r').next().unwrap();
84 let Kind::Metadata { title, .. } = &revision.nodes[&revision.roots[&2]].kind else {
85 panic!()
86 };
87 let pages: Vec<_> = document
88 .pages()
89 .unwrap()
90 .into_iter()
91 .filter(|(id, _)| *id == sid)
92 .collect();
93 let [(_, page)] = pages.as_slice() else {
94 panic!()
95 };
96 let Kind::Page {
97 alternate_title, ..
98 } = &revision.nodes[page].kind
99 else {
100 panic!()
101 };
102 assert_eq!(
103 title.as_deref().unwrap(),
104 if text.is_empty() {
105 alternate_title.as_deref().unwrap_or("")
106 } else {
107 text
108 }
109 );
110 if !text.is_empty() {
111 assert!(alternate_title.as_deref().unwrap_or("").is_empty());
112 }
113 }
114 let runs = revision.text_runs(oid).unwrap();
115 let mut characters: Vec<_> = runs
116 .iter()
117 .flat_map(|run| {
118 run.text
119 .chars()
120 .map(move |c| (c, format!("{:?}", run.format)))
121 })
122 .collect();
123 // The terminal marker retains insertion formatting when the final run is empty.
124 characters.push(('\0', format!("{:?}", runs.last().unwrap().format)));
125 characters
126}
127
128fuzz_target!(|input: &[u8]| {
129 let (source, sid, oid) = &CASES[usize::from(input.last().copied().unwrap_or(0)) % CASES.len()];
130 let (sid, oid) = (*sid, *oid);
131 let mut persisted_source = source.clone();
132 let mut caches = std::array::from_fn::<_, 6, _>(|_| source.clone());
133 for step in input.chunks_exact(8).take(16) {
134 let actor = usize::from(step[6]) % caches.len();
135 if step[7] % 3 == 0 {
136 caches[actor].clone_from(&persisted_source);
137 continue;
138 }
139 let source = &caches[actor];
140 let current = characters(&persisted_source, sid, oid);
141 let before = characters(source, sid, oid);
142 let a = usize::from(step[0]) % before.len();
143 let b = usize::from(step[1]) % before.len();
144 let start = a.min(b);
145 let end = a.max(b);
146 let offset = before[..start]
147 .iter()
148 .map(|(c, _)| c.len_utf16() as u32)
149 .sum::<u32>();
150 let removed = before[start..end]
151 .iter()
152 .map(|(c, _)| c.len_utf16() as u32)
153 .sum::<u32>();
154 let replacement = ["", "a", "🦀e\u{301}", "日本語", "\n", "\0"][usize::from(step[2]) % 6];
155 let mut expected = before.clone();
156 let format = before[start].1.clone();
157 expected.splice(start..end, replacement.chars().map(|c| (c, format.clone())));
158 let mut storage = Disk {
159 visible: persisted_source.clone(),
160 durable: persisted_source.clone(),
161 operation: 0,
162 fail_at: (step[3] & 1 != 0)
163 .then_some(source.len().div_ceil(193) + usize::from(step[4]) + 1),
164 write_limit: usize::from(step[5]) + 1,
165 random: u64::from_le_bytes(step.try_into().unwrap()),
166 };
167 let result = onestore::commit_text(
168 &mut storage,
169 source,
170 sid,
171 oid,
172 offset..offset + removed,
173 replacement,
174 );
175 let persisted = characters(&storage.durable, sid, oid);
176 match result {
177 Ok(()) => assert_eq!(persisted, expected),
178 Err(error) => match error.state {
179 CommitState::NotCommitted => assert_eq!(persisted, current),
180 CommitState::Committed => assert_eq!(persisted, expected),
181 CommitState::Unknown => assert!(persisted == current || persisted == expected),
182 },
183 }
184 persisted_source = storage.durable;
185 }
186});
fuzz/fuzz_targets/properties.rs created+7
...@@ -0,0 +1,7 @@
1#![no_main]
2
3use libfuzzer_sys::fuzz_target;
4
5fuzz_target!(|data: &[u8]| {
6 let _ = onestore::PropertySets::parse(data);
7});
fuzz/fuzz_targets/revisions.rs created+12
...@@ -0,0 +1,12 @@
1#![no_main]
2use libfuzzer_sys::fuzz_target;
3use onestore::{RevisionIndex, Store};
4
5fuzz_target!(|data: &[u8]| {
6 if let Ok(store) = Store::parse(data)
7 && let Ok(index) = RevisionIndex::parse(&store)
8 {
9 let _ = index.validate_current();
10 let _ = onestore::document::Document::parse(&index);
11 }
12});
fuzz/fuzz_targets/store.rs created+7
...@@ -0,0 +1,7 @@
1#![no_main]
2
3use libfuzzer_sys::fuzz_target;
4
5fuzz_target!(|data: &[u8]| {
6 let _ = onestore::Store::parse(data);
7});
fuzz/fuzz_targets/write_scalar.rs created+58
...@@ -0,0 +1,58 @@
1#![no_main]
2use libfuzzer_sys::fuzz_target;
3use onestore::{
4 ExGuid, ObjectData, PropertySets, RevisionIndex, Store, Value, replace_property_bytes,
5};
6use std::sync::LazyLock;
7
8const SOURCE: &[u8] =
9 include_bytes!("../../corpus/native/20260905-05/snapshots/02-text/notebook/synthetic.one");
10static TARGET: LazyLock<(ExGuid, ExGuid, u32)> = LazyLock::new(|| {
11 let store = Store::parse(SOURCE).unwrap();
12 let index = RevisionIndex::parse(&store).unwrap();
13 for (osid, space) in &index.spaces {
14 let revision = index
15 .resolve(*osid, space.labels[&(ExGuid::default(), 1)])
16 .unwrap();
17 for (oid, object) in revision.objects {
18 if let ObjectData::Properties(data) = object.data {
19 for property in &PropertySets::parse(data).unwrap().sets[0] {
20 if property.value == Value::Bytes(b"Fictitious plain text.") {
21 return (*osid, oid, property.id);
22 }
23 }
24 }
25 }
26 }
27 panic!("Missing native seed property")
28});
29
30fuzz_target!(|value: &[u8]| {
31 let (osid, oid, property) = *TARGET;
32 let bytes = replace_property_bytes(SOURCE, osid, oid, property, value).unwrap();
33 let mut before_commit = bytes.clone();
34 before_commit[..1024].copy_from_slice(&SOURCE[..1024]);
35 let old = Store::parse(&before_commit).unwrap();
36 assert!(old.checksum_mismatches.is_empty());
37 RevisionIndex::parse(&old)
38 .unwrap()
39 .validate_current()
40 .unwrap();
41 let store = Store::parse(&bytes).unwrap();
42 assert!(store.checksum_mismatches.is_empty());
43 let index = RevisionIndex::parse(&store).unwrap();
44 let rid = index.spaces[&osid].labels[&(ExGuid::default(), 1)];
45 let current = index.resolve(osid, rid).unwrap();
46 let ObjectData::Properties(data) = current.objects[&oid].data else {
47 panic!()
48 };
49 let properties = PropertySets::parse(data).unwrap();
50 assert_eq!(
51 properties.sets[0]
52 .iter()
53 .find(|candidate| candidate.id == property)
54 .unwrap()
55 .value,
56 Value::Bytes(value)
57 );
58});
tools/compare_native.py created+53
...@@ -0,0 +1,53 @@
1#!/usr/bin/env python3
2"""Compare native captures while excluding cache identities and selection state."""
3import argparse
4import base64
5import difflib
6import hashlib
7import json
8from pathlib import Path
9import xml.etree.ElementTree as ET
10from native_xml import ns, pages
11
12
13def content(node):
14 attrs = {key: value for key, value in node.attrib.items()
15 if key not in ('ID', 'objectID', 'pathCache', 'selected', 'isCurrentlyViewed')}
16 text = node.text
17 if node.tag == '{%s}Data' % ns['one'] and text:
18 text = hashlib.sha256(base64.b64decode(''.join(text.split()), validate=True)).hexdigest()
19 elif text is not None and not text.strip() and node.tag != '{%s}T' % ns['one']:
20 text = None
21 return node.tag, sorted(attrs.items()), text, [content(child) for child in node]
22
23
24def compare(actual, expected):
25 captured = []
26 for directory in (actual, expected):
27 by_id = {page.get('ID'): page for page in pages(directory)}
28 hierarchy = ET.parse(directory / 'hierarchy.xml')
29 ordered = [page.get('ID') for page in hierarchy.findall('.//one:Page', ns)]
30 if len(ordered) != len(by_id) or set(ordered) != set(by_id):
31 raise ValueError('Native page capture does not match its hierarchy: ' + str(directory))
32 captured.append({
33 'pages': [content(by_id[key]) for key in ordered],
34 'attachments': sorted(hashlib.sha256(path.read_bytes()).hexdigest()
35 for path in directory.glob('*.attachment')),
36 })
37 if captured[0] != captured[1]:
38 difference = '\n'.join(difflib.unified_diff(
39 json.dumps(captured[1], indent=2, ensure_ascii=False).splitlines(),
40 json.dumps(captured[0], indent=2, ensure_ascii=False).splitlines(),
41 fromfile=str(expected), tofile=str(actual),
42 ))
43 (actual.parent / 'native.diff').write_text(difference + '\n')
44 raise AssertionError('Native content differs; inspect ' + str(actual.parent / 'native.diff'))
45
46
47if __name__ == '__main__':
48 parser = argparse.ArgumentParser(description=__doc__)
49 parser.add_argument('actual', type=Path)
50 parser.add_argument('expected', type=Path)
51 args = parser.parse_args()
52 compare(args.actual, args.expected)
53 print('Native document content and attachment bytes match')
tools/concurrent_rust.py created+163
...@@ -0,0 +1,163 @@
1#!/usr/bin/env python3
2"""Race independent Rust clients and verify every observed append against committed operations."""
3import argparse
4from collections import Counter
5from contextlib import contextmanager
6import hashlib
7import json
8import os
9from pathlib import Path
10import subprocess
11import time
12
13ROOT = Path(__file__).resolve().parent.parent
14CLIENT = ROOT / 'target/debug/examples/concurrent_client'
15
16
17def verify(logs, initial_transaction, writers, operations, edit=False):
18 commits = [(actor, event) for actor, events in logs.items() for event in events if event['event'] == 'commit']
19 assert Counter(actor for actor, _ in commits) == {f'w{i}': operations for i in range(writers)}, 'Missing or extra acknowledged operations'
20 ordered = sorted(commits, key=lambda pair: pair[1]['source_transaction'])
21 versions = {initial_transaction: 'Concurrent edits:'}
22 seen = set()
23 for i, (actor, event) in enumerate(ordered):
24 transaction = initial_transaction + i
25 assert event['source_transaction'] == transaction, 'Two writers committed the same snapshot or skipped a transaction'
26 assert event['token'] == f' [{actor}:{event["operation"]}]', 'Committed token differs from intended operation'
27 assert (actor, event['operation']) not in seen, 'An operation committed twice'
28 seen.add((actor, event['operation']))
29 if edit:
30 intent, = [e for e in logs[actor] if e['event'] == 'intent' and e['attempt'] == event['attempt']]
31 assert intent['before'] == versions[transaction] and intent['source_transaction'] == transaction, 'Intent used another snapshot'
32 assert intent['operation'] == event['operation'] and intent['token'] == event['token'], 'Acknowledgement differs from intent'
33 assert intent['replacement'] == ' café 🦀' + event['token'], 'Unexpected replacement text'
34 start, end = intent['range']
35 units = intent['before'].encode('utf-16-le')
36 assert len(versions[initial_transaction]) <= start <= end <= len(units) // 2, 'Invalid edit range'
37 units[:start * 2].decode('utf-16-le')
38 units[end * 2:].decode('utf-16-le')
39 versions[transaction + 1] = (units[:start * 2] + intent['replacement'].encode('utf-16-le') + units[end * 2:]).decode('utf-16-le')
40 else:
41 versions[transaction + 1] = versions[transaction] + event['token']
42 observations = 0
43 intervals = []
44 for actor, events in logs.items():
45 assert events and events[0]['event'] == 'ready' and events[-1]['event'] == 'done', 'Client did not finish'
46 previous = initial_transaction
47 for event in events:
48 if event['event'] in ('commit', 'retry'):
49 intervals.append((actor, event['started_us'], event['finished_us']))
50 if event['event'] != 'read':
51 continue
52 transaction = event['transaction']
53 assert transaction >= previous, 'A reader went backwards'
54 previous = transaction
55 assert transaction in versions and event['text'] == versions[transaction], 'A reader observed a lost, partial, duplicated or invented edit'
56 for _, commit in ordered:
57 published = commit['source_transaction'] + 1
58 if commit['finished_us'] < event['started_us']:
59 assert transaction >= published, 'Read missed an already acknowledged commit'
60 if commit['started_us'] > event['finished_us']:
61 assert transaction < published, 'Read observed a future commit'
62 observations += 1
63 overlap = sum(a != b and max(start, other_start) < min(end, other_end)
64 for i, (a, start, end) in enumerate(intervals)
65 for b, other_start, other_end in intervals[i + 1:])
66 assert overlap, 'Writer calls never overlapped'
67 return {'commits': len(commits), 'observations': observations, 'overlapping_writer_calls': overlap,
68 'retries': sum(e['event'] == 'retry' for events in logs.values() for e in events),
69 'final_transaction': initial_transaction + len(commits), 'final_text': versions[max(versions)]}
70
71
72@contextmanager
73def running_clients(output, source, writers, readers, operations, seed, timeout=600, edit=False):
74 start, stop = output / 'start', output / 'stop'
75 (output / 'clients.json').write_text(json.dumps({'writers': writers, 'readers': readers, 'operations': operations,
76 'seed': seed, 'edit': edit, 'client_sha256': hashlib.sha256(CLIENT.read_bytes()).hexdigest()}, indent=2))
77 processes = {}
78 streams = []
79 try:
80 for mode, count in [('write', writers), ('read', readers)]:
81 for i in range(count):
82 actor = mode[0] + str(i)
83 out = (output / f'{actor}.jsonl').open('w')
84 err = (output / f'{actor}.stderr').open('w')
85 streams.extend([out, err])
86 processes[actor] = subprocess.Popen([CLIENT, 'edit' if edit and mode == 'write' else mode, source, actor, str(operations), start, stop,
87 str(seed + i + (10000 if mode == 'read' else 0))], stdout=out, stderr=err)
88 deadline = time.monotonic() + timeout
89 while not all((output / f'{actor}.jsonl').stat().st_size for actor in processes):
90 if any(p.poll() is not None for p in processes.values()) or time.monotonic() > deadline:
91 raise RuntimeError('A client failed before the start barrier.')
92 time.sleep(.01)
93 yield processes
94 while any(p.poll() is None for p in processes.values()):
95 failed = {actor: p.returncode for actor, p in processes.items() if p.returncode not in (None, 0)}
96 if failed or time.monotonic() > deadline:
97 raise RuntimeError(f'Concurrent clients failed or timed out: {failed}')
98 if all(p.poll() == 0 for actor, p in processes.items() if actor.startswith('w')):
99 stop.touch(exist_ok=True)
100 time.sleep(.05)
101 assert all(p.returncode == 0 for p in processes.values()), 'A client exited unsuccessfully'
102 finally:
103 for process in processes.values():
104 if process.poll() is None:
105 process.terminate()
106 for process in processes.values():
107 try:
108 process.wait(timeout=5)
109 except subprocess.TimeoutExpired:
110 process.kill()
111 process.wait()
112 for stream in streams:
113 stream.close()
114 (output / 'teardown.json').write_text(json.dumps({actor: p.returncode for actor, p in processes.items()}, indent=2))
115
116
117def run(output, writers, readers, operations, seed, notebook=None, timeout=600, edit=False):
118 if min(writers, readers, operations) < 1 or writers < 2:
119 raise ValueError('Choose at least two writers, one reader and one operation.')
120 output = output.resolve()
121 output.mkdir(parents=True, exist_ok=False)
122 notebook = output / 'notebook' if notebook is None else notebook.resolve()
123 notebook.mkdir()
124 source = notebook / 'synthetic.one'
125 seed_file = output / 'initial.one'
126 subprocess.run([CLIENT, 'init', seed_file], check=True)
127 initial = seed_file.read_bytes()
128 with source.open('xb') as stream:
129 stream.write(initial)
130 stream.flush()
131 os.fsync(stream.fileno())
132 start, stop = output / 'start', output / 'stop'
133 (output / 'run.json').write_text(json.dumps({'initial_sha256': hashlib.sha256(initial).hexdigest(),
134 'generator_sha256': hashlib.sha256(CLIENT.read_bytes()).hexdigest()}, indent=2))
135 started = time.monotonic()
136 with running_clients(output, source, writers, readers, operations, seed, timeout, edit) as processes:
137 start.touch()
138 logs = {actor: [json.loads(line) for line in (output / f'{actor}.jsonl').read_text().splitlines()] for actor in processes}
139 result = verify(logs, int.from_bytes(initial[96:100], 'little'), writers, operations, edit)
140 final = subprocess.run([CLIENT, 'read', source, 'final', '1', start, stop, str(seed)], check=True, capture_output=True, text=True)
141 (output / 'final.jsonl').write_text(final.stdout)
142 final_read, = [json.loads(line) for line in final.stdout.splitlines() if json.loads(line)['event'] == 'read']
143 assert final_read['text'] == result['final_text'] and final_read['transaction'] == result['final_transaction'], 'Final file lost an acknowledged edit'
144 result['elapsed_seconds'] = time.monotonic() - started
145 final_bytes = source.read_bytes()
146 result['final_sha256'] = hashlib.sha256(final_bytes).hexdigest()
147 (output / 'final.one').write_bytes(final_bytes)
148 (output / 'result.json').write_text(json.dumps(result, indent=2))
149 print(json.dumps({k: v for k, v in result.items() if k != 'final_text'}), flush=True)
150
151
152if __name__ == '__main__':
153 parser = argparse.ArgumentParser(description=__doc__)
154 parser.add_argument('output', type=Path)
155 parser.add_argument('--writers', type=int, default=4)
156 parser.add_argument('--readers', type=int, default=3)
157 parser.add_argument('--operations', type=int, default=30)
158 parser.add_argument('--seed', type=int, default=1)
159 parser.add_argument('--notebook-dir', type=Path)
160 parser.add_argument('--timeout', type=int, default=600)
161 parser.add_argument('--edit', action='store_true')
162 args = parser.parse_args()
163 run(args.output, args.writers, args.readers, args.operations, args.seed, args.notebook_dir, args.timeout, args.edit)
tools/crash_recovery.py created+40
...@@ -0,0 +1,40 @@
1"""Independent append-intent accounting across an abrupt storage interruption."""
2from collections import Counter
3import re
4
5
6def verify_text(baseline, current, logs):
7 events = [event for rows in logs.values() for event in rows]
8 intents = {event['token'] for event in events if event['event'] == 'intent'}
9 possible = set()
10 for rows in logs.values():
11 outcomes = {event['attempt']: event for event in rows if event['event'] in ('commit', 'retry', 'commit_error')}
12 for event in rows:
13 if event['event'] != 'intent': continue
14 outcome = outcomes.get(event['attempt'])
15 if outcome is None or outcome['event'] == 'commit' or (outcome['event'] == 'commit_error' and outcome['state'] != 'NotCommitted'):
16 possible.add(event['token'])
17 acknowledged = [event for event in events if event['event'] == 'commit' or
18 (event['event'] == 'commit_error' and event['state'] == 'Committed')]
19 assert len({event['token'] for event in acknowledged}) == len(acknowledged), 'An edit was acknowledged twice'
20
21 def tokens(text):
22 assert text.startswith(baseline), 'Previously retained content changed'
23 suffix = text[len(baseline):]
24 found = re.findall(r' \[w\d+:\d+\]', suffix)
25 assert ''.join(found) == suffix, 'Unexpected or partially persisted text'
26 assert all(count == 1 for count in Counter(found).values()), 'An edit was replayed twice'
27 assert set(found) <= intents, 'Text has no matching editing intent'
28 return set(found)
29
30 persisted = tokens(current)
31 assert persisted <= possible, 'A definitively uncommitted edit appeared in storage'
32 assert {event['token'] for event in acknowledged} <= persisted, 'A durability-acknowledged edit was lost'
33 reads = [event for event in events if event['event'] == 'read']
34 for read in reads:
35 observed = tokens(read['text'])
36 assert {event['token'] for event in acknowledged if event['finished_us'] < read['started_us']} <= observed, 'A read missed an acknowledged edit'
37 assert not {event['token'] for event in acknowledged if event['started_us'] > read['finished_us']} & observed, 'A read observed a future edit'
38 return {'acknowledged': len(acknowledged), 'retained': len(persisted),
39 'unacknowledged_retained': sorted(persisted - {event['token'] for event in acknowledged}),
40 'reads': len(reads), 'text': current}
tools/document_model.py created+58
...@@ -0,0 +1,58 @@
1"""Traversal of the exported document's referenced revisions."""
2import os
3from pathlib import Path
4
5EXPORTER = Path(os.environ.get('ONESTORE_DOCUMENT', Path(__file__).resolve().parent.parent / 'target/debug/examples/document'))
6
7DEFAULT_CONTEXT = '{00000000-0000-0000-0000-000000000000},0'
8
9
10def view(document, sid, context=DEFAULT_CONTEXT):
11 space = document['spaces'][sid]
12 rid = space['contexts'][context]
13 return rid, space['revisions'][rid]
14
15
16def ordered_pages(document):
17 _, root = view(document, document['root'])
18 section = root['nodes'][root['roots']['1']]
19 if section['kind']['type'] == 'Encrypted':
20 return
21 assert section['kind']['type'] == 'Section'
22 for series in section['children']:
23 for space in root['nodes'][series]['spaces']:
24 rid, page = view(document, space)
25 manifest = page['nodes'][page['roots']['1']]
26 assert manifest['kind']['type'] == 'Manifest'
27 for oid in manifest['content']:
28 assert page['nodes'][oid]['kind']['type'] == 'Page'
29 yield space, rid, page, oid
30
31
32def version_pages(document, sid, revision):
33 manifest = revision['nodes'][revision['roots']['1']]['kind']
34 context = manifest['history']
35 if context is None:
36 return
37 _, history = view(document, sid, context)
38 root = history['nodes'][history['roots']['1']]
39 assert root['kind']['type'] == 'VersionHistory'
40 for proxy_id in root['children']:
41 proxy = history['nodes'][proxy_id]
42 assert proxy['kind']['type'] == 'VersionProxy'
43 context = proxy['kind']['context']
44 rid, revision = view(document, sid, context)
45 manifest = revision['nodes'][revision['roots']['1']]
46 assert manifest['kind']['type'] == 'Manifest'
47 for oid in manifest['content']:
48 assert revision['nodes'][oid]['kind']['type'] == 'Page'
49 yield context, rid, revision, oid, proxy
50
51
52def walk(space, root):
53 pending = [root]
54 while pending:
55 oid = pending.pop()
56 node = space['nodes'][oid]
57 yield oid, node
58 pending.extend(reversed(node['structure'] + node['content'] + node['children']))
tools/feature_fixture.py created+64
...@@ -0,0 +1,64 @@
1#!/usr/bin/env python3
2"""Generate schema-validated inputs for native document feature controls."""
3import argparse
4import json
5from pathlib import Path
6import shutil
7import wave
8
9from lxml import etree as ET
10from PIL import Image
11
12ROOT = Path(__file__).resolve().parent.parent
13NS = 'http://schemas.microsoft.com/office/onenote/2010/onenote'
14
15
16def generate(destination):
17 destination.mkdir(parents=True, exist_ok=False)
18 notebook = destination / 'notebook'
19 shutil.copytree(ROOT / 'corpus/writer/create-notebook-01/notebook', notebook)
20 assets = notebook / 'fixture-data'; assets.mkdir()
21 image = Image.new('RGB', (96, 64))
22 image.putdata([(x * 2, y * 3, (x + y) % 256) for y in range(64) for x in range(96)])
23 for extension in ('png', 'jpg', 'bmp', 'tiff', 'gif'):
24 image.save(assets / ('pattern.' + extension))
25 (assets / 'attachment.txt').write_bytes(b'Fictitious attachment\r\n\x00\xff\r\n')
26 with wave.open(str(assets / 'silence.wav'), 'wb') as sound:
27 sound.setparams((1, 2, 8000, 8000, 'NONE', 'not compressed'))
28 sound.writeframes(b'\0' * 16000)
29 fixture = {'sections': ['Features.one', 'Group A/Duplicate.one', 'Group B/Nested/Duplicate.one', 'Empty.one'], 'pages': []}
30 schema = ET.XMLSchema(ET.parse(str(ROOT / 'resources/onenote2010-com/OneNote2010.xsd')))
31
32 def page(title, content, section='Features.one', attributes='', definitions=''):
33 xml = f'<one:Page xmlns:one="{NS}" {attributes}>{definitions}<one:Title><one:OE><one:T>{title}</one:T></one:OE></one:Title>{content}</one:Page>'
34 schema.assertValid(ET.fromstring(xml.encode()))
35 fixture['pages'].append({'section': section, 'xml': xml})
36
37 def outline(body, x=72, y=108):
38 return f'<one:Outline><one:Position x="{x}" y="{y}"/><one:Size width="480" height="400"/><one:OEChildren>{body}</one:OEChildren></one:Outline>'
39
40 for extension in ('png', 'jpg', 'bmp', 'tiff', 'gif'):
41 body = f'<one:Image format="auto" alt="Pattern {extension}" hyperlink="https://example.invalid/image/{extension}"><one:Position x="72" y="108"/><one:Size width="144" height="48"/><one:File path="__ASSETS__\\pattern.{extension}"/></one:Image>'
42 page('Image ' + extension, body)
43 for background, printout in [('false', 'false'), ('true', 'false'), ('false', 'true'), ('true', 'true')]:
44 page(f'Image role background={background}, printout={printout}', f'<one:Image format="auto" backgroundImage="{background}" isPrintOut="{printout}" originalPageNumber="2" alt="Role pattern"><one:Position x="36" y="36"/><one:Size width="288" height="192"/><one:File path="__ASSETS__\\pattern.png"/></one:Image>' + outline('<one:OE><one:T>Foreground role control</one:T></one:OE>'))
45 page('Files and recording', outline('<one:OE><one:InsertedFile pathSource="__ASSETS__\\attachment.txt" preferredName="Fictitious attachment.txt"/></one:OE><one:OE><one:MediaFile pathSource="__ASSETS__\\silence.wav" preferredName="silence.wav"><one:MediaReference mediaID="{9A418E57-7F64-40C5-87D0-8A8F7C1E5422}"/></one:MediaFile></one:OE><one:OE><one:MediaIndex timeIndex="500"><one:MediaReference mediaID="{9A418E57-7F64-40C5-87D0-8A8F7C1E5422}"/></one:MediaIndex><one:T>Recording annotation</one:T></one:OE>'))
46 page('Paragraph controls', outline('<one:OE quickStyleIndex="0"><one:T>Inherited strike and spacing</one:T></one:OE><one:OE alignment="center" spaceBefore="12" spaceAfter="6"><one:T>Centered paragraph</one:T></one:OE><one:OE RTL="true" alignment="right"><one:T>مرحبا بالعالم</one:T></one:OE><one:OE collapsed="true"><one:T>Collapsed parent</one:T><one:OEChildren indent="2"><one:OE><one:T>Hidden child remains stored</one:T><one:OEChildren><one:OE><one:T>Grandchild</one:T></one:OE></one:OEChildren></one:OE></one:OEChildren></one:OE><one:OE><one:T><![CDATA[A<br><br>B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;C]]></one:T></one:OE>'), definitions='<one:QuickStyleDef index="0" name="Fixture style" font="Calibri" fontSize="14" strikethrough="true" spaceBefore="0.25" spaceAfter="0.125"/>')
47 body = ''
48 for sequence in range(5):
49 for index in range(2):
50 restart = ' restartNumberingAt="3"' if index == 0 else ''
51 body += f'<one:OE><one:List><one:Number numberSequence="{sequence}" numberFormat="##"{restart} font="Calibri"/></one:List><one:T>Sequence {sequence}, item {index}</one:T></one:OE>'
52 page('Numbering controls', outline(body))
53 page('Task controls', outline('<one:OE><one:OutlookTask guidTask="{45AF40E3-1D54-463C-90D3-C454F2F71A2E}" completed="false" disabled="true" creationDate="2020-01-02T03:04:05Z" startDate="2020-01-02T00:00:00Z" dueDate="2020-01-03T00:00:00Z"/><one:T>Disabled standalone task</one:T></one:OE>'))
54 for section in ('Group A/Duplicate.one', 'Group B/Nested/Duplicate.one'):
55 for level in (1, 2, 3):
56 page('Repeated title', outline(f'<one:OE><one:T>Group path {section}, level {level}</one:T></one:OE>'), section, f'pageLevel="{level}"')
57 (notebook / 'fixture.json').write_text(json.dumps(fixture, ensure_ascii=False, indent=2))
58 print(f'Generated {len(fixture["pages"])} schema-validated native pages; expected total {len(fixture["pages"]) + 1}.')
59
60
61if __name__ == '__main__':
62 parser = argparse.ArgumentParser(description=__doc__)
63 parser.add_argument('destination', type=Path)
64 generate(parser.parse_args().destination)
tools/history_campaign.py created+221
...@@ -0,0 +1,221 @@
1#!/usr/bin/env python3
2"""Generate and compare independently specified native edit histories."""
3import argparse
4import copy
5import json
6from pathlib import Path
7import random
8import shutil
9import signal
10import subprocess
11import tempfile
12import xml.etree.ElementTree as ET
13
14from document_model import EXPORTER, ordered_pages
15from native_xml import ns, Text, project_text
16
17ROOT = Path(__file__).resolve().parent.parent
18
19
20def reduce_history(history):
21 state = copy.deepcopy(history['initial'])
22 for op in history['operations']:
23 kind = op['kind']
24 if kind == 'insert': state['paragraphs'].insert(op['index'], copy.deepcopy(op['paragraph']))
25 elif kind == 'delete': state['paragraphs'].pop(op['index'])
26 elif kind == 'move': state['paragraphs'].insert(op['to'], state['paragraphs'].pop(op['index']))
27 elif kind == 'position': state['x'], state['y'] = op['x'], op['y']
28 elif kind == 'cell': state['table'][op['row']][op['column']] = op['text']
29 else: state['paragraphs'][op['index']][kind] = op['value']
30 return state
31
32
33def generate(destination, count, start=0):
34 destination.mkdir(parents=True, exist_ok=False)
35 notebook = destination / 'notebook'
36 shutil.copytree(ROOT / 'corpus/writer/create-notebook-01/notebook', notebook)
37 histories = []
38 samples = ['Repeated words', 'café 東京 مرحبا', 'A😀e\u0301Z', 'literal <b> & "quotes"', 'tabs\there', ' ]]> end', 'simple text']
39 def paragraph(identifier, text):
40 return {'id': identifier, 'text': text, 'bold': False, 'italic': False, 'underline': False,
41 'strike': False, 'color': '#000000', 'highlight': '#ffff00', 'font_size': 11,
42 'link': '', 'tag': False}
43 kinds = ['text', 'bold', 'italic', 'underline', 'strike', 'color', 'highlight', 'font_size', 'link', 'tag', 'insert', 'delete', 'move', 'position', 'cell']
44 for seed in range(start, start + count):
45 rng = random.Random(seed)
46 history = {'seed': seed, 'title': f'History {seed:06}', 'initial': {
47 'paragraphs': [paragraph(f'p{i}', f'Initial {i}') for i in range(4)],
48 'table': [[f'Cell {row},{column}' for column in range(2)] for row in range(2)], 'x': 72, 'y': 108}, 'operations': []}
49 for step in range(20):
50 state = reduce_history(history)
51 kind = kinds[step % len(kinds)] if seed < 3 else rng.choice(kinds)
52 index = rng.randrange(len(state['paragraphs']))
53 op = {'kind': kind, 'index': index}
54 if kind == 'insert': op['paragraph'] = paragraph(f'new{step}', rng.choice(samples))
55 elif kind == 'delete' and len(state['paragraphs']) == 1: op = {'kind': 'text', 'index': 0, 'value': rng.choice(samples)}
56 elif kind == 'move': op['to'] = rng.randrange(len(state['paragraphs']))
57 elif kind == 'position': op.update(x=rng.randrange(1, 7) * 36, y=rng.randrange(2, 10) * 36)
58 elif kind == 'cell': op.update(row=rng.randrange(2), column=rng.randrange(2), text=rng.choice(samples))
59 elif kind == 'text': op['value'] = rng.choice(samples)
60 elif kind in ('bold', 'italic', 'underline', 'strike', 'tag'): op['value'] = not state['paragraphs'][index][kind]
61 elif kind in ('color', 'highlight'): op['value'] = rng.choice(['#000000', '#ff0000', '#00ffff', '#ffff00', '#00ff00'])
62 elif kind == 'font_size': op['value'] = rng.choice([9, 11, 14, 18])
63 elif kind == 'link': op['value'] = '' if state['paragraphs'][index]['link'] else f'https://example.invalid/{seed}/{step}?a=1&b=2'
64 history['operations'].append(op)
65 histories.append(history)
66 (notebook / 'histories.json').write_text(json.dumps(histories, ensure_ascii=False, indent=2))
67
68
69def compare(capture, seed=None):
70 histories = json.loads((capture / 'notebook/histories.json').read_text())
71 if seed is not None:
72 histories = [h for h in histories if h['seed'] == seed]
73 if len(histories) != 1:
74 raise ValueError('The capture must contain exactly one history with this seed.')
75 native = {ET.parse(p).getroot().get('name'): ET.parse(p).getroot() for p in (capture / 'read').glob('page-*.xml')}
76 with tempfile.TemporaryDirectory() as temporary:
77 export = Path(temporary) / 'model'
78 subprocess.run([EXPORTER, capture / 'notebook/synthetic.one', export], check=True)
79 document = json.loads((export / 'document.json').read_text())
80 resolved = json.loads((export / 'text.json').read_text())
81 actual = {}
82 for sid, rid, space, oid in ordered_pages(document):
83 title = ''.join(n['kind']['text'] for n in space['nodes'].values() if n['kind']['type'] == 'RichText' and n['kind']['text'].startswith('History '))
84 if title: actual[title] = (sid, rid, space, oid)
85 failures = []
86 for history in histories:
87 try:
88 expected = reduce_history(history)
89 title = history['title']; page = native[title]
90 sid, rid, space, oid = actual[title]
91 outlines = [space['nodes'][i] for i in space['nodes'][oid]['children'] if space['nodes'][i]['kind']['type'] == 'Outline']
92 assert len(outlines) == 1, (title, 'outline count')
93 native_outline = page.find('one:Outline', ns)
94 native_oes = native_outline.findall('one:OEChildren/one:OE', ns)
95 native_text = [n.find('one:T', ns) for n in native_oes if n.find('one:T', ns) is not None]
96 paragraphs = [space['nodes'][i] for i in outlines[0]['children']]
97 content = [p['content'][0] for p in paragraphs]
98 text_ids = [i for i in content if space['nodes'][i]['kind']['type'] == 'RichText']
99 assert len(text_ids) == len(native_text) == len(expected['paragraphs']), (title, 'paragraph count')
100 for wanted, oid, native_t in zip(expected['paragraphs'], text_ids, native_text, strict=True):
101 runs = [r for r in resolved[sid][rid][oid] if not r['format']['hidden']]
102 assert ''.join(r['text'] for r in runs) == wanted['text'], (title, wanted['id'], 'Rust text')
103 assert ''.join(Text(native_t.text or '').parts) == project_text(wanted['text']), (title, wanted['id'], 'native text')
104 leading = len(wanted['text']) - len(wanted['text'].lstrip(' \t'))
105 actual_links = [r['link'] or '' for r in runs for _ in r['text']]
106 expected_links = ['' if index < leading else wanted['link'] for index in range(len(wanted['text']))]
107 assert actual_links == expected_links, (title, wanted['id'], 'hyperlink', actual_links, expected_links)
108 for r in runs:
109 if not r['text']:
110 continue
111 for flag in ('bold', 'italic', 'underline', 'strike'):
112 assert bool(r['format'][flag]) == (False if flag == 'underline' and wanted['link'] else wanted[flag]), (title, wanted['id'], flag)
113 assert r['format']['font_size'] == wanted['font_size'], (title, wanted['id'], 'font size')
114 for field in ('color', 'highlight'):
115 value = '#dbdb00' if field == 'color' and wanted[field] == '#ffff00' else wanted[field]
116 rgb = bytes.fromhex(value[1:])
117 assert r['format'][field] == (0xff000000 if field == 'color' and wanted['link'] else int.from_bytes(rgb, 'little')), (title, wanted['id'], field, r['format'][field], wanted[field])
118 tags = space['nodes'][oid]['tags']
119 assert bool(tags) == wanted['tag'], (title, wanted['id'], 'tag')
120 table = [space['nodes'][i] for i in content if space['nodes'][i]['kind']['type'] == 'Table']
121 assert len(table) == 1, (title, 'table count')
122 cells = [[ ''.join(r['text'] for paragraph in space['nodes'][cell]['children']
123 for text in space['nodes'][paragraph]['content'] for r in resolved[sid][rid][text] if not r['format']['hidden'])
124 for cell in space['nodes'][row]['children']] for row in table[0]['children']]
125 assert cells == expected['table'], (title, 'table contents')
126 for axis in ('x', 'y'):
127 assert abs(outlines[0]['layout'][axis] - expected[axis]) < .002, (title, axis)
128 except AssertionError as failure:
129 failures.append(failure.args[0])
130 (capture / 'history-differences.json').write_text(json.dumps(failures, ensure_ascii=False, indent=2))
131 if failures:
132 raise AssertionError(failures[0])
133 print(f'Passed {len(histories)} independently specified native histories, {sum(len(h["operations"]) for h in histories)} operations.')
134
135
136def shrink(capture, destination, seed):
137 from native_runner import capture as native_capture
138 histories = json.loads((capture / 'notebook/histories.json').read_text())
139 history, = [h for h in histories if h['seed'] == seed]
140 try:
141 compare(capture, seed)
142 except AssertionError as failure:
143 signature = failure.args[0][:3]
144 else:
145 raise ValueError('The selected history passes; there is no discrepancy to shrink.')
146 destination.mkdir(parents=True, exist_ok=False)
147 (destination / 'source.json').write_text(json.dumps({'capture': str(capture.resolve()), 'seed': seed,
148 'signature': signature}, indent=2))
149 attempt = 0
150
151 def reproduces(candidate):
152 nonlocal attempt
153 try:
154 reduce_history(candidate)
155 except IndexError:
156 return False
157 attempt += 1
158 root = destination / f'attempt-{attempt:03}'
159 root.mkdir()
160 shutil.copytree(ROOT / 'corpus/writer/create-notebook-01/notebook', root / 'input')
161 (root / 'input/histories.json').write_text(json.dumps([candidate], ensure_ascii=False, indent=2))
162 native_capture(root / 'input', root / 'capture', 2, ROOT / 'tools/native/history.ps1')
163 observed = None
164 try:
165 compare(root / 'capture', seed)
166 except AssertionError as failure:
167 observed = failure.args[0]
168 matches = observed is not None and observed[:3] == signature
169 (root / 'comparison.json').write_text(json.dumps({'discrepancy': observed, 'same_failure': matches}, indent=2))
170 print(f'Shrink attempt {attempt}: {len(candidate["operations"])} operations; same discrepancy: {matches}', flush=True)
171 return matches
172
173 if not reproduces(history):
174 raise ValueError('The original discrepancy did not reproduce in a fresh clone.')
175 granularity = 2
176 while history['operations']:
177 operations = history['operations']
178 width = max(1, (len(operations) + granularity - 1) // granularity)
179 for start in range(0, len(operations), width):
180 candidate = {**history, 'operations': operations[:start] + operations[start + width:]}
181 if reproduces(candidate):
182 history = candidate
183 granularity = max(2, granularity - 1)
184 break
185 else:
186 if width == 1:
187 break
188 granularity = min(len(operations), granularity * 2)
189 (destination / 'minimal.json').write_text(json.dumps(history, ensure_ascii=False, indent=2))
190 for index, operation in enumerate(history['operations']):
191 choices = []
192 if operation['kind'] == 'text': choices = [{'value': ''}, {'value': 'A'}]
193 elif operation['kind'] == 'cell': choices = [{'text': ''}, {'text': 'A'}]
194 elif operation['kind'] == 'position': choices = [{'x': 0, 'y': 0}]
195 elif operation['kind'] == 'font_size': choices = [{'value': 11}]
196 for replacement in choices:
197 candidate = copy.deepcopy(history)
198 candidate['operations'][index].update(replacement)
199 if candidate != history and reproduces(candidate):
200 history = candidate
201 break
202 (destination / 'minimal.json').write_text(json.dumps(history, ensure_ascii=False, indent=2))
203
204
205if __name__ == '__main__':
206 parser = argparse.ArgumentParser(description=__doc__)
207 sub = parser.add_subparsers(dest='command', required=True)
208 generation = sub.add_parser('generate'); generation.add_argument('destination', type=Path)
209 generation.add_argument('--count', type=int, default=100); generation.add_argument('--start', type=int, default=0)
210 comparison = sub.add_parser('compare'); comparison.add_argument('capture', type=Path)
211 comparison.add_argument('--seed', type=int)
212 shrinking = sub.add_parser('shrink'); shrinking.add_argument('capture', type=Path)
213 shrinking.add_argument('destination', type=Path); shrinking.add_argument('--seed', type=int, required=True)
214 args = parser.parse_args()
215 if args.command == 'generate': generate(args.destination, args.count, args.start)
216 elif args.command == 'compare': compare(args.capture, args.seed)
217 else:
218 def interrupted(_signal, _frame):
219 raise KeyboardInterrupt
220 signal.signal(signal.SIGTERM, interrupted)
221 shrink(args.capture, args.destination, args.seed)
tools/import-corpus.py created+30
...@@ -0,0 +1,30 @@
1#!/usr/bin/env python3
2"""Extract a native capture with links for identical files."""
3import hashlib
4import os
5from pathlib import Path, PurePosixPath
6import sys
7import zipfile
8
9archive, destination = map(Path, sys.argv[1:])
10destination.mkdir(parents=True, exist_ok=False)
11seen = {}
12with zipfile.ZipFile(archive) as captured:
13 for entry in captured.infolist():
14 relative = PurePosixPath(entry.filename.replace('\\', '/'))
15 if relative.is_absolute() or '..' in relative.parts:
16 raise ValueError('Archive path escapes the corpus directory')
17 target = destination.joinpath(*relative.parts)
18 if entry.filename.endswith(('/', '\\')):
19 target.mkdir(parents=True, exist_ok=True)
20 continue
21 target.parent.mkdir(parents=True, exist_ok=True)
22 data = captured.read(entry)
23 digest = hashlib.sha256(data).digest()
24 if digest in seen:
25 target.symlink_to(os.path.relpath(seen[digest], target.parent))
26 else:
27 target.write_bytes(data)
28 target.chmod(0o444)
29 seen[digest] = target
30print(f'Imported {len(seen)} distinct files into {destination}')
tools/native/cold.ps1 created+27
...@@ -0,0 +1,27 @@
1param([Parameter(Mandatory=$true)][string]$Root, [string]$CloneHost = '')
2Set-StrictMode -Version Latest
3$ErrorActionPreference = 'Stop'
4$root = [IO.Path]::GetFullPath($Root).TrimEnd('\')
5if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') {
6 throw 'Choose a run directly below C:\one-tests\runs.'
7}
8if (Get-Process ONENOTE -ErrorAction SilentlyContinue) { throw 'Close OneNote before resetting its test cache.' }
9$key = 'HKCU:\Software\Microsoft\Office\14.0\OneNote'
10if ($CloneHost) {
11 if ($CloneHost -notmatch '^ONE-[A-Z0-9-]+$' -or [Environment]::MachineName -ne $CloneHost) {
12 throw 'The disposable clone hostname does not match this machine.'
13 }
14 New-Item "$key\Options\Paths" -Force | Out-Null
15 New-ItemProperty "$key\Options\Paths" -Name UnfiledNotesSection -PropertyType ExpandString -Value 'C:\one-tests\Loose.one' -Force | Out-Null
16} elseif ((Get-ItemProperty "$key\Options\Paths").UnfiledNotesSection -ne 'C:\one-tests\Loose.one' -or
17 -not (Test-Path 'C:\one-tests\profile-original-cache')) {
18 throw 'Park the personal OneNote profile before resetting the test cache.'
19}
20$cache = Join-Path $env:LOCALAPPDATA 'Microsoft\OneNote\14.0'
21$parked = Join-Path 'C:\one-tests\caches' ([IO.Path]::GetFileName($root))
22if (Test-Path $parked) { throw 'Choose a new run; its parked cache already exists.' }
23New-Item -ItemType Directory -Path 'C:\one-tests\caches' -Force | Out-Null
24if (Test-Path $cache) { Move-Item -LiteralPath $cache -Destination $parked }
25if (Test-Path "$key\OpenNotebooks") { Remove-Item "$key\OpenNotebooks" -Recurse }
26New-Item "$key\OpenNotebooks" | Out-Null
27New-ItemProperty "$key\OpenNotebooks" -Name '1' -PropertyType String -Value "$root\notebook" | Out-Null
tools/native/collaborate.ps1 created+105
...@@ -0,0 +1,105 @@
1param([Parameter(Mandatory=$true)][string]$Root,
2 [Parameter(Mandatory=$true)][string]$SharedPath,
3 [Parameter(Mandatory=$true)][string]$CloneHost,
4 [switch]$ResumeCache,
5 [int]$StartSequence = 1)
6function Keep-Container($page, $target) {
7 $container = $target
8 while ($container.ParentNode -ne $page.DocumentElement) { $container = $container.ParentNode }
9 foreach ($sibling in @($page.DocumentElement.ChildNodes)) {
10 if ($sibling -ne $container -and $sibling.LocalName -in @('Outline', 'Title', 'Image', 'InkDrawing')) {
11 [void]$page.DocumentElement.RemoveChild($sibling)
12 }
13 }
14}
15Set-StrictMode -Version Latest
16$ErrorActionPreference = 'Stop'
17. "$PSScriptRoot\text.ps1"
18if ($SharedPath -notmatch '^\\\\192\.168\.77\.1\\agent\\m6-[a-z0-9-]+$') { throw 'Choose a disposable Linux lab notebook.' }
19if ($env:COMPUTERNAME -ne $CloneHost) { throw 'The collaboration controller requires its owned clone.' }
20if (-not $ResumeCache) { & "$PSScriptRoot\cold-current.ps1" -Root $Root -CloneHost $CloneHost }
21$shared = $SharedPath
22if (-not (Test-Path "$shared\synthetic.one")) { throw 'Create the shared fixture first.' }
23New-Item -ItemType Directory "$Root\inbox", "$Root\outbox" -Force | Out-Null
24$user = 'HKCU:\Software\Microsoft\Office\Common\UserInfo'
25New-Item $user -Force | Out-Null
26New-ItemProperty $user -Name UserName -Value $CloneHost -PropertyType String -Force | Out-Null
27New-ItemProperty $user -Name UserInitials -Value $CloneHost.Substring($CloneHost.Length - 3) -PropertyType String -Force | Out-Null
28$app = New-Object -ComObject OneNote.Application
29$notebook = ''
30try {
31 $app.OpenHierarchy($shared, '', [ref]$notebook, 0)
32 $section = ''
33 $app.OpenHierarchy('synthetic.one', $notebook, [ref]$section, 0)
34 [IO.File]::WriteAllText("$Root\ready", 'ready')
35 $deadline = [DateTime]::UtcNow.AddMinutes(30)
36 $sequence = $StartSequence
37 while ([DateTime]::UtcNow -lt $deadline) {
38 $name = '{0:d4}.json' -f $sequence
39 $input = "$Root\inbox\$name"
40 if (-not (Test-Path $input)) { Start-Sleep -Milliseconds 100; continue }
41 $command = Get-Content -Raw -Encoding UTF8 $input | ConvertFrom-Json
42 $output = "$Root\outbox\$sequence"
43 New-Item -ItemType Directory $output | Out-Null
44 try {
45 if ($command.action -in @('prepare-stress', 'stress')) {
46 . "$PSScriptRoot\stress.ps1"
47 Invoke-Stress $app $section $command $output $shared
48 }
49 elseif ($command.action -eq 'sync') { $app.SyncHierarchy($notebook) }
50 elseif ($command.action -eq 'kill-process') {
51 Get-Process ONENOTE | Stop-Process -Force
52 [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
53 $app = New-Object -ComObject OneNote.Application
54 $app.OpenHierarchy($shared, '', [ref]$notebook, 0)
55 $app.OpenHierarchy('synthetic.one', $notebook, [ref]$section, 0)
56 }
57 elseif ($command.action -eq 'edit' -or $command.action -eq 'snapshot') {
58 $hierarchy = ''
59 $app.GetHierarchy($section, 4, [ref]$hierarchy, 1)
60 [IO.File]::WriteAllText("$output\hierarchy.xml", $hierarchy, [Text.Encoding]::UTF8)
61 [xml]$tree = $hierarchy
62 $matches = 0
63 $editedPage = $null
64 $i = 0
65 foreach ($node in $tree.SelectNodes('//*[local-name()="Page"]')) {
66 $content = ''
67 $app.GetPageContent($node.GetAttribute('ID'), [ref]$content, 1, 1)
68 [IO.File]::WriteAllText("$output\page-$i.xml", $content, [Text.Encoding]::UTF8)
69 [xml]$page = $content
70 if ($command.action -eq 'edit') {
71 $targets = @($page.SelectNodes('//*[local-name()="T"]') | Where-Object {
72 (Get-ParagraphText $_.InnerText) -eq $command.expected
73 })
74 if ($targets.Count -gt 1) { throw 'Expected one matching text object.' }
75 if ($targets.Count -eq 1) {
76 $matches++
77 if ($matches -gt 1) { throw 'The text occurs on multiple pages.' }
78 $targets[0].InnerText = [Security.SecurityElement]::Escape($command.text)
79 Keep-Container $page $targets[0]
80 $editedPage = $page
81 }
82 }
83 $i++
84 }
85 if ($command.action -eq 'edit' -and $matches -ne 1) { throw 'Expected one matching text object.' }
86 if ($editedPage) { $app.UpdatePageContent($editedPage.OuterXml, [DateTime]::MinValue, 1, $false) }
87 } elseif ($command.action -ne 'close') { throw 'Unknown collaboration command.' }
88 [IO.File]::WriteAllText("$output\done", 'ok')
89 } catch {
90 [IO.File]::WriteAllText("$output\error", $_.Exception.ToString())
91 }
92 if ($command.action -eq 'close') { break }
93 $sequence++
94 }
95} finally {
96 try { if ($notebook) { $app.CloseNotebook($notebook, $false) } }
97 finally {
98 [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
99 $app = $null
100 [GC]::Collect()
101 [GC]::WaitForPendingFinalizers()
102 Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10
103 [IO.File]::WriteAllText("$Root\closed", 'closed')
104 }
105}
tools/native/corpus.ps1 created+667
...@@ -0,0 +1,667 @@
1<#
2Usage: .\corpus.ps1 -Mode Create -Root C:\one-tests\runs\20260904-01
3 .\corpus.ps1 -Mode Capture -Root C:\one-tests\runs\20260904-01 -Step 08-manual-ink
4#>
5[CmdletBinding()]
6param(
7 [ValidateSet('Create', 'Capture')]
8 [string]$Mode = 'Create',
9
10 [Parameter(Mandatory = $true)]
11 [string]$Root,
12
13 [string]$Step
14)
15
16Set-StrictMode -Version Latest
17$ErrorActionPreference = 'Stop'
18
19$schema = 1
20$namespace = 'http://schemas.microsoft.com/office/onenote/2010/onenote'
21$runs = [IO.Path]::GetFullPath('C:\one-tests\runs').TrimEnd('\')
22$root = [IO.Path]::GetFullPath($Root).TrimEnd('\')
23$markerPath = Join-Path $root '.native-corpus.json'
24$manifestPath = Join-Path $root 'manifest.json'
25$logPath = Join-Path $root 'operation-log.jsonl'
26$notebookPath = Join-Path $root 'notebook'
27$sectionName = 'synthetic.one'
28$sectionPath = Join-Path $notebookPath $sectionName
29$script:app = $null
30$script:openedNotebookId = $null
31$script:sectionId = $null
32$script:manifest = $null
33
34function Write-Json {
35 param(
36 $Value,
37 [string]$Path
38 )
39
40 $Value | ConvertTo-Json -Depth 20 | Set-Content -LiteralPath $Path -Encoding UTF8
41}
42
43function Save-Manifest {
44 if ($null -ne $script:manifest) {
45 Write-Json $script:manifest $manifestPath
46 }
47}
48
49function Add-Log {
50 param(
51 [string]$Action,
52 [string]$Fixture,
53 $Details
54 )
55
56 $entry = [pscustomobject][ordered]@{
57 at_utc = [DateTime]::UtcNow.ToString('o')
58 fixture = $Fixture
59 action = $Action
60 details = $Details
61 }
62 $entry | ConvertTo-Json -Depth 12 -Compress | Add-Content -LiteralPath $logPath -Encoding UTF8
63}
64
65function Add-Fixture {
66 param(
67 [string]$Name,
68 [string]$Status,
69 [string]$Description,
70 $Details
71 )
72
73 $script:manifest.fixtures = @($script:manifest.fixtures) + [pscustomobject][ordered]@{
74 name = $Name
75 status = $Status
76 description = $Description
77 at_utc = [DateTime]::UtcNow.ToString('o')
78 details = $Details
79 }
80 Save-Manifest
81}
82
83function Assert-RunRoot {
84 $parent = [IO.Path]::GetDirectoryName($root)
85 if (-not [String]::Equals($parent, $runs, [StringComparison]::OrdinalIgnoreCase)) {
86 throw 'Choose a new direct child of C:\one-tests\runs.'
87 }
88 if ([String]::Equals($root, $runs, [StringComparison]::OrdinalIgnoreCase)) {
89 throw 'Choose a run directory below C:\one-tests\runs.'
90 }
91
92 $oneTests = [IO.Path]::GetDirectoryName($runs)
93 if (-not (Test-Path -LiteralPath $oneTests -PathType Container)) {
94 throw 'Create C:\one-tests before running this harness.'
95 }
96 if (-not (Test-Path -LiteralPath $runs -PathType Container)) {
97 New-Item -ItemType Directory -Path $runs | Out-Null
98 }
99 if (((Get-Item -LiteralPath $runs -Force).Attributes -band [IO.FileAttributes]::ReparsePoint) -ne 0) {
100 throw 'C:\one-tests\runs cannot be a reparse point.'
101 }
102}
103
104function Assert-PathUnderRoot {
105 param([string]$Path)
106
107 $full = [IO.Path]::GetFullPath($Path)
108 if (-not $full.StartsWith("$root\", [StringComparison]::OrdinalIgnoreCase)) {
109 throw 'The harness can write only below its run root.'
110 }
111 return $full
112}
113
114function Get-TreeState {
115 param([string]$Path)
116
117 $full = Assert-PathUnderRoot $Path
118 $files = @(Get-ChildItem -LiteralPath $full -Force -File -Recurse | Sort-Object FullName)
119 $entries = @(
120 foreach ($file in $files) {
121 $relative = $file.FullName.Substring($full.Length).TrimStart('\')
122 [pscustomobject][ordered]@{
123 path = $relative
124 bytes = [int64]$file.Length
125 sha256 = (Get-FileHash -LiteralPath $file.FullName -Algorithm SHA256).Hash.ToLowerInvariant()
126 }
127 }
128 )
129 $lines = @($entries | ForEach-Object { "$($_.path)`t$($_.bytes)`t$($_.sha256)" })
130 $bytes = [Text.Encoding]::UTF8.GetBytes([String]::Join("`n", $lines))
131 $treeHash = [Security.Cryptography.SHA256]::Create().ComputeHash($bytes)
132 [pscustomobject][ordered]@{
133 file_count = $entries.Count
134 byte_count = [int64](($entries | Measure-Object -Property bytes -Sum).Sum)
135 sha256 = ([BitConverter]::ToString($treeHash) -replace '-', '').ToLowerInvariant()
136 files = $entries
137 }
138}
139
140function Copy-Snapshot {
141 param([string]$Fixture)
142
143 $snapshot = Join-Path (Join-Path $root 'snapshots') $Fixture
144 Assert-PathUnderRoot $snapshot | Out-Null
145 if (Test-Path -LiteralPath $snapshot) {
146 throw "Snapshot '$Fixture' already exists."
147 }
148 $before = Get-TreeState $notebookPath
149 New-Item -ItemType Directory -Path $snapshot | Out-Null
150 Copy-Item -LiteralPath $notebookPath -Destination $snapshot -Recurse -Force
151 $copied = Get-TreeState (Join-Path $snapshot 'notebook')
152 $after = Get-TreeState $notebookPath
153 if ($before.sha256 -ne $copied.sha256 -or $before.sha256 -ne $after.sha256) {
154 throw "Snapshot '$Fixture' changed while copying."
155 }
156 $state = [pscustomobject][ordered]@{
157 source_before = [pscustomobject][ordered]@{ file_count = $before.file_count; byte_count = $before.byte_count; sha256 = $before.sha256 }
158 copied = [pscustomobject][ordered]@{ file_count = $copied.file_count; byte_count = $copied.byte_count; sha256 = $copied.sha256 }
159 source_after = [pscustomobject][ordered]@{ file_count = $after.file_count; byte_count = $after.byte_count; sha256 = $after.sha256 }
160 files = $copied.files
161 }
162 Write-Json $state (Join-Path $snapshot 'snapshot.json')
163 return $state
164}
165
166function Assert-NotebookPaths {
167 param([string]$Hierarchy)
168
169 [xml]$document = $Hierarchy
170 foreach ($node in @($document.SelectNodes('//*[@path]'))) {
171 $path = $node.GetAttribute('path')
172 if (-not [String]::IsNullOrWhiteSpace($path)) {
173 $full = [IO.Path]::GetFullPath($path)
174 if (-not $full.StartsWith("$notebookPath\", [StringComparison]::OrdinalIgnoreCase) -and
175 -not [String]::Equals($full.TrimEnd('\'), $notebookPath, [StringComparison]::OrdinalIgnoreCase)) {
176 throw 'OneNote returned a hierarchy path outside the generated notebook.'
177 }
178 }
179 }
180 return $document
181}
182
183function Get-PageXml {
184 param([string]$PageId)
185
186 $page = ''
187 $script:app.GetPageContent($PageId, [ref]$page, 3, $schema)
188 return $page
189}
190
191function Get-PageIds {
192 param([xml]$Hierarchy)
193
194 $manager = New-Object Xml.XmlNamespaceManager($Hierarchy.NameTable)
195 $manager.AddNamespace('one', $namespace)
196 return @($Hierarchy.SelectNodes('//one:Page', $manager) | ForEach-Object { $_.GetAttribute('ID') })
197}
198
199function Read-ReadyGeneratedNotebook {
200 param([int]$ExpectedPageCount = -1)
201
202 if ([String]::IsNullOrWhiteSpace($script:openedNotebookId) -or [String]::IsNullOrWhiteSpace($script:sectionId)) {
203 throw 'The generated notebook and section must be open before readiness is checked.'
204 }
205 $deadline = (Get-Date).AddSeconds(15)
206 $lastError = $null
207 while ((Get-Date) -lt $deadline) {
208 try {
209 $hierarchy = ''
210 $script:app.GetHierarchy($script:openedNotebookId, 4, [ref]$hierarchy, $schema)
211 $document = Assert-NotebookPaths $hierarchy
212 $manager = New-Object Xml.XmlNamespaceManager($document.NameTable)
213 $manager.AddNamespace('one', $namespace)
214 $sections = @($document.SelectNodes('//one:Section', $manager) | Where-Object {
215 [String]::Equals($_.GetAttribute('ID'), $script:sectionId, [StringComparison]::OrdinalIgnoreCase) -and
216 [String]::Equals([IO.Path]::GetFullPath($_.GetAttribute('path')).TrimEnd('\'), $sectionPath, [StringComparison]::OrdinalIgnoreCase)
217 })
218 if ($sections.Count -ne 1) { throw 'OneNote has not returned the generated section in the hierarchy.' }
219 $pageIds = @(Get-PageIds $document | Where-Object { -not [String]::IsNullOrWhiteSpace($_) })
220 if ($ExpectedPageCount -ge 0 -and $pageIds.Count -ne $ExpectedPageCount) {
221 throw "Expected $ExpectedPageCount persisted pages, found $($pageIds.Count)."
222 }
223 $pageContents = @()
224 foreach ($pageId in $pageIds) {
225 $pageContents += Get-PageXml $pageId
226 }
227 return [pscustomobject][ordered]@{
228 hierarchy = $hierarchy
229 page_ids = $pageIds
230 page_contents = $pageContents
231 }
232 }
233 catch {
234 $lastError = $_.Exception.Message
235 Start-Sleep -Milliseconds 250
236 }
237 }
238 throw "OneNote did not return the generated section ready for capture: $lastError"
239}
240
241function Get-SolePageId {
242 $state = Read-ReadyGeneratedNotebook
243 $pages = @($state.page_ids)
244 if ($pages.Count -ne 1 -or [String]::IsNullOrWhiteSpace($pages[0])) {
245 throw 'The generated notebook must contain exactly one page.'
246 }
247 return $pages[0]
248}
249
250function Confirm-Closed {
251 param([string]$NotebookId)
252
253 $probe = ''
254 $closed = $false
255 try {
256 $script:app.GetHierarchy($NotebookId, 0, [ref]$probe, $schema)
257 $closed = [String]::IsNullOrWhiteSpace($probe)
258 }
259 catch {
260 $closed = $true
261 }
262 if (-not $closed) {
263 throw 'OneNote still reports the generated notebook as open.'
264 }
265}
266
267function Write-PageEvidence {
268 param(
269 [string]$Directory,
270 [string]$Hierarchy,
271 [string[]]$PageIds,
272 [string[]]$PageContents
273 )
274
275 if ($PageIds.Count -ne $PageContents.Count) {
276 throw 'Page evidence is incomplete.'
277 }
278 Assert-PathUnderRoot $Directory | Out-Null
279 $pagesDirectory = Join-Path $Directory 'pages'
280 New-Item -ItemType Directory -Path $pagesDirectory | Out-Null
281 [IO.File]::WriteAllText((Join-Path $Directory 'hierarchy.xml'), $Hierarchy, [Text.Encoding]::UTF8)
282 $pages = @()
283 for ($index = 0; $index -lt $PageIds.Count; $index++) {
284 $pageFile = 'page-{0:d2}.xml' -f $index
285 [IO.File]::WriteAllText((Join-Path $pagesDirectory $pageFile), $PageContents[$index], [Text.Encoding]::UTF8)
286 $pages += [pscustomobject][ordered]@{ id = $PageIds[$index]; file = "pages\\$pageFile" }
287 }
288 return $pages
289}
290
291function Open-GeneratedNotebook {
292 param([int]$ExpectedPageCount = -1)
293
294 $opened = ''
295 $script:app.OpenHierarchy($notebookPath, '', [ref]$opened, 0)
296 if ([String]::IsNullOrWhiteSpace($opened)) {
297 throw 'OneNote did not open the generated notebook.'
298 }
299 $script:openedNotebookId = $opened
300 $section = ''
301 $script:app.OpenHierarchy($sectionName, $opened, [ref]$section, 0)
302 if ([String]::IsNullOrWhiteSpace($section)) {
303 throw 'OneNote did not find the generated section.'
304 }
305 $script:sectionId = $section
306 $state = Read-ReadyGeneratedNotebook $ExpectedPageCount
307 Add-Log 'open_notebook' $null @{ notebook_id = $opened; path = $notebookPath; expected_page_count = if ($ExpectedPageCount -ge 0) { $ExpectedPageCount } else { $null }; actual_page_count = $state.page_ids.Count }
308 return $state
309}
310
311function Sync-CloseGeneratedNotebook {
312 param(
313 [string]$Fixture,
314 [string]$Phase
315 )
316
317 $closingId = $script:openedNotebookId
318 if ([String]::IsNullOrWhiteSpace($closingId)) { throw 'The generated notebook must be open before it is synced.' }
319 $script:app.SyncHierarchy($closingId)
320 Add-Log 'sync_hierarchy' $Fixture @{ notebook_id = $closingId; phase = $Phase }
321 $script:app.CloseNotebook($closingId, $false)
322 $script:openedNotebookId = $null
323 Confirm-Closed $closingId
324 Add-Log 'close_notebook' $Fixture @{ notebook_id = $closingId; phase = $Phase; confirmed = $true }
325}
326
327function Capture-Notebook {
328 param([string]$Fixture)
329
330 $evidence = Join-Path (Join-Path $root 'evidence') $Fixture
331 Assert-PathUnderRoot $evidence | Out-Null
332 if (Test-Path -LiteralPath $evidence) {
333 throw "Evidence '$Fixture' already exists."
334 }
335 $baseline = Read-ReadyGeneratedNotebook
336 $expectedPageCount = $baseline.page_ids.Count
337 Sync-CloseGeneratedNotebook $Fixture 'stabilize'
338 $snapshot = Copy-Snapshot $Fixture
339 Add-Log 'copy_snapshot' $Fixture @{ sha256 = $snapshot.copied.sha256; file_count = $snapshot.copied.file_count; byte_count = $snapshot.copied.byte_count }
340 $state = Open-GeneratedNotebook $expectedPageCount
341
342 New-Item -ItemType Directory -Path $evidence | Out-Null
343 $pages = @(Write-PageEvidence $evidence $state.hierarchy $state.page_ids $state.page_contents)
344 if ($Fixture -eq '06-attachment') {
345 $cachePaths = @(
346 foreach ($pageXml in @($state.page_contents)) {
347 [xml]$pageDocument = $pageXml
348 $manager = New-Object Xml.XmlNamespaceManager($pageDocument.NameTable)
349 $manager.AddNamespace('one', $namespace)
350 foreach ($file in @($pageDocument.SelectNodes('//one:InsertedFile', $manager))) {
351 if ($file.GetAttribute('preferredName') -eq 'fictitious-attachment.txt' -and -not [String]::IsNullOrWhiteSpace($file.GetAttribute('pathCache'))) {
352 $file.GetAttribute('pathCache')
353 }
354 }
355 }
356 )
357 if ($cachePaths.Count -ne 1 -or -not (Test-Path -LiteralPath $cachePaths[0] -PathType Leaf)) {
358 throw 'OneNote did not return one readable cached generated attachment.'
359 }
360 $attachment = [IO.File]::ReadAllBytes($cachePaths[0])
361 [IO.File]::WriteAllBytes((Join-Path $evidence 'attachment.txt'), $attachment)
362 Add-Log 'capture_attachment_cache' $Fixture @{ bytes = $attachment.Length }
363 }
364 $native = [pscustomobject][ordered]@{
365 fixture = $Fixture
366 notebook_id = $script:openedNotebookId
367 section_id = $script:sectionId
368 hierarchy_file = 'hierarchy.xml'
369 pages = $pages
370 }
371 Write-Json $native (Join-Path $evidence 'native.json')
372 Add-Log 'capture_native_api' $Fixture @{ page_count = $pages.Count; schema = $schema }
373
374 Sync-CloseGeneratedNotebook $Fixture 'persist'
375 $reopened = Open-GeneratedNotebook $expectedPageCount
376 $reopenedDirectory = Join-Path $evidence 'reopened'
377 if (Test-Path -LiteralPath $reopenedDirectory) { throw "Reopened evidence for '$Fixture' already exists." }
378 New-Item -ItemType Directory -Path $reopenedDirectory | Out-Null
379 $reopenedPages = @(Write-PageEvidence $reopenedDirectory $reopened.hierarchy $reopened.page_ids $reopened.page_contents)
380 Write-Json ([pscustomobject][ordered]@{
381 expected_page_count = $expectedPageCount
382 actual_page_count = $reopenedPages.Count
383 hierarchy_file = 'hierarchy.xml'
384 pages = $reopenedPages
385 }) (Join-Path $reopenedDirectory 'native.json')
386 Add-Log 'reopen_ready' $Fixture @{ expected_page_count = $expectedPageCount; actual_page_count = $reopenedPages.Count }
387 return [pscustomobject][ordered]@{
388 evidence = $evidence.Substring($root.Length).TrimStart('\')
389 reopened_evidence = (Join-Path (Join-Path 'evidence' $Fixture) 'reopened')
390 snapshot = (Join-Path 'snapshots' $Fixture)
391 }
392}
393
394function Invoke-Step {
395 param(
396 [string]$Name,
397 [string]$Description,
398 [scriptblock]$Action
399 )
400
401 try {
402 Add-Log 'begin_fixture' $Name @{ description = $Description }
403 & $Action
404 $capture = Capture-Notebook $Name
405 Add-Fixture $Name 'captured' $Description $capture
406 }
407 catch {
408 Add-Log 'fixture_failed' $Name @{ error = $_.Exception.Message }
409 Add-Fixture $Name 'failed' $Description @{ error = $_.Exception.Message }
410 throw
411 }
412}
413
414function Invoke-PageUpdate {
415 param(
416 [string]$Fixture,
417 [string]$Xml,
418 $Details
419 )
420
421 $input = Join-Path (Join-Path $root 'inputs') "$Fixture.xml"
422 Assert-PathUnderRoot $input | Out-Null
423 [IO.File]::WriteAllText($input, $Xml, [Text.Encoding]::UTF8)
424 $script:app.UpdatePageContent($Xml, [DateTime]::MinValue, $schema, $false)
425 Add-Log 'update_page_content' $Fixture $Details
426}
427
428function Get-OfficeMetadata {
429 $clsid = (Get-Item -LiteralPath 'Registry::HKEY_CLASSES_ROOT\OneNote.Application\CLSID').GetValue('')
430 $server = (Get-Item -LiteralPath "Registry::HKEY_CLASSES_ROOT\CLSID\$clsid\LocalServer32").GetValue('')
431 $match = [regex]::Match($server, '^"(?<path>[^"]+\.exe)"|^(?<path>[^\s]+\.exe)', [Text.RegularExpressions.RegexOptions]::IgnoreCase)
432 if (-not $match.Success) {
433 throw 'OneNote LocalServer32 does not resolve an executable.'
434 }
435 $path = $match.Groups['path'].Value
436 if (-not (Test-Path -LiteralPath $path -PathType Leaf)) {
437 throw 'OneNote LocalServer32 executable is unavailable.'
438 }
439 $version = (Get-Item -LiteralPath $path).VersionInfo.FileVersion
440 if ([String]::IsNullOrWhiteSpace($version)) {
441 throw 'OneNote executable has no file version.'
442 }
443 return [pscustomobject][ordered]@{
444 prog_id = 'OneNote.Application'
445 clsid = $clsid
446 local_server = $server
447 executable = $path
448 file_version = $version
449 xml_schema = 'xs2010'
450 xml_schema_value = $schema
451 xml_namespace = $namespace
452 }
453}
454
455function Wait-ForStableFile {
456 param([string]$Path)
457
458 $full = Assert-PathUnderRoot $Path
459 $deadline = (Get-Date).AddSeconds(30)
460 while ((Get-Date) -lt $deadline) {
461 if (Test-Path -LiteralPath $full -PathType Leaf) {
462 $first = Get-Item -LiteralPath $full
463 $firstHash = (Get-FileHash -LiteralPath $full -Algorithm SHA256).Hash.ToLowerInvariant()
464 Start-Sleep -Milliseconds 500
465 $second = Get-Item -LiteralPath $full
466 $secondHash = (Get-FileHash -LiteralPath $full -Algorithm SHA256).Hash.ToLowerInvariant()
467 if ($first.Length -eq $second.Length -and $firstHash -eq $secondHash) {
468 return [pscustomobject][ordered]@{ bytes = [int64]$second.Length; sha256 = $secondHash }
469 }
470 }
471 Start-Sleep -Milliseconds 500
472 }
473 throw 'OneNote did not finish writing the package within 30 seconds.'
474}
475
476$profile = 'HKCU:\Software\Microsoft\Office\14.0\OneNote'
477if ((Get-ItemProperty "$profile\Options\Paths").UnfiledNotesSection -ne 'C:\one-tests\Loose.one' -or
478 -not (Test-Path 'C:\one-tests\profile-original-cache')) {
479 throw 'Park the personal OneNote profile before running native tests.'
480}
481if (Get-Process ONENOTE -ErrorAction SilentlyContinue) { throw 'Close OneNote before creating fixtures.' }
482Assert-RunRoot
483
484if ($Mode -eq 'Create') {
485 if (Test-Path -LiteralPath $root) {
486 throw 'Choose a root that does not exist.'
487 }
488 New-Item -ItemType Directory -Path $root | Out-Null
489 foreach ($directory in 'assets', 'evidence', 'inputs', 'snapshots') {
490 New-Item -ItemType Directory -Path (Join-Path $root $directory) | Out-Null
491 }
492 Write-Json ([pscustomobject][ordered]@{
493 format = 'onenote-native-stage1-root-v1'
494 root = $root
495 generated = $true
496 }) $markerPath
497 $script:manifest = [pscustomobject][ordered]@{
498 format = 'onenote-native-stage1-v1'
499 status = 'running'
500 root = $root
501 created_at_utc = [DateTime]::UtcNow.ToString('o')
502 office = Get-OfficeMetadata
503 harness = [pscustomobject][ordered]@{
504 source_path = $PSCommandPath
505 source_sha256 = (Get-FileHash -LiteralPath $PSCommandPath -Algorithm SHA256).Hash.ToLowerInvariant()
506 }
507 notebook = [pscustomobject][ordered]@{ path = 'notebook'; section = $sectionName }
508 fixtures = @()
509 operation_log = 'operation-log.jsonl'
510 }
511 Save-Manifest
512}
513else {
514 if (-not (Test-Path -LiteralPath $root -PathType Container) -or -not (Test-Path -LiteralPath $markerPath -PathType Leaf)) {
515 throw 'Capture requires a generated corpus root.'
516 }
517 if (((Get-Item -LiteralPath $root -Force).Attributes -band [IO.FileAttributes]::ReparsePoint) -ne 0) {
518 throw 'Capture root cannot be a reparse point.'
519 }
520 if (-not (Test-Path -LiteralPath $manifestPath -PathType Leaf) -or -not (Test-Path -LiteralPath $notebookPath -PathType Container)) {
521 throw 'Capture requires the generated manifest and notebook.'
522 }
523 try {
524 $marker = Get-Content -LiteralPath $markerPath -Raw | ConvertFrom-Json
525 }
526 catch {
527 throw 'Capture requires a readable generated corpus marker.'
528 }
529 if ($marker.format -ne 'onenote-native-stage1-root-v1' -or $marker.generated -ne $true -or
530 -not [String]::Equals([IO.Path]::GetFullPath($marker.root).TrimEnd('\'), $root, [StringComparison]::OrdinalIgnoreCase)) {
531 throw 'Capture root marker does not match this generated corpus.'
532 }
533 if ([String]::IsNullOrWhiteSpace($Step) -or $Step -notmatch '^[0-9]{2}-[a-z0-9-]+$') {
534 throw 'Choose a lowercase numbered fixture name for -Step.'
535 }
536 $script:manifest = Get-Content -LiteralPath $manifestPath -Raw | ConvertFrom-Json
537}
538
539try {
540 $script:app = New-Object -ComObject OneNote.Application
541 Add-Log 'connect_com' $null @{ prog_id = 'OneNote.Application'; schema = $schema }
542
543 if ($Mode -eq 'Capture') {
544 Open-GeneratedNotebook
545 $capture = Capture-Notebook $Step
546 Add-Fixture $Step 'captured' 'Manual native fixture.' $capture
547 }
548 else {
549 $attachmentPath = Join-Path $root 'assets\fictitious-attachment.txt'
550 $imagePath = Join-Path $root 'assets\fictitious-image.png'
551 [IO.File]::WriteAllText($attachmentPath, 'Fictitious attachment for native corpus.', [Text.Encoding]::UTF8)
552 [IO.File]::WriteAllBytes($imagePath, [Convert]::FromBase64String('iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoAAAAASUVORK5CYII='))
553 Add-Log 'generate_assets' $null @{ attachment = 'assets\fictitious-attachment.txt'; image = 'assets\fictitious-image.png' }
554
555 Invoke-Step '00-empty' 'New notebook and section.' {
556 $notebook = ''
557 $script:app.OpenHierarchy($notebookPath, '', [ref]$notebook, 1)
558 if ([String]::IsNullOrWhiteSpace($notebook)) { throw 'OneNote did not create the generated notebook.' }
559 $script:openedNotebookId = $notebook
560 $section = ''
561 $script:app.OpenHierarchy($sectionName, $notebook, [ref]$section, 3)
562 if ([String]::IsNullOrWhiteSpace($section)) { throw 'OneNote did not create the generated section.' }
563 $script:sectionId = $section
564 Add-Log 'create_notebook_section' '00-empty' @{ notebook_id = $notebook; section_id = $section; path = $notebookPath }
565 }
566
567 Invoke-Step '01-blank-page' 'Blank page with no title.' {
568 $page = ''
569 $script:app.CreateNewPage($script:sectionId, [ref]$page, 2)
570 if ([String]::IsNullOrWhiteSpace($page)) { throw 'OneNote did not create the blank page.' }
571 Add-Log 'create_new_page' '01-blank-page' @{ page_id = $page; style = 'npsBlankPageNoTitle'; value = 2 }
572 }
573
574 Invoke-Step '02-text' 'Plain text outline.' {
575 $pageId = Get-SolePageId
576 $body = '<one:Outline><one:OEChildren><one:OE><one:T><![CDATA[Fictitious plain text.]]></one:T></one:OE></one:OEChildren></one:Outline>'
577 $xml = "<one:Page xmlns:one=`"$namespace`" ID=`"$pageId`">$body</one:Page>"
578 Invoke-PageUpdate '02-text' $xml @{ page_id = $pageId; kind = 'plain_text_outline'; input = 'inputs\\02-text.xml' }
579 }
580
581 Invoke-Step '03-format-unicode' 'Formatted Unicode text replacing the fetched outline.' {
582 $pageId = Get-SolePageId
583 $before = Get-PageXml $pageId
584 [IO.File]::WriteAllText((Join-Path $root 'evidence\03-format-unicode-before.xml'), $before, [Text.Encoding]::UTF8)
585 [xml]$source = $before
586 $manager = New-Object Xml.XmlNamespaceManager($source.NameTable)
587 $manager.AddNamespace('one', $namespace)
588 $outline = $source.SelectSingleNode('//one:Outline[@objectID]', $manager)
589 if ($null -eq $outline) { throw 'OneNote did not assign an objectID to the text outline.' }
590 $text = $outline.SelectSingleNode('.//one:T', $manager)
591 if ($null -eq $text) { throw 'The fetched text outline has no text node.' }
592 foreach ($child in @($text.ChildNodes)) { [void]$text.RemoveChild($child) }
593 $unicode = 'Fictitious: caf' + [char]0x00E9 + ', ' + [char]0x6771 + [char]0x4EAC + ', ' + [char]0x0645 + [char]0x0631 + [char]0x062D + [char]0x0628 + [char]0x0627
594 $html = '<span style="font-family:Calibri;font-size:11.0pt;font-weight:bold;color:#1F4E79">' + $unicode + '</span>'
595 [void]$text.AppendChild($source.CreateCDataSection($html))
596 $change = New-Object Xml.XmlDocument
597 $page = $change.CreateElement('one', 'Page', $namespace)
598 $page.SetAttribute('ID', $pageId)
599 [void]$page.AppendChild($change.ImportNode($outline, $true))
600 [void]$change.AppendChild($page)
601 Invoke-PageUpdate '03-format-unicode' $change.OuterXml @{ page_id = $pageId; object_id = $outline.GetAttribute('objectID'); kind = 'full_outline_replace'; input = 'inputs\\03-format-unicode.xml' }
602 }
603
604 Invoke-Step '04-positioned-outline' 'Positioned text outline.' {
605 $pageId = Get-SolePageId
606 $body = '<one:Outline><one:Position x="144" y="96"/><one:Size width="260" height="72"/><one:OEChildren><one:OE><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline>'
607 $xml = "<one:Page xmlns:one=`"$namespace`" ID=`"$pageId`">$body</one:Page>"
608 Invoke-PageUpdate '04-positioned-outline' $xml @{ page_id = $pageId; x = 144; y = 96; input = 'inputs\\04-positioned-outline.xml' }
609 }
610
611 Invoke-Step '05-image' 'Generated PNG in a positioned outline.' {
612 $pageId = Get-SolePageId
613 $data = [Convert]::ToBase64String([IO.File]::ReadAllBytes($imagePath))
614 $body = '<one:Outline><one:Position x="144" y="192"/><one:Size width="96" height="96"/><one:OEChildren><one:OE><one:Image format="png"><one:Data>' + $data + '</one:Data></one:Image></one:OE></one:OEChildren></one:Outline>'
615 $xml = "<one:Page xmlns:one=`"$namespace`" ID=`"$pageId`">$body</one:Page>"
616 Invoke-PageUpdate '05-image' $xml @{ page_id = $pageId; asset = 'assets\fictitious-image.png'; x = 144; y = 192; input = 'inputs\\05-image.xml' }
617 }
618
619 Invoke-Step '06-attachment' 'Generated attachment in a positioned outline.' {
620 $pageId = Get-SolePageId
621 $body = '<one:Outline><one:Position x="264" y="192"/><one:OEChildren><one:OE><one:InsertedFile pathSource="' + [Security.SecurityElement]::Escape($attachmentPath) + '" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline>'
622 $xml = "<one:Page xmlns:one=`"$namespace`" ID=`"$pageId`">$body</one:Page>"
623 Invoke-PageUpdate '06-attachment' $xml @{ page_id = $pageId; asset = 'assets\fictitious-attachment.txt'; x = 264; y = 192; input = 'inputs\\06-attachment.xml' }
624 }
625
626 Invoke-Step '07-table' 'Two-cell native table.' {
627 $pageId = Get-SolePageId
628 $body = '<one:Outline><one:Position x="144" y="312"/><one:OEChildren><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="37.11"/><one:Column index="1" width="37.11"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline>'
629 $xml = "<one:Page xmlns:one=`"$namespace`" ID=`"$pageId`">$body</one:Page>"
630 Invoke-PageUpdate '07-table' $xml @{ page_id = $pageId; x = 144; y = 312; input = 'inputs\\07-table.xml'; kind = 'two_cell_table' }
631 }
632
633 try {
634 $packagePath = Join-Path $root 'notebook.onepkg'
635 $script:app.Publish($script:openedNotebookId, $packagePath, 1, '')
636 $package = Wait-ForStableFile $packagePath
637 $capture = Capture-Notebook '08-onepkg'
638 Add-Fixture '08-onepkg' 'captured' 'Published OneNote package.' @{ package = 'notebook.onepkg'; bytes = $package.bytes; sha256 = $package.sha256; capture = $capture }
639 Add-Log 'publish_package' '08-onepkg' @{ package = 'notebook.onepkg'; bytes = $package.bytes; sha256 = $package.sha256 }
640 }
641 catch {
642 Add-Log 'fixture_failed' '08-onepkg' @{ error = $_.Exception.Message }
643 Add-Fixture '08-onepkg' 'failed' 'Published OneNote package.' @{ error = $_.Exception.Message }
644 }
645 }
646
647 $script:manifest.status = if (@($script:manifest.fixtures | Where-Object { $_.status -eq 'failed' }).Count -gt 0) { 'completed-with-failures' } else { 'completed' }
648 $script:manifest | Add-Member -NotePropertyName completed_at_utc -NotePropertyValue ([DateTime]::UtcNow.ToString('o')) -Force
649 Save-Manifest
650}
651catch {
652 if ($null -ne $script:manifest) {
653 $script:manifest.status = 'failed'
654 $script:manifest | Add-Member -NotePropertyName failure -NotePropertyValue $_.Exception.Message -Force
655 Save-Manifest
656 }
657 throw
658}
659finally {
660 if ($null -ne $script:app -and -not [String]::IsNullOrWhiteSpace($script:openedNotebookId)) {
661 try {
662 $script:app.CloseNotebook($script:openedNotebookId, $false)
663 }
664 catch {
665 }
666 }
667}
tools/native/delete-fixture.ps1 created+36
...@@ -0,0 +1,36 @@
1param([Parameter(Mandatory=$true)][string]$Root)
2Set-StrictMode -Version Latest
3$ErrorActionPreference = 'Stop'
4$root = [IO.Path]::GetFullPath($Root).TrimEnd('\')
5if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') { throw 'Choose a run directly below C:\one-tests\runs.' }
6& "$PSScriptRoot\cold-current.ps1" -Root $root
7$app = New-Object -ComObject OneNote.Application
8$notebook = ''
9try {
10 $app.OpenHierarchy("$root\notebook", '', [ref]$notebook, 0)
11 $section = ''
12 $app.OpenHierarchy('synthetic.one', $notebook, [ref]$section, 0)
13 $page = ''
14 $app.CreateNewPage($section, [ref]$page, 2)
15 $xml = '<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="' + $page + '"><one:Outline><one:OEChildren><one:OE><one:T>Recoverable deletion marker.</one:T></one:OE></one:OEChildren></one:Outline></one:Page>'
16 $app.UpdatePageContent($xml, [DateTime]::MinValue, 1, $false)
17 $app.SyncHierarchy($notebook)
18 $app.CloseNotebook($notebook, $false)
19 Copy-Item "$root\notebook" "$root\before" -Recurse
20 $app.OpenHierarchy("$root\notebook", '', [ref]$notebook, 0)
21 $app.OpenHierarchy('synthetic.one', $notebook, [ref]$section, 0)
22 $hierarchy = ''
23 $app.GetHierarchy($section, 4, [ref]$hierarchy, 1)
24 [xml]$tree = $hierarchy
25 $target = @($tree.SelectNodes('//*[local-name()="Page"]') | Where-Object { $_.GetAttribute('name') -eq 'Recoverable deletion marker.' })
26 if ($target.Count -ne 1) { throw 'The generated deletion page did not persist.' }
27 $app.DeleteHierarchy($target[0].GetAttribute('ID'), [DateTime]::MinValue, $false)
28 $app.SyncHierarchy($notebook)
29} finally {
30 if ($notebook) { $app.CloseNotebook($notebook, $false) }
31 [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
32 $app = $null
33 [GC]::Collect()
34 [GC]::WaitForPendingFinalizers()
35 Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10
36}
tools/native/edit-existing.ps1 created+46
...@@ -0,0 +1,46 @@
1param([Parameter(Mandatory=$true)][string]$Root,
2 [Parameter(Mandatory=$true)][string]$ExpectedText,
3 [Parameter(Mandatory=$true)][string]$Text)
4Set-StrictMode -Version Latest
5$ErrorActionPreference = 'Stop'
6$root = [IO.Path]::GetFullPath($Root).TrimEnd('\')
7if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') { throw 'Choose a run directly below C:\one-tests\runs.' }
8& "$PSScriptRoot\cold-current.ps1" -Root $root
9$app = New-Object -ComObject OneNote.Application
10$notebook = ''
11try {
12 $app.OpenHierarchy("$root\notebook", '', [ref]$notebook, 0)
13 $section = ''
14 $app.OpenHierarchy('synthetic.one', $notebook, [ref]$section, 0)
15 $deadline = [DateTime]::UtcNow.AddSeconds(30)
16 $matches = @()
17 do {
18 $hierarchy = ''
19 $app.GetHierarchy($section, 4, [ref]$hierarchy, 1)
20 [xml]$tree = $hierarchy
21 $pages = @($tree.SelectNodes('//*[local-name()="Page"]'))
22 if ($pages.Count -gt 1) { throw 'Expected a single demo page.' }
23 if ($pages.Count -eq 1) {
24 $content = ''
25 $app.GetPageContent($pages[0].GetAttribute('ID'), [ref]$content, 3, 1)
26 [xml]$page = $content
27 $matches = @($page.SelectNodes('//*[local-name()="T"]') | Where-Object { $_.InnerText -eq $ExpectedText })
28 if ($matches.Count -eq 1) { break }
29 }
30 Start-Sleep -Milliseconds 250
31 } while ([DateTime]::UtcNow -lt $deadline)
32 if ($matches.Count -ne 1) { throw 'Expected one matching demo text object.' }
33 [IO.File]::WriteAllText("$root\before.xml", $content, [Text.Encoding]::UTF8)
34 $matches[0].InnerText = [Security.SecurityElement]::Escape($Text)
35 $app.UpdatePageContent($page.OuterXml, [DateTime]::MinValue, 1, $false)
36 $app.SyncHierarchy($notebook)
37} finally {
38 try { if ($notebook) { $app.CloseNotebook($notebook, $false) } }
39 finally {
40 [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
41 $app = $null
42 [GC]::Collect()
43 [GC]::WaitForPendingFinalizers()
44 Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10
45 }
46}
tools/native/features.ps1 created+58
...@@ -0,0 +1,58 @@
1param([Parameter(Mandatory=$true)][string]$Root, [Parameter(Mandatory=$true)][string]$CloneHost)
2Set-StrictMode -Version Latest
3$ErrorActionPreference = 'Stop'
4& "$PSScriptRoot\cold-current.ps1" -Root $Root -CloneHost $CloneHost
5$inputs = Join-Path $Root 'inputs'
6New-Item -ItemType Directory -Path $inputs | Out-Null
7$app = New-Object -ComObject OneNote.Application
8$notebookId = ''
9$namespace = 'http://schemas.microsoft.com/office/onenote/2010/onenote'
10try {
11 $app.OpenHierarchy((Join-Path $Root 'notebook'), '', [ref]$notebookId, 0)
12 $sectionId = ''
13 $app.OpenHierarchy('synthetic.one', $notebookId, [ref]$sectionId, 0)
14 $cases = @(
15 @{ name = 'Black highlight control'; html = '<span style="background:black">Black highlight, automatic text</span>' },
16 @{ name = 'White on black'; html = '<span style="background:black;color:white">White text on black highlight</span>' },
17 @{ name = 'Black on black'; html = '<span style="background:black;color:black">Black text on black highlight</span>' },
18 @{ name = 'Partial black highlight'; html = '<b>Before <span style="background:black">middle</span> after</b>' },
19 @{ name = 'Yellow control'; html = '<span style="background:yellow">Yellow highlight, automatic text</span>' },
20 @{ name = 'Character styles'; html = 'Plain <b>bold</b> <i>italic</i> <u>underline</u> <s>strike</s> <sup>super</sup> <sub>sub</sub> <span style="font-family:Consolas;font-size:18pt;color:#804020;background:#00ffff">font and color</span>' },
21 @{ name = 'Unicode runs'; html = 'BMP <b>' + [char]::ConvertFromUtf32(0x1F600) + 'e' + [char]0x0301 + '</b> ' + [char]0x6771 + [char]0x4EAC + ' <i>' + [char]0x0645 + [char]0x0631 + [char]0x062D + [char]0x0628 + [char]0x0627 + '</i>' },
22 @{ name = 'Link runs'; html = 'Before <a href="https://example.invalid/fixture?x=1&amp;y=2"><b>Link label</b></a> after' }
23 )
24 $pageId = ''
25 $app.CreateNewPage($sectionId, [ref]$pageId, 0)
26 $body = '<one:Title><one:OE><one:T><![CDATA[Native feature probes]]></one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108"/><one:Size width="480" height="400"/><one:OEChildren>'
27 foreach ($case in $cases) { $body += '<one:OE><one:T><![CDATA[' + $case.html + ']]></one:T></one:OE>' }
28 $body += '</one:OEChildren></one:Outline>'
29 $body = '<one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="Fixture checkbox"/><one:TagDef index="1" type="90" symbol="13" fontColor="#804020" highlightColor="#00ffff" name="Fixture custom tag"/><one:QuickStyleDef index="0" name="h1" font="Calibri" fontSize="20" bold="true" fontColor="#123456" highlightColor="automatic" spaceBefore="8" spaceAfter="4"/>' + $body
30 $body += '<one:Outline><one:Position x="72" y="540"/><one:Size width="480" height="600"/><one:OEChildren>'
31 $body += '<one:OE quickStyleIndex="0" alignment="right"><one:T><![CDATA[Named paragraph style]]></one:T></one:OE>'
32 $body += '<one:OE><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:Tag index="1" completed="true" disabled="false" creationDate="2020-01-02T03:04:05.000Z" completionDate="2020-01-02T04:05:06.000Z"/><one:T><![CDATA[Two tags on this paragraph]]></one:T></one:OE>'
33 $body += '<one:OE><one:List><one:Bullet bullet="3" fontSize="11"/></one:List><one:T><![CDATA[Outer bullet]]></one:T><one:OEChildren><one:OE><one:List><one:Bullet bullet="13" fontSize="11"/></one:List><one:T><![CDATA[Nested bullet]]></one:T></one:OE></one:OEChildren></one:OE>'
34 $body += '<one:OE><one:List><one:Number numberSequence="1" numberFormat="##." restartNumberingAt="3" font="Calibri" fontSize="11"/></one:List><one:T><![CDATA[Numbered item three]]></one:T></one:OE><one:OE><one:List><one:Number numberSequence="1" numberFormat="##." font="Calibri" fontSize="11"/></one:List><one:T><![CDATA[Numbered item four]]></one:T></one:OE>'
35 $body += '<one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="120" isLocked="true"/><one:Column index="1" width="180" isLocked="false"/></one:Columns>'
36 foreach ($row in 0..2) {
37 $body += '<one:Row>'
38 foreach ($column in 0..1) {
39 $body += '<one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell ' + $row + ',' + $column + ']]></one:T></one:OE></one:OEChildren></one:Cell>'
40 }
41 $body += '</one:Row>'
42 }
43 $body += '</one:Table></one:OE></one:OEChildren></one:Outline>'
44
45 $xml = '<one:Page xmlns:one="' + $namespace + '" ID="' + $pageId + '">' + $body + '</one:Page>'
46 [IO.File]::WriteAllText((Join-Path $inputs 'format-probes.xml'), $xml, [Text.Encoding]::UTF8)
47 $app.UpdatePageContent($xml, [DateTime]::MinValue, 1, $true)
48 $cases | ConvertTo-Json -Depth 8 | Set-Content (Join-Path $Root 'expected.json') -Encoding UTF8
49 $app.SyncHierarchy($notebookId)
50 $app.CloseNotebook($notebookId, $false)
51 $notebookId = ''
52} finally {
53 if ($notebookId) { $app.CloseNotebook($notebookId, $false) }
54 [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
55 $app = $null
56 [GC]::Collect()
57 [GC]::WaitForPendingFinalizers()
58}
tools/native/history.ps1 created+83
...@@ -0,0 +1,83 @@
1param([Parameter(Mandatory=$true)][string]$Root, [Parameter(Mandatory=$true)][string]$CloneHost)
2Set-StrictMode -Version Latest
3$ErrorActionPreference = 'Stop'
4& "$PSScriptRoot\cold-current.ps1" -Root $Root -CloneHost $CloneHost
5$histories = Get-Content (Join-Path $Root 'notebook\histories.json') -Raw -Encoding UTF8 | ConvertFrom-Json
6$inputs = Join-Path $Root 'inputs'
7New-Item -ItemType Directory -Path $inputs | Out-Null
8$app = New-Object -ComObject OneNote.Application
9$notebookId = ''
10$namespace = 'http://schemas.microsoft.com/office/onenote/2010/onenote'
11try {
12 $app.OpenHierarchy((Join-Path $Root 'notebook'), '', [ref]$notebookId, 0)
13 $sectionId = ''
14 $app.OpenHierarchy('synthetic.one', $notebookId, [ref]$sectionId, 0)
15 foreach ($history in $histories) {
16 $pageId = ''
17 $app.CreateNewPage($sectionId, [ref]$pageId, 0)
18 $state = $history.initial
19 $paragraphs = New-Object Collections.ArrayList
20 foreach ($paragraph in $state.paragraphs) { [void]$paragraphs.Add($paragraph) }
21 $ids = @{}
22 $outlineId = ''
23 for ($step = -1; $step -lt $history.operations.Count; $step++) {
24 if ($step -ge 0) {
25 $op = $history.operations[$step]
26 switch ($op.kind) {
27 'insert' { $paragraphs.Insert($op.index, $op.paragraph) }
28 'delete' { $paragraphs.RemoveAt($op.index) }
29 'move' { $paragraph = $paragraphs[$op.index]; $paragraphs.RemoveAt($op.index); $paragraphs.Insert($op.to, $paragraph) }
30 'position' { $state.x = $op.x; $state.y = $op.y }
31 'cell' { $state.table[$op.row][$op.column] = $op.text }
32 default { $property = $op.kind; $paragraphs[$op.index].$property = $op.value }
33 }
34 }
35 $xml = '<one:Page xmlns:one="' + $namespace + '" ID="' + $pageId + '"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>' + $history.title + '</one:T></one:OE></one:Title><one:Outline'
36 if ($outlineId) { $xml += ' objectID="' + $outlineId + '"' }
37 $xml += '><one:Position x="' + $state.x + '" y="' + $state.y + '"/><one:Size width="480" height="100"/><one:OEChildren>'
38 foreach ($paragraph in $paragraphs) {
39 $xml += '<one:OE'
40 if ($ids.ContainsKey($paragraph.id)) { $xml += ' objectID="' + $ids[$paragraph.id] + '"' }
41 $xml += '>'
42 if ($paragraph.tag) { $xml += '<one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/>' }
43 $decoration = @()
44 if ($paragraph.underline) { $decoration += 'underline' }
45 if ($paragraph.strike) { $decoration += 'line-through' }
46 if ($decoration.Count -eq 0) { $decoration = @('none') }
47 $style = 'font-family:Calibri;font-size:' + $paragraph.font_size + 'pt;font-weight:' + $(if ($paragraph.bold) {'bold'} else {'normal'}) + ';font-style:' + $(if ($paragraph.italic) {'italic'} else {'normal'}) + ';text-decoration:' + ($decoration -join ' ') + ';color:' + $paragraph.color + ';background:' + $paragraph.highlight
48 $html = '<span style="' + $style + '">' + [Security.SecurityElement]::Escape($paragraph.text) + '</span>'
49 if ($paragraph.link) { $html = '<a href="' + [Security.SecurityElement]::Escape($paragraph.link) + '">' + $html + '</a>' }
50 $xml += '<one:T><![CDATA[' + $html + ']]></one:T></one:OE>'
51 }
52 $xml += '<one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns>'
53 foreach ($row in $state.table) {
54 $xml += '<one:Row>'
55 foreach ($cell in $row) { $xml += '<one:Cell><one:OEChildren><one:OE><one:T><![CDATA[' + [Security.SecurityElement]::Escape($cell) + ']]></one:T></one:OE></one:OEChildren></one:Cell>' }
56 $xml += '</one:Row>'
57 }
58 $xml += '</one:Table></one:OE></one:OEChildren></one:Outline></one:Page>'
59 [IO.File]::WriteAllText((Join-Path $inputs ('{0:d6}-{1:d2}.xml' -f $history.seed, ($step + 1))), $xml, [Text.Encoding]::UTF8)
60 $app.UpdatePageContent($xml, [DateTime]::MinValue, 1, $true)
61 $content = ''
62 $app.GetPageContent($pageId, [ref]$content, 3, 1)
63 [xml]$document = $content
64 $manager = New-Object Xml.XmlNamespaceManager($document.NameTable)
65 $manager.AddNamespace('one', $namespace)
66 $outline = $document.SelectSingleNode('/one:Page/one:Outline', $manager)
67 $outlineId = $outline.GetAttribute('objectID')
68 $objects = @($outline.SelectNodes('one:OEChildren/one:OE[one:T]', $manager))
69 if ($objects.Count -ne $paragraphs.Count) { throw "Native paragraph count changed at seed $($history.seed), step $step." }
70 for ($index = 0; $index -lt $paragraphs.Count; $index++) { $ids[$paragraphs[$index].id] = $objects[$index].GetAttribute('objectID') }
71 $log = @{ seed = $history.seed; step = $step; page = $pageId; outline = $outlineId } | ConvertTo-Json -Compress
72 [IO.File]::AppendAllText((Join-Path $Root 'operations.jsonl'), $log + [Environment]::NewLine, [Text.Encoding]::UTF8)
73 }
74 }
75 $app.SyncHierarchy($notebookId)
76 $app.CloseNotebook($notebookId, $false)
77 $notebookId = ''
78} finally {
79 if ($notebookId) { $app.CloseNotebook($notebookId, $false) }
80 [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
81 [GC]::Collect()
82 [GC]::WaitForPendingFinalizers()
83}
tools/native/ink.ahk created+17
...@@ -0,0 +1,17 @@
1SendMode("Event")
2WinActivate("ahk_class Framework::CFrame")
3WinMaximize()
4Click(258,36)
5Sleep(300)
6Click(205,69)
7Sleep(300)
8MouseMove(650,310)
9Click("Down")
10MouseMove(690,350,25)
11MouseMove(650,390,25)
12MouseMove(610,350,25)
13MouseMove(650,310,25)
14Click("Up")
15MouseClickDrag("Left",720,320,760,380,25)
16Sleep(300)
17Click(21,74)
tools/native/network.ps1 created+16
...@@ -0,0 +1,16 @@
1param([Parameter(Mandatory=$true)][string]$LabMac)
2Set-StrictMode -Version Latest
3$ErrorActionPreference = 'Stop'
4$adapter = @(Get-WmiObject Win32_NetworkAdapterConfiguration | Where-Object { $_.MACAddress -eq $LabMac })
5if ($adapter.Count -ne 1) { throw 'The clone lab adapter is ambiguous.' }
6$release = $adapter[0].ReleaseDHCPLease()
7$result = $adapter[0].RenewDHCPLease()
8$deadline = [DateTime]::UtcNow.AddSeconds(60)
9do {
10 $adapter = @(Get-WmiObject Win32_NetworkAdapterConfiguration | Where-Object { $_.MACAddress -eq $LabMac })
11 $addresses = @($adapter[0].IPAddress | Where-Object { $_ -match '^192\.168\.77\.\d+$' -and $_ -ne '192.168.77.1' })
12 if ($addresses.Count -eq 1) { break }
13 Start-Sleep -Milliseconds 250
14} while ([DateTime]::UtcNow -lt $deadline)
15if ($addresses.Count -ne 1) { throw ('The clone did not receive a lab IPv4 address; renewal result ' + $result.ReturnValue) }
16@{mac=$LabMac;address=$addresses[0];releaseResult=$release.ReturnValue;renewalResult=$result.ReturnValue} | ConvertTo-Json -Compress
tools/native/page-direction.ps1 created+45
...@@ -0,0 +1,45 @@
1param([Parameter(Mandatory=$true)][string]$Root, [Parameter(Mandatory=$true)][string]$CloneHost)
2Set-StrictMode -Version Latest
3$ErrorActionPreference = 'Stop'
4& "$PSScriptRoot\cold-current.ps1" -Root $Root -CloneHost $CloneHost
5$app = New-Object -ComObject OneNote.Application
6$notebook = ''
7try {
8 $app.OpenHierarchy((Join-Path $Root 'notebook'), '', [ref]$notebook, 0)
9 $section = ''
10 $app.OpenHierarchy('synthetic.one', $notebook, [ref]$section, 0)
11 $deadline = [DateTime]::UtcNow.AddSeconds(60)
12 do {
13 $hierarchy = ''
14 $app.GetHierarchy($section, 4, [ref]$hierarchy, 1)
15 [xml]$tree = $hierarchy
16 $pages = @($tree.SelectNodes('//*[local-name()="Page"]'))
17 if ($pages.Count -gt 0) { break }
18 Start-Sleep -Milliseconds 100
19 } while ([DateTime]::UtcNow -lt $deadline)
20 if ($pages.Count -ne 1) { throw 'The direction fixture requires one page.' }
21 $content = ''
22 $app.GetPageContent($pages[0].GetAttribute('ID'), [ref]$content, 1, 1)
23 [IO.File]::WriteAllText("$Root\before.xml", $content, [Text.Encoding]::UTF8)
24 [xml]$page = $content
25 $settings = $page.SelectSingleNode('//*[local-name()="PageSettings"]')
26 $settings.SetAttribute('RTL', 'true')
27 $columns = @($page.SelectNodes('//*[local-name()="Column"]'))
28 for ($i = 0; $i -lt $columns.Count; $i++) {
29 $columns[$i].SetAttribute('width', (96 + 48 * $i).ToString())
30 $columns[$i].SetAttribute('isLocked', 'true')
31 }
32 $app.UpdatePageContent($page.OuterXml, [DateTime]::MinValue, 1, $true)
33 $app.GetPageContent($pages[0].GetAttribute('ID'), [ref]$content, 1, 1)
34 [IO.File]::WriteAllText("$Root\after.xml", $content, [Text.Encoding]::UTF8)
35 [xml]$after = $content
36 if ($after.SelectSingleNode('//*[local-name()="PageSettings"]').GetAttribute('RTL') -ne 'true') { throw 'Native page direction did not change.' }
37 $app.SyncHierarchy($notebook)
38 $app.CloseNotebook($notebook, $false)
39 $notebook = ''
40} finally {
41 if ($notebook) { $app.CloseNotebook($notebook, $false) }
42 [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
43 [GC]::Collect()
44 [GC]::WaitForPendingFinalizers()
45}
tools/native/pages.ps1 created+42
...@@ -0,0 +1,42 @@
1param([Parameter(Mandatory=$true)][string]$Root, [Parameter(Mandatory=$true)][string]$CloneHost)
2Set-StrictMode -Version Latest
3$ErrorActionPreference = 'Stop'
4& "$PSScriptRoot\cold-current.ps1" -Root $Root -CloneHost $CloneHost
5$fixture = Get-Content (Join-Path $Root 'notebook\fixture.json') -Raw -Encoding UTF8 | ConvertFrom-Json
6$inputs = Join-Path $Root 'inputs'
7New-Item -ItemType Directory -Path $inputs | Out-Null
8$app = New-Object -ComObject OneNote.Application
9$notebookId = ''
10try {
11 $app.OpenHierarchy((Join-Path $Root 'notebook'), '', [ref]$notebookId, 0)
12 $sections = @{}
13 foreach ($path in $fixture.sections) {
14 $parts = $path.Split('/')
15 if (@($parts | Where-Object { $_ -in @('', '.', '..') -or $_.Contains('\') -or $_.Contains(':') }).Count) { throw 'Invalid fixture section path.' }
16 $parent = $notebookId
17 for ($index = 0; $index -lt $parts.Count; $index++) {
18 $id = ''
19 $app.OpenHierarchy($parts[$index], $parent, [ref]$id, $(if ($index -eq $parts.Count - 1) {3} else {2}))
20 $parent = $id
21 }
22 $sections[$path] = $id
23 }
24 $index = 0
25 foreach ($item in $fixture.pages) {
26 $pageId = ''
27 $app.CreateNewPage($sections[$item.section], [ref]$pageId, 0)
28 [xml]$xml = $item.xml.Replace('__ASSETS__', [Security.SecurityElement]::Escape((Join-Path $Root 'notebook\fixture-data')))
29 $xml.DocumentElement.SetAttribute('ID', $pageId)
30 [IO.File]::WriteAllText((Join-Path $inputs ('page-{0:d3}.xml' -f $index)), $xml.OuterXml, [Text.Encoding]::UTF8)
31 $app.UpdatePageContent($xml.OuterXml, [DateTime]::MinValue, 1, $true)
32 $index++
33 }
34 $app.SyncHierarchy($notebookId)
35 $app.CloseNotebook($notebookId, $false)
36 $notebookId = ''
37} finally {
38 if ($notebookId) { $app.CloseNotebook($notebookId, $false) }
39 [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
40 [GC]::Collect()
41 [GC]::WaitForPendingFinalizers()
42}
tools/native/probe.ps1 created+51
...@@ -0,0 +1,51 @@
1param([string]$Root, [string]$CloneHost)
2Set-StrictMode -Version Latest
3$ErrorActionPreference = 'Stop'
4$results = New-Object Collections.Generic.List[object]
5$index = 0
6foreach ($file in @(Get-ChildItem "$Root\inputs" -Filter '*.one' | Sort-Object Name)) {
7 $case = "C:\one-tests\runs\probe-$index"
8 $output = "$Root\results\$($file.BaseName)"
9 New-Item -ItemType Directory "$case\notebook", $output -Force | Out-Null
10 Copy-Item $file.FullName "$case\notebook\synthetic.one"
11 Get-Process ONENOTE -ErrorAction SilentlyContinue | ForEach-Object {
12 Stop-Process -InputObject $_ -Force
13 if (-not $_.WaitForExit(10000)) { throw 'OneNote did not exit before the cache reset.' }
14 }
15 & "$PSScriptRoot\cold-current.ps1" -Root $case -CloneHost $CloneHost
16 $app = New-Object -ComObject OneNote.Application
17 $notebook = ''; $section = ''; $hierarchy = ''; $failure = $null; $pages = @()
18 $started = [DateTime]::UtcNow
19 try {
20 $app.OpenHierarchy("$case\notebook", '', [ref]$notebook, 0)
21 $app.OpenHierarchy("$case\notebook\synthetic.one", '', [ref]$section, 0)
22 $deadline = [DateTime]::UtcNow.AddSeconds(30)
23 do {
24 $app.GetHierarchy($section, 4, [ref]$hierarchy, 1)
25 [xml]$tree = $hierarchy
26 $pages = @($tree.SelectNodes('//*[local-name()="Page"]'))
27 if ($pages.Count) { break }
28 Start-Sleep -Milliseconds 250
29 } while ([DateTime]::UtcNow -lt $deadline)
30 $n = 0
31 foreach ($page in $pages) {
32 $content = ''
33 $app.GetPageContent($page.GetAttribute('ID'), [ref]$content, 1, 1)
34 [IO.File]::WriteAllText("$output\page-$n.xml", $content, [Text.Encoding]::UTF8)
35 $n++
36 }
37 } catch { $failure = $_ | Out-String }
38 finally {
39 [IO.File]::WriteAllText("$output\hierarchy.xml", $hierarchy, [Text.Encoding]::UTF8)
40 $results.Add(@{ name=$file.BaseName; pages=$pages.Count; error=$failure;
41 seconds=([DateTime]::UtcNow - $started).TotalSeconds;
42 source_sha256=(Get-FileHash $file.FullName).Hash.ToLowerInvariant() })
43 $results | ConvertTo-Json -Depth 5 | Set-Content "$Root\results.json" -Encoding UTF8
44 try { if ($notebook) { $app.CloseNotebook($notebook, $false) } } catch {}
45 [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
46 $app = $null
47 [GC]::Collect()
48 [GC]::WaitForPendingFinalizers()
49 }
50 $index++
51}
tools/native/profile.ps1 created+107
...@@ -0,0 +1,107 @@
1# Usage: .\profile.ps1 Isolate|Restore|Status
2# Parks the native OneNote profile for tests. It never changes notebook files.
3param(
4 [Parameter(Mandatory = $true, Position = 0)]
5 [ValidateSet('Isolate', 'Restore', 'Status')]
6 [string]$Command
7)
8
9$ErrorActionPreference = 'Stop'
10$root = 'C:\one-tests'
11$key = 'HKCU:\Software\Microsoft\Office\14.0\OneNote'
12$regKey = 'HKCU\Software\Microsoft\Office\14.0\OneNote'
13$cache = Join-Path $env:LOCALAPPDATA 'Microsoft\OneNote\14.0'
14$originalReg = Join-Path $root 'profile-original.reg'
15$originalCache = Join-Path $root 'profile-original-cache'
16$testReg = Join-Path $root 'profile-test.reg'
17$testCache = Join-Path $root 'profile-test-cache'
18
19function Test-IsolatedProfile {
20 if (-not (Test-Path -LiteralPath "$key\Options\Paths")) { return $false }
21 try {
22 return (Get-ItemProperty -LiteralPath "$key\Options\Paths" -Name UnfiledNotesSection).UnfiledNotesSection -eq "$root\Loose.one"
23 } catch {
24 return $false
25 }
26}
27
28if ($Command -ne 'Status' -and (Get-Process ONENOTE -ErrorAction SilentlyContinue)) {
29 throw 'Close OneNote, then run this command again.'
30}
31
32if ($Command -eq 'Status') {
33 $profile = if (Test-IsolatedProfile) { 'test' } elseif (Test-Path -LiteralPath $key) { 'other' } else { 'missing' }
34 $activeCache = Test-Path -LiteralPath $cache
35 $originals = (Test-Path -LiteralPath $originalReg) -and (Test-Path -LiteralPath $originalCache)
36 $tests = (Test-Path -LiteralPath $testReg) -or (Test-Path -LiteralPath $testCache)
37
38 if ($originals -and $profile -eq 'test') {
39 Write-Output 'State: isolated. Run Restore when native tests finish.'
40 } elseif ($originals -and ($tests -or $profile -eq 'missing')) {
41 Write-Output 'State: restore can resume. Run Restore with OneNote closed.'
42 } elseif ((Test-Path -LiteralPath $originalReg) -and -not (Test-Path -LiteralPath $originalCache) -and $tests -and $activeCache -and $profile -eq 'other') {
43 Write-Output 'State: restored. Test backups remain parked.'
44 } else {
45 Write-Output 'State: unrecognized. Inspect the paths below before changing the profile.'
46 }
47
48 Write-Output "Registry: $profile"
49 Write-Output "Active cache: $activeCache"
50 Write-Output "Original registry backup: $(Test-Path -LiteralPath $originalReg)"
51 Write-Output "Original cache backup: $(Test-Path -LiteralPath $originalCache)"
52 Write-Output "Test registry backup: $(Test-Path -LiteralPath $testReg)"
53 Write-Output "Test cache backup: $(Test-Path -LiteralPath $testCache)"
54 return
55}
56
57if ($Command -eq 'Isolate') {
58 if ((Test-Path -LiteralPath $originalReg) -or (Test-Path -LiteralPath $originalCache)) {
59 throw 'Original backup already exists. Run Status or Restore before isolating again.'
60 }
61 if ((Test-Path -LiteralPath $testReg) -or (Test-Path -LiteralPath $testCache)) {
62 throw 'Test backup already exists. Inspect Status before isolating again.'
63 }
64 if (-not (Test-Path -LiteralPath $key)) { throw 'The OneNote profile registry was not found. Nothing changed.' }
65 if (-not (Test-Path -LiteralPath $cache)) { throw 'The OneNote cache was not found. Nothing changed.' }
66
67 New-Item -ItemType Directory -Path $root -Force | Out-Null
68 & reg.exe export $regKey $originalReg
69 if ($LASTEXITCODE -ne 0) { throw 'The original registry profile was not saved. Nothing changed.' }
70 Move-Item -LiteralPath $cache -Destination $originalCache
71 & reg.exe delete $regKey /f
72 if ($LASTEXITCODE -ne 0) { throw 'The original registry remains saved. Run Restore to recover it.' }
73 New-Item -Path $key -Force | Out-Null
74 New-ItemProperty -Path $key -Name FirstBootStatus -PropertyType DWord -Value 0x1000101 | Out-Null
75 New-Item -Path "$key\Options\Paths" -Force | Out-Null
76 New-ItemProperty -Path "$key\Options\Paths" -Name UnfiledNotesSection -PropertyType ExpandString -Value "$root\Loose.one" | Out-Null
77 Write-Output 'State: isolated. The original profile and cache are parked.'
78 return
79}
80
81if (-not (Test-Path -LiteralPath $originalReg)) { throw 'The original registry backup is missing. Nothing changed.' }
82if (-not (Test-Path -LiteralPath $originalCache)) {
83 if ((Test-Path -LiteralPath $cache) -and (Test-Path -LiteralPath $testReg) -and -not (Test-IsolatedProfile)) {
84 Write-Output 'State: restored. Test backups remain parked.'
85 return
86 }
87 throw 'The original cache backup is missing. Inspect Status before restoring.'
88}
89if ((Test-Path -LiteralPath $cache) -and (Test-Path -LiteralPath $testCache)) {
90 throw 'Both active and parked test caches exist. Inspect Status before restoring.'
91}
92if (-not (Test-Path -LiteralPath $testReg) -and (Test-Path -LiteralPath $key)) {
93 & reg.exe export $regKey $testReg
94 if ($LASTEXITCODE -ne 0) { throw 'The test registry profile was not saved. Nothing changed.' }
95}
96if ((Test-Path -LiteralPath $cache) -and -not (Test-Path -LiteralPath $testCache)) {
97 Move-Item -LiteralPath $cache -Destination $testCache
98}
99if (Test-Path -LiteralPath $key) {
100 & reg.exe delete $regKey /f
101 if ($LASTEXITCODE -ne 0) { throw 'The test profile is parked. Run Restore to try again.' }
102}
103& reg.exe import $originalReg
104if ($LASTEXITCODE -ne 0) { throw 'The test profile is parked. Run Restore to try again.' }
105if (Test-Path -LiteralPath $cache) { throw 'The original cache is still parked. Run Status before restoring.' }
106Move-Item -LiteralPath $originalCache -Destination $cache
107Write-Output 'State: restored. Test backups remain parked.'
tools/native/read.ps1 created+139
...@@ -0,0 +1,139 @@
1param(
2 [Parameter(Mandatory=$true)][string]$Root,
3 [int]$ExpectedPages = -1,
4 [switch]$UseCurrentCache,
5 [switch]$Pdf,
6 [switch]$KeepOpen,
7 [string]$CloneHost = ''
8)
9Set-StrictMode -Version Latest
10$ErrorActionPreference = 'Stop'
11$root = [IO.Path]::GetFullPath($Root).TrimEnd('\')
12if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') {
13 throw 'Choose a run directly below C:\one-tests\runs.'
14}
15$notebook = Join-Path $root 'notebook'
16$output = Join-Path $root 'read'
17if (Test-Path $output) { throw 'Choose a new read destination.' }
18if ($UseCurrentCache) {
19 if ((Get-ItemProperty 'HKCU:\Software\Microsoft\Office\14.0\OneNote\Options\Paths').UnfiledNotesSection -ne 'C:\one-tests\Loose.one') {
20 throw 'Park the personal OneNote profile before reading test notebooks.'
21 }
22} else {
23 & "$PSScriptRoot\cold-current.ps1" -Root $root -CloneHost $CloneHost
24}
25New-Item -ItemType Directory -Path $output | Out-Null
26$app = New-Object -ComObject OneNote.Application
27$notebookId = ''
28$failure = $null
29try {
30 $app.OpenHierarchy($notebook, '', [ref]$notebookId, 0)
31 $process = Get-Process ONENOTE
32 @{ hostname = [Environment]::MachineName; onenote = $process.MainModule.FileVersionInfo.FileVersion;
33 powershell = $PSVersionTable.PSVersion.ToString(); schema = 'xs2010'; cold = (-not $UseCurrentCache.IsPresent) } |
34 ConvertTo-Json | Set-Content (Join-Path $output 'environment.json') -Encoding UTF8
35 $sections = @()
36 foreach ($file in @(Get-ChildItem $notebook -Recurse | Where-Object { $_.Extension -eq '.one' })) {
37 $id = ''
38 $app.OpenHierarchy($file.FullName, '', [ref]$id, 0)
39 $sections += $id
40 }
41 $deadline = [DateTime]::UtcNow.AddSeconds(300)
42 $previous = ''
43 $stableSince = [DateTime]::UtcNow
44 $settled = $false
45 do {
46 $pages = @{}
47 foreach ($section in $sections) {
48 $hierarchy = ''
49 $app.GetHierarchy($section, 4, [ref]$hierarchy, 1)
50 [xml]$xml = $hierarchy
51 foreach ($node in $xml.SelectNodes('//*[@path]')) {
52 if (-not $node.GetAttribute('path').StartsWith("$notebook\", [StringComparison]::OrdinalIgnoreCase)) {
53 throw 'OneNote opened a section outside the copied notebook.'
54 }
55 }
56 foreach ($node in $xml.SelectNodes('//*[local-name()="Page"]')) {
57 $id = $node.GetAttribute('ID')
58 $content = ''
59 $app.GetPageContent($id, [ref]$content, 1, 1)
60 $pages[$id] = $content
61 }
62 }
63 $signature = [String]::Join('|', @($pages.Keys | Sort-Object | ForEach-Object { $_ + $pages[$_] }))
64 if ($signature -ne $previous) {
65 $previous = $signature
66 $stableSince = [DateTime]::UtcNow
67 }
68 if ((($ExpectedPages -ge 0 -and $pages.Count -eq $ExpectedPages) -or
69 ($ExpectedPages -lt 0 -and $pages.Count -gt 0)) -and
70 ([DateTime]::UtcNow - $stableSince).TotalSeconds -ge 2) { $settled = $true; break }
71 Start-Sleep -Milliseconds 250
72 } while ([DateTime]::UtcNow -lt $deadline)
73 if (-not $settled -or ($ExpectedPages -ge 0 -and $pages.Count -ne $ExpectedPages) -or ($ExpectedPages -lt 0 -and $pages.Count -eq 0)) {
74 $index = 0
75 foreach ($id in @($pages.Keys | Sort-Object)) {
76 [IO.File]::WriteAllText((Join-Path $output ('unsettled-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8)
77 $index++
78 }
79 $hierarchy = ''
80 $app.GetHierarchy($notebookId, 4, [ref]$hierarchy, 1)
81 [IO.File]::WriteAllText((Join-Path $output 'unsettled-hierarchy.xml'), $hierarchy, [Text.Encoding]::UTF8)
82 throw "Expected $ExpectedPages pages; OneNote returned $($pages.Count)."
83 }
84 $index = 0
85 $payloads = @()
86 foreach ($id in @($pages.Keys | Sort-Object)) {
87 [IO.File]::WriteAllText((Join-Path $output ('page-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8)
88 if ($Pdf) {
89 $pdfPath = Join-Path $output ('page-{0:d3}.pdf' -f $index)
90 $app.NavigateTo($id, '', $false)
91 $app.Publish($id, $pdfPath, 3, '')
92 if (-not (Test-Path $pdfPath) -or (Get-Item $pdfPath).Length -eq 0) { throw 'OneNote did not publish the page PDF.' }
93 }
94 [xml]$page = $pages[$id]
95 foreach ($file in $page.SelectNodes('//*[local-name()="InsertedFile" or local-name()="MediaFile"]')) {
96 $bytes = [IO.File]::ReadAllBytes($file.GetAttribute('pathCache'))
97 $hash = [BitConverter]::ToString([Security.Cryptography.SHA256]::Create().ComputeHash($bytes)).Replace('-', '').ToLowerInvariant()
98 [IO.File]::WriteAllBytes((Join-Path $output ($hash + '.attachment')), $bytes)
99 $payloads += @{ page = $id; object = $file.ParentNode.GetAttribute('objectID');
100 kind = $file.LocalName; name = $file.GetAttribute('preferredName');
101 sha256 = $hash; bytes = $bytes.Length }
102 }
103 $index++
104 }
105 [IO.File]::WriteAllText((Join-Path $output 'payloads.json'), (ConvertTo-Json -InputObject $payloads -Depth 4), [Text.Encoding]::UTF8)
106 $all = ''
107 $app.GetHierarchy($notebookId, 4, [ref]$all, 1)
108 [xml]$finalTree = $all
109 $finalIds = @($finalTree.SelectNodes('//*[local-name()="Page"]') | ForEach-Object { $_.GetAttribute('ID') } | Sort-Object -Unique)
110 if ($finalIds.Count -ne $pages.Count -or @($finalIds | Where-Object { -not $pages.ContainsKey($_) }).Count -ne 0) {
111 throw 'The notebook hierarchy changed while collecting page evidence; repeat the cold read.'
112 }
113 [IO.File]::WriteAllText((Join-Path $output 'hierarchy.xml'), $all, [Text.Encoding]::UTF8)
114 Write-Output "Read $($sections.Count) sections and $($pages.Count) pages."
115} catch {
116 $failure = $_
117 [IO.File]::WriteAllText((Join-Path $output 'failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8)
118 throw
119} finally {
120 try {
121 try {
122 if ($notebookId -and $CloneHost) { $app.SyncHierarchy($notebookId) }
123 if ($notebookId -and -not $KeepOpen -and (-not $UseCurrentCache -or $CloneHost)) {
124 $app.CloseNotebook($notebookId, $false)
125 }
126 } catch {
127 if ($null -eq $failure) { throw }
128 [IO.File]::WriteAllText((Join-Path $output 'cleanup-failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8)
129 }
130 } finally {
131 [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
132 }
133 $app = $null
134 [GC]::Collect()
135 [GC]::WaitForPendingFinalizers()
136 if (-not $UseCurrentCache -and -not $CloneHost) {
137 Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10
138 }
139}
tools/native/shared.ps1 created+53
...@@ -0,0 +1,53 @@
1param([Parameter(Mandatory=$true)][string]$Root,
2 [Parameter(Mandatory=$true)][string]$SharedName,
3 [Parameter(Mandatory=$true)][string]$ExpectedText,
4 [Parameter(Mandatory=$true)][string]$Text)
5Set-StrictMode -Version Latest
6$ErrorActionPreference = 'Stop'
7if ($SharedName -notmatch '^stage[45]-[a-z0-9-]+$') { throw 'Choose a stage 4 or 5 test directory name.' }
8& "$PSScriptRoot\cold-current.ps1" -Root $Root
9$shared = "A:\one-tests\$SharedName"
10if (-not (Test-Path "$shared\synthetic.one")) { throw 'Create the shared fixture before opening OneNote.' }
11$app = New-Object -ComObject OneNote.Application
12$notebook = ''
13try {
14 $app.OpenHierarchy($shared, '', [ref]$notebook, 0)
15 $section = ''
16 $app.OpenHierarchy('synthetic.one', $notebook, [ref]$section, 0)
17 $deadline = [DateTime]::UtcNow.AddSeconds(30)
18 $matches = @()
19 do {
20 $hierarchy = ''
21 $app.GetHierarchy($section, 4, [ref]$hierarchy, 1)
22 [xml]$tree = $hierarchy
23 $pages = @($tree.SelectNodes('//*[local-name()="Page"]'))
24 if ($pages.Count -gt 1) { throw 'Expected one shared test page.' }
25 if ($pages.Count -eq 1) {
26 $content = ''
27 $app.GetPageContent($pages[0].GetAttribute('ID'), [ref]$content, 3, 1)
28 [xml]$page = $content
29 $matches = @($page.SelectNodes('//*[local-name()="T"]') | Where-Object { $_.InnerText -eq $ExpectedText })
30 if ($matches.Count -eq 1) { break }
31 }
32 Start-Sleep -Milliseconds 250
33 } while ([DateTime]::UtcNow -lt $deadline)
34 if ($matches.Count -ne 1) { throw 'Expected one matching shared text object.' }
35 [IO.File]::WriteAllText("$Root\before.xml", $content, [Text.Encoding]::UTF8)
36 Start-Sleep -Seconds 3
37 $matches[0].InnerText = [Security.SecurityElement]::Escape($Text)
38 $app.UpdatePageContent($page.OuterXml, [DateTime]::MinValue, 1, $false)
39 $app.SyncHierarchy($notebook)
40 Start-Sleep -Seconds 5
41 $content = ''
42 $app.GetPageContent($pages[0].GetAttribute('ID'), [ref]$content, 3, 1)
43 [IO.File]::WriteAllText("$Root\after.xml", $content, [Text.Encoding]::UTF8)
44} finally {
45 try { if ($notebook) { $app.CloseNotebook($notebook, $false) } }
46 finally {
47 [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
48 $app = $null
49 [GC]::Collect()
50 [GC]::WaitForPendingFinalizers()
51 Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10
52 }
53}
tools/native/stress.ps1 created+75
...@@ -0,0 +1,75 @@
1function Invoke-Stress($app, $section, $command, $output, $shared) {
2 $hierarchy = ''
3 $app.GetHierarchy($section, 4, [ref]$hierarchy, 1)
4 [xml]$tree = $hierarchy
5 $pages = @($tree.SelectNodes('//*[local-name()="Page"]'))
6 if ($pages.Count -ne 1) { throw 'Expected one stress-test page.' }
7 $pageId = $pages[0].GetAttribute('ID')
8 if ($command.action -eq 'prepare-stress') {
9 for ($i = 0; $i -lt $command.clients; $i++) {
10 $xml = '<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="' + $pageId + '"><one:Outline><one:Position x="48" y="' + (150 + 75 * $i) + '" z="' + ($i + 1) + '"/><one:OEChildren><one:OE><one:T><![CDATA[Native ' + $i + ':]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>'
11 $app.UpdatePageContent($xml, [DateTime]::MinValue, 1, $false)
12 }
13 return
14 }
15 $random = New-Object Random([int]$command.seed)
16 $events = New-Object IO.StreamWriter("$output\events.jsonl", $false, [Text.Encoding]::UTF8)
17 $events.AutoFlush = $true
18 try {
19 [IO.File]::WriteAllText("$output\ready", 'ready')
20 $deadline = [DateTime]::UtcNow.AddMinutes(10)
21 while (-not (Test-Path "$shared\stress-start")) {
22 if ([DateTime]::UtcNow -gt $deadline) { throw 'Stress start timed out.' }
23 Start-Sleep -Milliseconds 20
24 }
25 for ($i = 0; $i -lt $command.operations; $i++) {
26 Start-Sleep -Milliseconds $random.Next(10, 100)
27 $started = [DateTime]::UtcNow.Ticks
28 $content = ''
29 $app.GetPageContent($pageId, [ref]$content, 1, 1)
30 [xml]$page = $content
31 $matches = @($page.SelectNodes('//*[local-name()="T"]') | Where-Object {
32 (Get-ParagraphText $_.InnerText).StartsWith($command.prefix)
33 })
34 if ($matches.Count -ne 1) { throw 'Expected one stress-test paragraph.' }
35 $before = Get-ParagraphText $matches[0].InnerText
36 $token = ' [n' + $command.actor + ':' + $i + ']'
37 $start = $end = $before.Length
38 $replacement = $token
39 $bold = $italic = $false
40 if ($command.edit) {
41 $boundaries = New-Object 'Collections.Generic.List[int]'
42 for ($at = $command.prefix.Length; $at -le $before.Length; $at++) {
43 $boundaries.Add($at)
44 if ($at -lt $before.Length -and [char]::IsHighSurrogate($before[$at])) { $at++ }
45 }
46 $first = $boundaries[$random.Next($boundaries.Count)]
47 $second = $boundaries[$random.Next($boundaries.Count)]
48 $start = [Math]::Min($first, $second)
49 $end = [Math]::Max($first, $second)
50 $replacement = ' caf' + [char]0xe9 + ' ' + [char]::ConvertFromUtf32(0x1f980) + $token
51 $bold = $random.Next(2) -eq 1
52 $italic = $random.Next(2) -eq 1
53 }
54 $after = $before.Substring(0, $start) + $replacement + $before.Substring($end)
55 $html = [Security.SecurityElement]::Escape($after)
56 if ($command.edit) {
57 $weight = if ($bold) { 'bold' } else { 'normal' }
58 $style = if ($italic) { 'italic' } else { 'normal' }
59 $html = '<span style="font-weight:' + $weight + ';font-style:' + $style + '">' + $html + '</span>'
60 }
61 $matches[0].InnerText = $html
62 Keep-Container $page $matches[0]
63 $updateStarted = [DateTime]::UtcNow.Ticks
64 $app.UpdatePageContent($page.OuterXml, [DateTime]::MinValue, 1, $false)
65 $updated = [DateTime]::UtcNow.Ticks
66 $events.WriteLine((@{ operation=$i; before=$before; token=$token; started_ticks=$started;
67 range=@($start, $end); replacement=$replacement; bold=$bold; italic=$italic;
68 update_started_ticks=$updateStarted; updated_ticks=$updated } | ConvertTo-Json -Compress))
69 if ($i -eq 0) { [IO.File]::WriteAllText("$output\editing", 'editing') }
70 if ($command.sync_every -gt 0 -and (($i + 1) % $command.sync_every) -eq 0) {
71 $app.SyncHierarchy($section)
72 }
73 }
74 } finally { $events.Dispose() }
75}
tools/native/template.ps1 created+26
...@@ -0,0 +1,26 @@
1param([Parameter(Mandatory=$true)][string]$Root, [Parameter(Mandatory=$true)][string]$CloneHost)
2Set-StrictMode -Version Latest
3$ErrorActionPreference = 'Stop'
4& "$PSScriptRoot\cold-current.ps1" -Root $Root -CloneHost $CloneHost
5$app = New-Object -ComObject OneNote.Application
6$notebookId = ''
7try {
8 $app.OpenHierarchy((Join-Path $Root 'notebook'), '', [ref]$notebookId, 0)
9 $files = @(Get-ChildItem (Join-Path $Root 'notebook') | Where-Object { $_.Extension -eq '.one' })
10 if ($files.Count -ne 1) { throw 'Provide exactly one copied section for the template probe.' }
11 $sectionId = ''
12 $app.OpenHierarchy($files[0].Name, $notebookId, [ref]$sectionId, 0)
13 $pageId = ''
14 $app.CreateNewPage($sectionId, [ref]$pageId, 0)
15 $xml = '<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="' + $pageId + '"><one:Title><one:OE><one:T>Native template probe</one:T></one:OE></one:Title></one:Page>'
16 $app.UpdatePageContent($xml, [DateTime]::MinValue, 1, $true)
17 @{ page = $pageId; operation = 'CreateNewPage with npsDefault, then set title' } | ConvertTo-Json | Set-Content (Join-Path $Root 'expected.json') -Encoding UTF8
18 $app.SyncHierarchy($notebookId)
19 $app.CloseNotebook($notebookId, $false)
20 $notebookId = ''
21} finally {
22 if ($notebookId) { $app.CloseNotebook($notebookId, $false) }
23 [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
24 [GC]::Collect()
25 [GC]::WaitForPendingFinalizers()
26}
tools/native/text.ps1 created+13
...@@ -0,0 +1,13 @@
1function Get-ParagraphText([string]$html) {
2 $plain = [regex]::Replace($html, '<[^>]*>', '')
3 $plain = [regex]::Replace($plain, '&#(?:x([0-9a-fA-F]+)|([0-9]+));', {
4 param($match)
5 $value = if ($match.Groups[1].Success) {
6 [Convert]::ToInt32($match.Groups[1].Value, 16)
7 } else { [int]$match.Groups[2].Value }
8 # The Win7 framework leaves supplementary numeric entities undecoded.
9 if ($value -gt 0xffff -and $value -le 0x10ffff) { [char]::ConvertFromUtf32($value) }
10 else { $match.Value }
11 })
12 [Net.WebUtility]::HtmlDecode($plain)
13}
tools/native/toc-boundaries.ps1 created+28
...@@ -0,0 +1,28 @@
1param([Parameter(Mandatory=$true)][string]$Root, [Parameter(Mandatory=$true)][string]$CloneHost)
2Set-StrictMode -Version Latest
3$ErrorActionPreference = 'Stop'
4& "$PSScriptRoot\cold-current.ps1" -Root $Root -CloneHost $CloneHost
5$app = New-Object -ComObject OneNote.Application
6$notebookId = ''
7try {
8 $app.OpenHierarchy((Join-Path $Root 'notebook'), '', [ref]$notebookId, 0)
9 $names = @()
10 foreach ($index in 0..79) {
11 $name = 'Boundary section {0:d3}.one' -f $index
12 $section = ''
13 $app.OpenHierarchy($name, $notebookId, [ref]$section, 3)
14 $app.SyncHierarchy($notebookId)
15 $app.CloseNotebook($notebookId, $false)
16 $notebookId = ''
17 $app.OpenHierarchy((Join-Path $Root 'notebook'), '', [ref]$notebookId, 0)
18 $names += $name
19 }
20 $names | ConvertTo-Json | Set-Content (Join-Path $Root 'expected.json') -Encoding UTF8
21 $app.CloseNotebook($notebookId, $false)
22 $notebookId = ''
23} finally {
24 if ($notebookId) { $app.CloseNotebook($notebookId, $false) }
25 [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
26 [GC]::Collect()
27 [GC]::WaitForPendingFinalizers()
28}
tools/native_collaboration.py created+514
...@@ -0,0 +1,514 @@
1#!/usr/bin/env python3
2"""Replay shared notebook edits with disposable OneNote clients and a Linux server."""
3import argparse
4import errno
5from contextlib import ExitStack, contextmanager
6from concurrent.futures import ThreadPoolExecutor
7from threading import Lock
8import hashlib
9import json
10import os
11from pathlib import Path
12import shutil
13import signal
14import subprocess
15import tarfile
16import time
17import xml.etree.ElementTree as ET
18
19from native_runner import ROOT, clone, command, windows, vm, collect_artifacts
20from native_xml import texts
21from document_model import ordered_pages, view, walk
22import linux_vm
23
24
25def reachable_page_text(model):
26 (sid, _, _, _), = ordered_pages(model)
27 pending, retained = [sid], {}
28 while pending:
29 sid = pending.pop()
30 if sid in retained: continue
31 _, revision = view(model, sid)
32 manifest = revision['nodes'][revision['roots']['1']]
33 assert manifest['kind']['type'] == 'Manifest'
34 page, = manifest['content']
35 assert revision['nodes'][page]['kind']['type'] == 'Page'
36 retained[sid] = sorted(node['kind']['text'] for _, node in walk(revision, page) if node['kind']['type'] == 'RichText')
37 pending.extend(manifest['spaces'])
38 return retained
39
40
41def verify_final_state(model):
42 (sid, main), (conflict_sid, competing) = reachable_page_text(model).items()
43 main, competing = set(main), set(competing)
44 assert {'Native lock recovery.', 'Client B online cell.'} <= main
45 edits = {'Client A concurrent edit.', 'Client B concurrent edit.'}
46 assert len(main & edits) == len(competing & edits) == 1 and edits <= main | competing
47 return {'main_space': sid, 'conflict_space': conflict_sid, 'competing_edits': sorted(edits)}
48
49
50def replay(output, server, stress_clients=0, stress_operations=30, sync_every=1, rust_writers=4, rust_readers=3, edit=False, seed=710, conflict_clients=0, abrupt=False):
51 if linux_vm.instance_path(server).exists():
52 raise ValueError('Choose a new Linux VM name; existing machines are not owned by this run.')
53 output = output.resolve()
54 output.mkdir(parents=True, exist_ok=False)
55 mount = output / 'mount'
56 mount.mkdir()
57 mounted = False
58 scripts = output / 'scripts'
59 scripts.mkdir()
60 for name in ('cold.ps1', 'collaborate.ps1', 'network.ps1', 'stress.ps1', 'text.ps1'):
61 shutil.copyfile(ROOT / 'tools/native' / name, scripts / name)
62 (output / 'run.json').write_text(json.dumps({'server': server, 'stress_clients': stress_clients, 'conflict_clients': conflict_clients, 'stress_operations': stress_operations, 'sync_every': sync_every, 'rust_writers': rust_writers, 'rust_readers': rust_readers, 'edit': edit, 'seed': seed, 'abrupt': abrupt,
63 'harness_sha256': {name: hashlib.sha256((ROOT / 'tools' / name).read_bytes()).hexdigest() for name in ('native_collaboration.py', 'native_stress.py', 'concurrent_rust.py', 'native_runner.py')}, 'scripts': {p.name: hashlib.sha256(p.read_bytes()).hexdigest() for p in scripts.iterdir()}}, indent=2))
64
65 def ssh(text):
66 result = linux_vm.run_ssh(server, text, timeout=90)
67 with (output / 'server.jsonl').open('a') as log:
68 log.write(json.dumps({'command': text, 'exit': result.returncode, 'stdout': result.stdout, 'stderr': result.stderr}) + '\n')
69 result.check_returncode()
70 return result.stdout
71
72 try:
73 if not linux_vm.instance_path(server).exists():
74 linux_vm.create_instance(server)
75 linux_vm.launch(server)
76 linux_vm.wait_instance(server, 600)
77 config = linux_vm.load_instance(server)
78 (output / 'linux.json').write_text(json.dumps(config, indent=2))
79 def reconnect_mount():
80 nonlocal mounted
81 if os.path.ismount(mount):
82 subprocess.run(['/sbin/umount', str(mount)], check=True)
83 mounted = False
84 subprocess.run(['/sbin/mount_smbfs', '-N', f'//guest@127.0.0.1:{config["samba_port"]}/agent', mount], check=True, stdin=subprocess.DEVNULL)
85 mounted = True
86 ssh('mkdir /srv/agent/m6-collaboration')
87 source = ROOT / 'corpus/native-ink/cold-ui-ink/notebook'
88 if stress_clients or conflict_clients or abrupt:
89 source = output / 'input'
90 subprocess.run([ROOT / 'target/debug/examples/create_notebook', source, 'Concurrent edits:', 'Concurrency test'], check=True)
91 with tarfile.open(output / 'input.tar', 'w', dereference=True) as archive:
92 for name in ('synthetic.one', 'Open Notebook.onetoc2'):
93 archive.add(source / name, arcname=name)
94 with (output / 'input.tar').open('rb') as stream:
95 subprocess.run(linux_vm.ssh_argv(server, 'tar xf - -C /srv/agent/m6-collaboration'), stdin=stream, check=True)
96 ssh('chmod u+w /srv/agent/m6-collaboration/*')
97 reconnect_mount()
98 shared = mount / 'm6-collaboration'
99 assert (shared / 'synthetic.one').read_bytes() == (source / 'synthetic.one').read_bytes()
100 for probe in ('sudo smbd --version', 'uname -a', 'testparm -s 2>&1'):
101 ssh(probe)
102 with ExitStack() as stack:
103 def start_controller(client, resume=False):
104 name, folder = client['name'], client['folder']
105 command(name, 'if exist C:\\one-tests\\runs\\capture\\ready del C:\\one-tests\\runs\\capture\\ready', folder)
106 options = f' -ResumeCache -StartSequence {client["sequence"] + 1}' if resume else ''
107 result = windows.do_spawn('cmd /c powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\collaborate.ps1 -Root C:\\one-tests\\runs\\capture -SharedPath \\\\192.168.77.1\\agent\\m6-collaboration -CloneHost ONE-' + name.upper() + options + f' > C:\\one-tests\\runs\\capture\\controller-{client["sequence"]}.log 2>&1', name)
108 (folder / f'spawn-{client["sequence"]}.json').write_text(json.dumps(result, indent=2))
109 if result.get('error'): raise RuntimeError(result['error'])
110 deadline = time.monotonic() + 120
111 while time.monotonic() < deadline:
112 result = windows.do_cmd('if exist C:\\one-tests\\runs\\capture\\ready (echo ready)', target=name)
113 if result.get('exit') == 0 and 'ready' in result.get('stdout', ''): return
114 time.sleep(1)
115 raise RuntimeError('The native collaboration client did not open the shared notebook')
116
117 labels = [f'n{i}' for i in range(stress_clients or conflict_clients)] if stress_clients or conflict_clients else ['a', 'b']
118 for label in labels:
119 (output / label).mkdir()
120 ownership = Lock()
121 def start_clone(label):
122 manager = clone(output / label)
123 name = manager.__enter__()
124 with ownership:
125 stack.push(manager)
126 return name
127 # Joining workers before stack exit retains ownership even if another boot fails.
128 with ThreadPoolExecutor(max_workers=len(labels)) as pool:
129 names = dict(zip(labels, pool.map(start_clone, labels)))
130 clients = []
131 for label in labels:
132 folder = output / label
133 name = names[label]
134 for local in scripts.iterdir():
135 remote = 'cold-current.ps1' if local.name == 'cold.ps1' else local.name
136 result = windows.do_put(local, 'C:\\one-tests\\' + remote, name)
137 if result.get('error'): raise RuntimeError(result['error'])
138 command(name, 'mkdir C:\\one-tests\\runs\\capture', folder)
139 command(name, 'powershell -NoProfile -ExecutionPolicy Bypass -File C:\\one-tests\\network.ps1 -LabMac ' + vm.lab_mac(name), folder)
140 command(name, 'ipconfig', folder)
141 command(name, 'dir \\\\192.168.77.1\\agent\\m6-collaboration', folder)
142 clients.append({'name': name, 'folder': folder, 'sequence': 0})
143 start_controller(clients[-1])
144 command(name, 'ipconfig', folder)
145 print('Collaboration ready:', label, name, flush=True)
146
147 def action(client, action, wait=True, **parameters):
148 client['sequence'] += 1
149 sequence = client['sequence']
150 local = client['folder'] / f'command-{sequence:04}.json'
151 local.write_text(json.dumps({'action': action, **parameters}, ensure_ascii=False))
152 inbox = f'C:\\one-tests\\runs\\capture\\inbox\\{sequence:04}'
153 result = windows.do_put(local, inbox + '.tmp', client['name'])
154 if result.get('error'): raise RuntimeError(result['error'])
155 command(client['name'], f'move {inbox}.tmp {inbox}.json', client['folder'])
156 if not wait: return sequence
157 return wait_action(client, sequence, action)
158
159 def wait_action(client, sequence, action):
160 deadline = time.monotonic() + 600
161 remote = f'C:\\one-tests\\runs\\capture\\outbox\\{sequence}'
162 while time.monotonic() < deadline:
163 result = windows.do_cmd(f'if exist {remote}\\error (type {remote}\\error & exit /b 1) else (if exist {remote}\\done (echo complete))', target=client['name'])
164 if result.get('exit') != 0: raise RuntimeError(str(result))
165 if 'complete' in result.get('stdout', ''): break
166 time.sleep(.5)
167 else: raise TimeoutError(f'Native command {sequence} did not complete')
168 if action == 'snapshot':
169 destination = client['folder'] / f'snapshot-{sequence:04}.xml'
170 result = windows.do_get(remote + '\\page-0.xml', destination, client['name'])
171 if result.get('error'): raise RuntimeError(result['error'])
172 return texts(ET.parse(destination).getroot())
173
174 def wait_text(client, expected):
175 deadline = time.monotonic() + 120
176 while time.monotonic() < deadline:
177 action(client, 'sync')
178 observed = action(client, 'snapshot')
179 if all(text in observed for text in expected): return observed
180 time.sleep(1)
181 raise AssertionError(('Native synchronization did not converge', expected, observed))
182
183 @contextmanager
184 def locked_file(name):
185 deadline = time.monotonic() + 120
186 while True:
187 try:
188 descriptor = os.open(shared / name, os.O_RDONLY | os.O_EXLOCK | os.O_NONBLOCK)
189 break
190 except OSError as error:
191 with (output / 'read-retries.jsonl').open('a') as log:
192 log.write(json.dumps({'file': name, 'errno': error.errno, 'error': str(error)}) + '\n')
193 if error.errno not in (errno.ENOENT, errno.EACCES, errno.EAGAIN): raise
194 if time.monotonic() >= deadline: raise
195 time.sleep(.1)
196 with os.fdopen(descriptor, 'rb') as stream:
197 yield stream
198
199 def snapshot_file(name):
200 with locked_file(name) as stream:
201 return stream.read()
202
203 def checkpoint(label):
204 deadline, previous, incomplete = time.monotonic() + 120, None, 0
205 while time.monotonic() < deadline:
206 snapshot = {name: snapshot_file(name) for name in ('synthetic.one', 'Open Notebook.onetoc2')}
207 if snapshot == previous:
208 time.sleep(.1)
209 continue
210 previous = snapshot
211 target = output / label / 'notebook'
212 target.mkdir(parents=True)
213 for name, data in snapshot.items(): (target / name).write_bytes(data)
214 result = subprocess.run([ROOT / 'target/debug/examples/document', target / 'synthetic.one', target.parent / 'model'], capture_output=True, text=True)
215 if result.returncode == 0:
216 (target.parent / 'locks.txt').write_text(ssh('sudo smbstatus --locks'))
217 print('Captured collaboration state:', label, flush=True)
218 return
219 (target.parent / 'parse-error.txt').write_text(result.stderr)
220 if result.stderr.strip() != 'Error: Error { offset: 0, message: "Document context has no revision" }':
221 result.check_returncode()
222 incomplete += 1
223 saved = output / f'{label}-incomplete-{incomplete}'
224 target.parent.rename(saved)
225 print('Preserved incomplete native document:', saved.name, flush=True)
226 time.sleep(.1)
227 raise TimeoutError(f'Native document references did not settle: {label}')
228
229 if abrupt and not conflict_clients:
230 from concurrent_rust import running_clients
231 from crash_recovery import verify_text
232 import crash
233
234 action(clients[0], 'prepare-stress', clients=len(clients))
235 native_text = [f'Native {i}:' for i in range(len(clients))]
236 for client in clients: wait_text(client, ['Concurrent edits:', *native_text])
237 checkpoint('crash-initial')
238 folder = output / 'rust-interrupted'
239 folder.mkdir()
240 try:
241 with running_clients(folder, shared / 'synthetic.one', rust_writers, rust_readers, 500, seed) as processes:
242 (folder / 'start').touch()
243 for i, client in enumerate(clients):
244 changed = native_text[i] + ' Before server stop.'
245 action(client, 'edit', expected=native_text[i], text=changed)
246 native_text[i] = changed
247 deadline = time.monotonic() + 60
248 while True:
249 commits = sum(line.count('"event":"commit"') for path in folder.glob('w*.jsonl') for line in path.read_text().splitlines())
250 if commits >= 10: break
251 if any(p.poll() is not None for p in processes.values()) or time.monotonic() >= deadline:
252 raise AssertionError('Writers did not overlap the server interruption')
253 time.sleep(.02)
254 assert all(p.poll() is None for p in processes.values()), 'A client stopped before the planned interruption'
255 (output / 'server-crash.json').write_text(json.dumps(crash.stop('linux', server), indent=2))
256 for client in clients: vm.qmp(client['name'], 'set_link', {'name': 'lab', 'up': False})
257 raise InterruptedError('Recorded server interruption')
258 except InterruptedError:
259 pass
260 logs = {actor: [json.loads(line) for line in (folder / f'{actor}.jsonl').read_text().splitlines()] for actor in processes}
261 assert not list(folder.glob('invalid-*.one')), 'A client captured malformed storage'
262 linux_vm.launch(server)
263 linux_vm.wait_instance(server, 600)
264 recovered = output / 'server-before-native-reconnect'
265 recovered.mkdir()
266 with (recovered / 'synthetic.one').open('wb') as stream:
267 subprocess.run(linux_vm.ssh_argv(server, 'cat /srv/agent/m6-collaboration/synthetic.one'), stdout=stream, check=True, timeout=60)
268 subprocess.run([ROOT / 'target/debug/examples/document', recovered / 'synthetic.one', recovered / 'model'], check=True)
269 model = json.loads((recovered / 'model/document.json').read_text())
270 text, = [text for values in reachable_page_text(model).values() for text in values if text.startswith('Concurrent edits:')]
271 retained = verify_text('Concurrent edits:', text, logs)
272 (output / 'server-retention.json').write_text(json.dumps(retained, indent=2))
273 reconnect_mount()
274 for client in clients: vm.qmp(client['name'], 'set_link', {'name': 'lab', 'up': True})
275 for client in clients: wait_text(client, [text, *native_text])
276 checkpoint('server-recovered')
277
278 client = clients[0]
279 pending_text = native_text[0] + ' Offline cache edit.'
280 with locked_file('synthetic.one'):
281 vm.qmp(client['name'], 'set_link', {'name': 'lab', 'up': False})
282 action(client, 'edit', expected=native_text[0], text=pending_text)
283 assert pending_text in action(client, 'snapshot')
284 (output / 'client-crash.json').write_text(json.dumps(crash.stop('windows', client['name']), indent=2))
285 checkpoint('client-stopped')
286 stopped = json.loads((output / 'client-stopped/model/document.json').read_text())
287 assert pending_text not in [value for values in reachable_page_text(stopped).values() for value in values], 'The pending cache edit already reached the server'
288 vm.start_instance(client['name'])
289 vm.wait_instance(client['name'], 300)
290 command(client['name'], 'powershell -NoProfile -ExecutionPolicy Bypass -File C:\\one-tests\\network.ps1 -LabMac ' + vm.lab_mac(client['name']), client['folder'])
291 start_controller(client, resume=True)
292 deadline = time.monotonic() + 120
293 while True:
294 action(client, 'sync')
295 observed = action(client, 'snapshot')
296 if pending_text in observed or native_text[0] in observed: break
297 if time.monotonic() >= deadline:
298 raise AssertionError('Recovered cache has neither acknowledged version')
299 time.sleep(1)
300 survived = pending_text in observed
301 native_text[0] = pending_text if survived else native_text[0]
302 (output / 'native-cache-result.json').write_text(json.dumps({'cache_acknowledged': pending_text, 'retained_after_abrupt_stop': survived, 'server_durability_acknowledged': False}, indent=2))
303 for client in clients: wait_text(client, [text, *native_text])
304 checkpoint('client-recovered')
305
306 continued = output / 'rust-continued'
307 continued.mkdir()
308 with running_clients(continued, shared / 'synthetic.one', rust_writers, rust_readers, stress_operations, seed + 1) as processes:
309 (continued / 'start').touch()
310 continuation = {actor: [json.loads(line) for line in (continued / f'{actor}.jsonl').read_text().splitlines()] for actor in processes}
311 checkpoint('continued')
312 model = json.loads((output / 'continued/model/document.json').read_text())
313 final_text, = [value for values in reachable_page_text(model).values() for value in values if value.startswith('Concurrent edits:')]
314 result = verify_text(text, final_text, continuation)
315 for client in clients: wait_text(client, [final_text, *native_text])
316 (output / 'result.json').write_text(json.dumps({'server': retained, 'continuation': result, 'native_cache_retained': survived, 'expected_text': sorted([final_text, *native_text])}, indent=2))
317 elif conflict_clients:
318 from concurrent_rust import running_clients
319 from native_stress import edit_history
320
321 original = 'Concurrent edits:'
322 native = [f'Native conflict {i}: café 🦀' for i in range(conflict_clients)]
323 for client in clients: wait_text(client, [original])
324 checkpoint('initial')
325 try:
326 with locked_file('synthetic.one'):
327 for client in clients: vm.qmp(client['name'], 'set_link', {'name': 'lab', 'up': False})
328 for client, text in zip(clients, native):
329 action(client, 'edit', expected=original, text=text)
330 assert text in action(client, 'snapshot'), 'Native cache did not retain its intended edit'
331 folder = output / 'rust'
332 folder.mkdir()
333 with running_clients(folder, shared / 'synthetic.one', rust_writers, rust_readers, stress_operations, seed, edit=edit) as processes:
334 (folder / 'start').touch()
335 logs = {actor: [json.loads(line) for line in (folder / f'{actor}.jsonl').read_text().splitlines()] for actor in processes}
336 commits, rust_text = edit_history(logs, stress_operations, edit)
337 checkpoint('rust-before-reconnect')
338 finally:
339 for client in clients: vm.qmp(client['name'], 'set_link', {'name': 'lab', 'up': True})
340 expected = {rust_text, *native}
341 deadline = time.monotonic() + 120
342 while True:
343 for client in clients: action(client, 'sync')
344 checkpoint_label = f'convergence-{clients[0]["sequence"]}'
345 checkpoint(checkpoint_label)
346 model = json.loads((output / checkpoint_label / 'model/document.json').read_text())
347 retained = reachable_page_text(model)
348 if sorted(expected) == sorted(text for texts in retained.values() for text in texts): break
349 if time.monotonic() >= deadline:
350 (output / 'lost-edit.json').write_text(json.dumps({'expected': sorted(expected),
351 'reachable_page_text': retained, 'checkpoint': checkpoint_label}, indent=2))
352 raise AssertionError(('Competing Rust/native edits differ from recorded results', sorted(expected), retained))
353 time.sleep(1)
354 checkpoint('conflict-final')
355 (output / 'live-retention.json').write_text(json.dumps(retained, indent=2))
356 if abrupt:
357 import crash
358 with locked_file('synthetic.one') as stream:
359 os.fsync(stream.fileno())
360 (output / 'conflict-server-crash.json').write_text(json.dumps(crash.stop('linux', server), indent=2))
361 for client in clients: vm.qmp(client['name'], 'set_link', {'name': 'lab', 'up': False})
362 linux_vm.launch(server)
363 linux_vm.wait_instance(server, 600)
364 reconnect_mount()
365 checkpoint('conflict-server-recovered')
366 model = json.loads((output / 'conflict-server-recovered/model/document.json').read_text())
367 observed = [text for texts in reachable_page_text(model).values() for text in texts]
368 assert sorted(observed) == sorted(expected), 'Server interruption lost a flushed competing result'
369 for client in clients: vm.qmp(client['name'], 'set_link', {'name': 'lab', 'up': True})
370 for client in clients: action(client, 'sync')
371 elif stress_clients:
372 from native_stress import exercise
373 exercise(output, shared, clients, action, wait_action, wait_text, checkpoint, stress_operations, sync_every, rust_writers, rust_readers, edit, seed)
374 else:
375 a, b = clients
376 original = 'Fictitious: café, 東京, مرحبا'
377 rust_text = 'Rust disjoint edit.'.ljust(len(original.encode('utf-16-le')) // 2, '.')
378 other = 'Fictitious positioned outline.'
379 for client in clients: wait_text(client, [original, other])
380 checkpoint('initial')
381 subprocess.run([ROOT / 'target/debug/examples/edit_property', shared / 'synthetic.one', '--in-place', '6000e', '1c001c22', (original + '\0').encode('utf-16-le').hex(), (rust_text + '\0').encode('utf-16-le').hex()], check=True)
382 action(a, 'edit', expected=other, text='Native disjoint edit.')
383 for client in clients: wait_text(client, [rust_text, 'Native disjoint edit.'])
384 checkpoint('disjoint')
385 ssh('sudo systemctl stop smbd && ! systemctl is-active --quiet smbd')
386 try:
387 action(a, 'edit', expected=rust_text, text='Client A concurrent edit.')
388 action(b, 'edit', expected=rust_text, text='Client B concurrent edit.')
389 finally:
390 ssh('sudo systemctl start smbd && systemctl is-active smbd')
391 reconnect_mount()
392 for client in clients: action(client, 'sync')
393 deadline = time.monotonic() + 120
394 while time.monotonic() < deadline:
395 for client in clients: action(client, 'sync')
396 temporary = output / 'conflict-model'
397 if temporary.exists(): shutil.rmtree(temporary)
398 snapshot = output / 'conflict.one'
399 snapshot.write_bytes(snapshot_file('synthetic.one'))
400 subprocess.run([ROOT / 'target/debug/examples/document', snapshot, temporary], check=True)
401 model = json.loads((temporary / 'document.json').read_text())
402 values = [node['kind'].get('text') for space in model['spaces'].values() for revision in space['revisions'].values() for node in revision['nodes'].values()]
403 if 'Client A concurrent edit.' in values and 'Client B concurrent edit.' in values: break
404 time.sleep(1)
405 else: raise AssertionError('Both concurrent edits were not retained')
406 checkpoint('conflict')
407 ssh('sudo systemctl restart smbd && systemctl is-active smbd')
408 reconnect_mount()
409 for client in clients: wait_text(client, ['Native disjoint edit.'])
410 checkpoint('server-restart')
411 vm.qmp(a['name'], 'set_link', {'name': 'lab', 'up': False})
412 try:
413 action(a, 'edit', expected='Native disjoint edit.', text='Client A offline edit.')
414 assert 'Client A offline edit.' in action(a, 'snapshot')
415 action(b, 'edit', expected='Left cell', text='Client B online cell.')
416 wait_text(b, ['Client B online cell.', 'Native disjoint edit.'])
417 checkpoint('transport-disconnected')
418 finally:
419 vm.qmp(a['name'], 'set_link', {'name': 'lab', 'up': True})
420 for client in clients: wait_text(client, ['Client A offline edit.', 'Client B online cell.'])
421 checkpoint('transport-reconnected')
422 with os.fdopen(os.open(shared / 'synthetic.one', os.O_RDONLY | os.O_EXLOCK | os.O_NONBLOCK), 'rb') as locked:
423 before = locked.read()
424 action(a, 'edit', expected='Client A offline edit.', text='Native lock recovery.')
425 action(a, 'sync')
426 assert 'Native lock recovery.' in action(a, 'snapshot')
427 locked.seek(0)
428 assert locked.read() == before, 'The shared file changed while exclusively locked'
429 (output / 'contention.json').write_text(json.dumps({'unchanged_sha256': hashlib.sha256(before).hexdigest(), 'locks': ssh('sudo smbstatus --locks')}, indent=2))
430 for client in clients: wait_text(client, ['Native lock recovery.', 'Client B online cell.'])
431 checkpoint('lock-released')
432 action(a, 'kill-process')
433 for client in clients: wait_text(client, ['Native lock recovery.', 'Client B online cell.'])
434 checkpoint('process-restarted')
435 vm.qmp(a['name'], 'quit')
436 deadline = time.monotonic() + 10
437 while vm.running(a['name']) and time.monotonic() < deadline: time.sleep(.1)
438 assert not vm.running(a['name']), 'The owned clone did not terminate'
439 vm.start_instance(a['name'])
440 vm.wait_instance(a['name'], 300)
441 command(a['name'], 'powershell -NoProfile -ExecutionPolicy Bypass -File C:\\one-tests\\network.ps1 -LabMac ' + vm.lab_mac(a['name']), a['folder'])
442 start_controller(a, resume=True)
443 for client in clients: wait_text(client, ['Native lock recovery.', 'Client B online cell.'])
444 checkpoint('vm-restarted')
445 final = json.loads((output / 'vm-restarted/model/document.json').read_text())
446 (output / 'retention.json').write_text(json.dumps(verify_final_state(final), indent=2))
447 for client in clients:
448 action(client, 'close')
449 collect_artifacts(client['name'], client['folder'], '*')
450 if abrupt and not conflict_clients:
451 checkpoint('crash-closed')
452 model = json.loads((output / 'crash-closed/model/document.json').read_text())
453 actual = sorted(value for values in reachable_page_text(model).values() for value in values)
454 assert actual == sorted([final_text, *native_text]), 'Application closure changed recovered edits'
455 elif stress_clients:
456 checkpoint('stress-closed')
457 elif conflict_clients:
458 checkpoint('conflict-closed')
459 model = json.loads((output / 'conflict-closed/model/document.json').read_text())
460 retained = reachable_page_text(model)
461 assert sorted(expected) == sorted(text for texts in retained.values() for text in texts), 'Closing native clients changed the competing results'
462 (output / 'result.json').write_text(json.dumps({'native_writers': conflict_clients,
463 'rust_writers': rust_writers, 'rust_readers': rust_readers, 'rust_commits': len(commits),
464 'competing_results': sorted(expected), 'reachable_page_text': retained}, indent=2))
465 if not (stress_clients or conflict_clients or abrupt): (output / 'result.json').write_text(json.dumps({'disjoint': True, 'conflict_retained': True, 'server_restart': True, 'transport_reconnect': True, 'lock_contention': True, 'process_restart': True, 'vm_restart': True}, indent=2))
466 except BaseException:
467 if linux_vm.instance_path(server).exists() and linux_vm.running(server):
468 failure = output / 'failure-after-client-shutdown'
469 failure.mkdir(exist_ok=True)
470 try:
471 for name in ('synthetic.one', 'Open Notebook.onetoc2'):
472 with (failure / name).open('wb') as stream:
473 subprocess.run(linux_vm.ssh_argv(server, f'cat /srv/agent/m6-collaboration/"{name}"'),
474 stdout=stream, stderr=subprocess.PIPE, check=True, timeout=30)
475 except Exception as error:
476 (failure / 'capture-error.txt').write_text(str(error))
477 raise
478 finally:
479 if mounted:
480 result = subprocess.run(['/sbin/umount', str(mount)], capture_output=True, text=True)
481 (output / 'unmount.json').write_text(json.dumps({'exit': result.returncode, 'stderr': result.stderr}))
482 if linux_vm.instance_path(server).exists():
483 try:
484 if linux_vm.running(server): linux_vm.shutdown(server, 60)
485 finally:
486 if linux_vm.running(server): linux_vm.qmp(server, 'quit')
487 deadline = time.monotonic() + 10
488 while linux_vm.running(server) and time.monotonic() < deadline: time.sleep(.1)
489 linux_vm.delete_instance(server)
490 (output / 'teardown.json').write_text(json.dumps({'linux_absent': not linux_vm.instance_path(server).exists()}, indent=2))
491
492
493if __name__ == '__main__':
494 parser = argparse.ArgumentParser(description=__doc__)
495 parser.add_argument('output', type=Path)
496 parser.add_argument('--linux', required=True, help='Disposable Linux VM owned by this run; it is deleted on exit.')
497 parser.add_argument('--stress-clients', type=int, default=0)
498 parser.add_argument('--conflict-clients', type=int, default=0, help='Native clients editing the same paragraph offline while Rust writes the server copy.')
499 parser.add_argument('--stress-operations', type=int, default=30)
500 parser.add_argument('--sync-every', type=int, default=1, help='Native edits between explicit sync requests; zero uses background sync.')
501 parser.add_argument('--rust-writers', type=int, default=4)
502 parser.add_argument('--rust-readers', type=int, default=3)
503 parser.add_argument('--edit', action='store_true', help='Use random text replacements in every writer.')
504 parser.add_argument('--seed', type=int, default=710)
505 parser.add_argument('--abrupt', action='store_true', help='Abrupt server and client stops with preserved-disk recovery and intent accounting.')
506 args = parser.parse_args()
507 if args.rust_writers < 2 or args.rust_readers < 1: parser.error('Use at least two Rust writers and one reader.')
508 if args.sync_every < 0 or args.stress_operations <= 0: parser.error('Use a nonnegative sync interval and positive operation count.')
509 if args.stress_clients and args.stress_clients < 3: parser.error('Stress mode requires at least three native clients.')
510 if args.conflict_clients < 0 or (args.conflict_clients and args.stress_clients): parser.error('Choose a positive conflict client count without stress mode.')
511 if args.abrupt and (args.stress_clients or args.edit): parser.error('Abrupt recovery uses append intents or the offline-conflict workload.')
512 def interrupted(_signal, _frame): raise KeyboardInterrupt
513 signal.signal(signal.SIGTERM, interrupted)
514 replay(args.output, args.linux, args.stress_clients, args.stress_operations, args.sync_every, args.rust_writers, args.rust_readers, args.edit, args.seed, args.conflict_clients, args.abrupt)
tools/native_format.py created+129
...@@ -0,0 +1,129 @@
1"""Independent formatting oracle from the application's XML and inline HTML."""
2from html.parser import HTMLParser
3from native_xml import ns, project_text
4from PIL import ImageColor
5
6
7def css(value):
8 result = {}
9 for item in value.split(';'):
10 key, sep, text = item.partition(':')
11 if not sep:
12 continue
13 key, text = key.strip().lower(), text.strip().strip('"\'')
14 if key == 'font-family': result['font'] = text
15 elif key == 'font-size': result['font_size'] = float(text.removesuffix('pt'))
16 elif key == 'font-weight': result['bold'] = text in ('bold', '700')
17 elif key == 'font-style': result['italic'] = text == 'italic'
18 elif key == 'text-decoration':
19 result['underline'] = 'underline' in text
20 result['strike'] = 'line-through' in text
21 elif key == 'vertical-align':
22 result['superscript'] = text == 'super'
23 result['subscript'] = text == 'sub'
24 elif key == 'color': result['color'] = text.lower()
25 elif key == 'background': result['highlight'] = text.lower()
26 return result
27
28
29class Runs(HTMLParser):
30 def __init__(self, html, inherited):
31 super().__init__()
32 self.stack = [inherited]
33 self.characters = []
34 self.after_br = False
35 self.feed(html)
36
37 def handle_starttag(self, tag, attrs):
38 attrs = dict(attrs)
39 style = {**self.stack[-1], **css(attrs.get('style', ''))}
40 if tag in ('b', 'strong'): style['bold'] = True
41 if tag in ('i', 'em'): style['italic'] = True
42 if tag == 'u': style['underline'] = True
43 if tag in ('s', 'strike'): style['strike'] = True
44 if tag == 'sup': style['superscript'] = True
45 if tag == 'sub': style['subscript'] = True
46 if tag == 'a':
47 style['hyperlink'] = True
48 style['link'] = attrs.get('href')
49 if tag == 'br':
50 self.characters.append(('\n', self.stack[-1]))
51 self.after_br = True
52 else:
53 self.stack.append(style)
54
55 def handle_endtag(self, tag):
56 if len(self.stack) > 1:
57 self.stack.pop()
58
59 def handle_data(self, data):
60 if self.after_br:
61 data = data.removeprefix('\n')
62 self.after_br = False
63 self.characters.extend((char, self.stack[-1]) for char in data)
64
65
66def native_characters(page, roots):
67 definitions = {}
68 for node in page.findall('one:QuickStyleDef', ns):
69 definitions[node.attrib['index']] = {
70 **{k: node.get(k, 'false') == 'true' for k in ('bold', 'italic', 'underline', 'superscript', 'subscript')},
71 'strike': node.get('strikethrough', 'false') == 'true',
72 **{k: node.attrib[v] for k, v in [('font', 'font'), ('color', 'fontColor'), ('highlight', 'highlightColor')] if v in node.attrib},
73 }
74 if 'fontSize' in node.attrib:
75 definitions[node.attrib['index']]['font_size'] = float(node.attrib['fontSize'])
76 result = []
77 for root in roots:
78 pending = [(root, {})]
79 while pending:
80 node, inherited = pending.pop()
81 style = {**inherited, **definitions.get(node.get('quickStyleIndex'), {}), **css(node.get('style', ''))}
82 if node.tag == '{' + ns['one'] + '}T':
83 result.append(Runs(node.text or '', style).characters)
84 pending.extend((child, style) for child in reversed(node))
85 return result
86
87
88def compare_formats(space, nodes, native):
89 count = 0
90 differences = {}
91 for node_index, (node, expected) in enumerate(zip(nodes, native, strict=True)):
92 kind = node['kind']
93 base = space['nodes'][kind['paragraph_style']]['format'] if kind['paragraph_style'] else {}
94 base = {**{k: v for k, v in base.items() if v is not None}, **{k: v for k, v in node['format'].items() if v is not None}}
95 source = kind['text'].encode('utf-16-le')
96 actual = []
97 for run in kind['runs']:
98 style = {**base, **({k: v for k, v in space['nodes'][run['format']]['format'].items() if v is not None} if run['format'] else {})}
99 text = source[run['start'] * 2:run['end'] * 2].decode('utf-16-le')
100 if not style.get('hidden'):
101 actual.extend((char, style) for char in text)
102 if actual and actual[-1][0] == '\r':
103 actual.pop()
104 actual = [(projected, style) for char, style in actual for projected in project_text(char)]
105 if kind['text'] == '\u00a0' and not expected:
106 continue
107 assert ''.join(c for c, _ in actual) == ''.join(c for c, _ in expected), 'Visible text runs differ'
108 for position, ((_, observed), (_, wanted)) in enumerate(zip(actual, expected, strict=True)):
109 for key in ('bold', 'italic', 'underline', 'strike', 'superscript', 'subscript', 'font', 'font_size', 'color', 'highlight'):
110 if key not in observed:
111 continue
112 value = observed[key]
113 if key in ('color', 'highlight'):
114 if value == 0xff000000:
115 continue
116 value = '#' + ''.join(f'{(value >> (8 * i)) & 255:02x}' for i in range(3))
117 if observed.get('hyperlink') and key not in wanted:
118 continue
119 expected_value = wanted.get(key, False if isinstance(value, bool) else None)
120 if key in ("font", "font_size") and expected_value is None:
121 continue
122 if key in ("color", "highlight") and expected_value not in (None, "automatic", "none"):
123 expected_value = "#" + "".join(f"{v:02x}" for v in ImageColor.getrgb(expected_value))
124 if value != expected_value:
125 differences.setdefault((node_index, key, value, expected_value), []).append(position)
126 count += 1
127 return count, [{"paragraph": node, "field": key, "stored": actual, "native": expected,
128 "characters": len(positions), "positions": positions}
129 for (node, key, actual, expected), positions in differences.items()]
tools/native_probe.py created+44
...@@ -0,0 +1,44 @@
1#!/usr/bin/env python3
2"""Cold-open a batch of disposable section candidates in isolated OneNote caches."""
3import argparse
4import hashlib
5import json
6from pathlib import Path
7import signal
8import zipfile
9from native_runner import ROOT, clone, command, windows, collect_artifacts
10
11
12def run(inputs, output):
13 output.mkdir(parents=True, exist_ok=False)
14 files = sorted(inputs.glob('*.one'))
15 assert files, 'No section candidates'
16 scripts = [ROOT / 'tools/native/cold.ps1', ROOT / 'tools/native/probe.ps1']
17 (output / 'run.json').write_text(json.dumps({'inputs': {p.name: hashlib.sha256(p.read_bytes()).hexdigest() for p in files},
18 'scripts': {p.name: hashlib.sha256(p.read_bytes()).hexdigest() for p in scripts}}, indent=2))
19 archive = output / 'inputs.zip'
20 try:
21 with zipfile.ZipFile(archive, 'w', zipfile.ZIP_DEFLATED) as packed:
22 for path in files:
23 packed.writestr(path.name, path.read_bytes())
24 with clone(output) as name:
25 for local, remote in [(archive, r'C:\one-tests\inputs.zip'), (scripts[0], r'C:\one-tests\cold-current.ps1'),
26 (scripts[1], r'C:\one-tests\probe.ps1')]:
27 result = windows.do_put(local, remote, name)
28 if result.get('error'): raise RuntimeError(result['error'])
29 command(name, r'powershell -NoProfile -Command "Expand-Archive C:\one-tests\inputs.zip C:\one-tests\runs\capture\inputs"', output)
30 command(name, r'powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\one-tests\probe.ps1 -Root C:\one-tests\runs\capture -CloneHost ONE-' + name.upper(), output, (len(files) * 60 + 120) * 1000)
31 collect_artifacts(name, output, r'results, C:\one-tests\runs\capture\results.json')
32 finally:
33 archive.unlink(missing_ok=True)
34
35
36if __name__ == '__main__':
37 parser = argparse.ArgumentParser(description=__doc__)
38 parser.add_argument('inputs', type=Path)
39 parser.add_argument('output', type=Path)
40 args = parser.parse_args()
41 def interrupted(_signum, _frame):
42 raise KeyboardInterrupt
43 signal.signal(signal.SIGTERM, interrupted)
44 run(args.inputs.resolve(), args.output.resolve())
tools/native_runner.py created+220
...@@ -0,0 +1,220 @@
1#!/usr/bin/env python3
2"""Capture a notebook with real OneNote in a disposable Windows clone."""
3import argparse
4import base64
5from contextlib import contextmanager
6import hashlib
7import json
8from pathlib import Path
9import signal
10import re
11import xml.etree.ElementTree as ET
12import sys
13import time
14import uuid
15import zipfile
16
17ROOT = Path(__file__).resolve().parent.parent
18sys.path.insert(0, str(ROOT / 'tools/w7'))
19import mcp_win7 as windows
20import vm
21
22
23def command(target, text, output, timeout_ms=120000):
24 result = windows.do_cmd(text, timeout_ms=timeout_ms, target=target)
25 with (output / 'commands.jsonl').open('a') as log:
26 log.write(json.dumps({'command': text, **result}) + '\n')
27 if result.get('exit') != 0 or result.get('error'):
28 raise RuntimeError(windows.text_result(result))
29
30
31def install_agent(name, output):
32 source = output / 'agent.py'
33 source.write_bytes((ROOT / 'tools/w7/payload/agent.py').read_bytes())
34 expected = hashlib.sha256(source.read_bytes()).hexdigest()
35 restart = output / 'restart-agent.py'
36 restart.write_bytes((ROOT / 'tools/w7/restart_agent.py').read_bytes())
37 for local, remote in [(source, r'C:\win7-agent\agent.py'),
38 (restart, r'C:\one-tests\restart-agent.py')]:
39 result = windows.do_put(local, remote, name)
40 if result.get('error'):
41 raise RuntimeError(result['error'])
42 result = windows.do_spawn(r'C:\win7-agent\vendor\python\python.exe C:\one-tests\restart-agent.py ONE-' + name.upper(), name)
43 if result.get('error'):
44 raise RuntimeError(result['error'])
45 deadline = time.monotonic() + 60
46 last_result = None
47 while time.monotonic() < deadline:
48 try:
49 health = windows.do_health(name)
50 last_result = health
51 if health.get('agent_sha256') == expected:
52 return health
53 except windows.Win7Error as error:
54 last_result = str(error)
55 time.sleep(.2)
56 (output / 'agent-startup-failure.json').write_text(json.dumps({'expected_sha256': expected, 'last_result': last_result}, indent=2))
57 raise RuntimeError('The updated clone agent did not become ready.')
58
59
60def collect_artifacts(name, output, content, partial=False):
61 command(name, 'powershell -NoProfile -Command "Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\%s -DestinationPath C:\\one-tests\\captured.zip"' % content, output)
62 archive_path = output / 'capture.zip'
63 result = windows.do_get('C:\\one-tests\\captured.zip', archive_path, name)
64 if result.get('error') or not archive_path.is_file():
65 raise RuntimeError('The native capture was not returned; inspect commands.jsonl.')
66 with zipfile.ZipFile(archive_path) as archive:
67 for entry in archive.infolist():
68 relative = Path(entry.filename.replace('\\', '/'))
69 if relative.is_absolute() or '..' in relative.parts:
70 raise ValueError('The native archive contains a path outside the capture.')
71 path = (output / 'failure-artifacts' if partial else output) / relative
72 if entry.is_dir():
73 path.mkdir(parents=True, exist_ok=True)
74 else:
75 path.parent.mkdir(parents=True, exist_ok=True)
76 path.write_bytes(archive.read(entry))
77 archive_path.unlink()
78
79
80@contextmanager
81def clone(output):
82 name = 'm6-' + uuid.uuid4().hex[:8]
83 if vm.instance_path(name).exists():
84 raise RuntimeError('The generated clone name is already in use; rerun the capture.')
85 try:
86 vm.create_instance(name)
87 (output / 'machine.json').write_text(json.dumps({'name': name, 'hostname': 'ONE-' + name.upper()}) + '\n')
88 vm.start_instance(name)
89 vm.wait_instance(name, 300)
90 (output / 'health.json').write_text(json.dumps(install_agent(name, output), indent=2) + '\n')
91 yield name
92 except BaseException:
93 if (output / 'health.json').exists():
94 try:
95 collect_artifacts(name, output, '*', partial=True)
96 except Exception as failure:
97 (output / 'artifact-failure.txt').write_text(str(failure))
98 try:
99 shot = windows.do_shot(name)
100 if shot.get('png_b64'):
101 (output / 'failure.png').write_bytes(base64.b64decode(shot['png_b64']))
102 except Exception:
103 pass
104 raise
105 finally:
106 if vm.instance_path(name).exists():
107 if vm.running(name):
108 try:
109 vm.shutdown(name, 60)
110 except (Exception, SystemExit):
111 vm.qmp(name, 'quit')
112 deadline = time.monotonic() + 10
113 while vm.running(name) and time.monotonic() < deadline:
114 time.sleep(0.1)
115 vm.delete_instance(name)
116 (output / 'teardown.json').write_text(json.dumps({'absent': not vm.instance_path(name).exists()}) + '\n')
117
118
119def capture(notebook, output, expected_pages=-1, author=None, screenshots=False, pdf=False, author_timeout=600, inspect=False):
120 notebook = notebook.resolve(strict=True)
121 if not notebook.is_dir():
122 raise ValueError('Choose a notebook directory.')
123 if output.resolve().is_relative_to(notebook):
124 raise ValueError('Choose an output directory outside the source notebook.')
125 output.mkdir(parents=True, exist_ok=False)
126 scripts = output / 'scripts'
127 scripts.mkdir()
128 for name in ('cold.ps1', 'read.ps1'):
129 (scripts / name).write_bytes((ROOT / 'tools/native' / name).read_bytes())
130 if author is not None:
131 (scripts / 'author.ps1').write_bytes(author.read_bytes())
132 (output / 'run.json').write_text(json.dumps({
133 'notebook': str(notebook), 'expected_pages': expected_pages, 'author': str(author) if author else None,
134 'author_timeout_seconds': author_timeout,
135 'inspect': inspect,
136 'base': json.loads(vm.BASE_MANIFEST.read_text()),
137 'scripts': {name: hashlib.sha256((scripts / name).read_bytes()).hexdigest()
138 for name in sorted(p.name for p in scripts.iterdir())},
139 }, indent=2) + '\n')
140 source = []
141 transfer = output / 'transfer.zip'
142 with zipfile.ZipFile(transfer, 'w', zipfile.ZIP_DEFLATED) as archive:
143 for path in sorted(notebook.rglob('*')):
144 if not path.is_file():
145 continue
146 relative = path.relative_to(notebook).as_posix()
147 data = path.read_bytes()
148 source.append({'path': relative, 'bytes': len(data), 'sha256': hashlib.sha256(data).hexdigest(),
149 'mtime_ns': path.stat().st_mtime_ns})
150 archive.writestr(zipfile.ZipInfo.from_file(path, arcname=relative), data)
151 (output / 'source.json').write_text(json.dumps(source, indent=2) + '\n')
152 try:
153 with clone(output) as name:
154 for local, remote in [('cold.ps1', 'cold-current.ps1'), ('read.ps1', 'read-current.ps1')]:
155 result = windows.do_put(scripts / local, 'C:\\one-tests\\' + remote, name)
156 if result.get('error'):
157 raise RuntimeError(result['error'])
158 result = windows.do_put(transfer, 'C:\\one-tests\\transfer.zip', name)
159 if result.get('error'):
160 raise RuntimeError(result['error'])
161 command(name, 'powershell -NoProfile -Command "Expand-Archive -LiteralPath C:\\one-tests\\transfer.zip -DestinationPath C:\\one-tests\\runs\\capture\\notebook"', output)
162 if author is not None:
163 result = windows.do_put(scripts / 'author.ps1', 'C:\\one-tests\\author.ps1', name)
164 if result.get('error'):
165 raise RuntimeError(result['error'])
166 command(name, 'powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\author.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-%s' % name.upper(), output, author_timeout * 1000)
167 command(name, 'powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-%s -ExpectedPages %d%s' % (name.upper(), expected_pages, (' -UseCurrentCache' if author else '') + (' -Pdf' if pdf else '') + (' -KeepOpen' if screenshots or inspect else '')), output, 600000)
168 collect_artifacts(name, output, '*' if author else 'read')
169 if screenshots:
170 for page in sorted((output / 'read').glob('page-*.xml')):
171 page_id = ET.parse(page).getroot().attrib['ID']
172 if not re.fullmatch(r'\{[0-9A-Fa-f-]+\}\{[0-9]+\}\{[0-9A-Fa-f]+\}', page_id):
173 raise ValueError('The native page identity cannot be used for navigation.')
174 result = windows.do_exec(
175 'OnError((exception, mode) => (FileAppend(exception.Message, "**"), ExitApp(1)))\n'
176 'DetectHiddenWindows false\napp := ComObject("OneNote.Application")\n'
177 f'app.NavigateTo("{page_id}", "", false)\n'
178 'hwnd := WinWait("ahk_exe ONENOTE.EXE",, 10)\n'
179 'WinMaximize(hwnd)\nWinActivate(hwnd)\nWinWaitActive(hwnd,, 10)\n',
180 target=name, shot_delay_ms=1500)
181 page.with_suffix('.navigation.json').write_text(json.dumps({k: v for k, v in result.items() if k != 'png_b64'}, indent=2))
182 if result.get('png_b64'):
183 page.with_suffix('.png').write_bytes(base64.b64decode(result['png_b64']))
184 if result.get('error') or result.get('exit') != 0 or not result.get('png_b64'):
185 raise RuntimeError('The native page screenshot failed; inspect its navigation record.')
186 if inspect:
187 print(f'Inspection ready: {name}; create {output / "finish"} to capture and close it.', flush=True)
188 deadline = time.monotonic() + 1800
189 while not (output / 'finish').exists() and time.monotonic() < deadline:
190 time.sleep(.2)
191 command(name, 'powershell -NoProfile -Command "Rename-Item C:\\one-tests\\runs\\capture\\read before-read"', output)
192 (output / 'read').rename(output / 'before-read')
193 command(name, 'powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-%s -UseCurrentCache -ExpectedPages -1%s' % (name.upper(), ' -Pdf' if pdf else ''), output, 600000)
194 collect_artifacts(name, output, '*')
195 for item in source:
196 path = notebook / item['path']
197 if path.stat().st_mtime_ns != item['mtime_ns'] or hashlib.sha256(path.read_bytes()).hexdigest() != item['sha256']:
198 raise RuntimeError('The source changed during capture; repeat from an isolated copy.')
199 finally:
200 transfer.unlink(missing_ok=True)
201
202
203if __name__ == '__main__':
204 parser = argparse.ArgumentParser(description=__doc__)
205 parser.add_argument('notebook', type=Path)
206 parser.add_argument('output', type=Path)
207 parser.add_argument('--expected-pages', type=int, default=-1)
208 parser.add_argument('--pdf', action='store_true')
209 parser.add_argument('--screenshots', action='store_true')
210 parser.add_argument('--inspect', action='store_true', help='Keep the clone open for inspection until an output/finish file appears, up to 30 minutes.')
211 parser.add_argument('--author', type=Path, help='Run a fixture-authoring PowerShell script in the clone before capture.')
212 parser.add_argument('--author-timeout', type=int, default=600, help='Authoring deadline in seconds.')
213 args = parser.parse_args()
214 def interrupted(_signum, _frame):
215 raise KeyboardInterrupt
216 signal.signal(signal.SIGTERM, interrupted)
217 if args.author_timeout <= 0:
218 parser.error('The authoring deadline must be positive.')
219 capture(args.notebook, args.output, args.expected_pages, args.author, args.screenshots, args.pdf, args.author_timeout, args.inspect)
220 print('Captured native evidence in', args.output)
tools/native_stress.py created+198
...@@ -0,0 +1,198 @@
1"""Overlapping native and Rust editing histories on one shared section."""
2import json
3import time
4
5from native_runner import windows
6from concurrent_rust import running_clients
7from document_model import ordered_pages, walk
8
9
10def edit_history(logs, operations, edit=False):
11 links = {}
12 for actor, events in logs.items():
13 assert events[0]['event'] == 'ready' and events[-1]['event'] == 'done', 'Incomplete client log'
14 if not actor.startswith('w'): continue
15 intents = {event['attempt']: event for event in events if event['event'] == 'intent'}
16 commits = [event for event in events if event['event'] == 'commit']
17 assert sorted(event['operation'] for event in commits) == list(range(operations)), 'Missing or duplicate Rust acknowledgements'
18 for event in commits:
19 intent = intents[event['attempt']]
20 token = f' [{actor}:{event["operation"]}]'
21 offset = len(intent['before'].encode('utf-16-le')) // 2
22 assert event['token'] == intent['token'] == token, 'Acknowledgement differs from intended edit'
23 assert intent['replacement'] == (' café 🦀' if edit else '') + token, 'Unexpected replacement text'
24 assert intent['operation'] == event['operation'] and intent['source_transaction'] == event['source_transaction'], 'Acknowledgement used another intent'
25 start, end = intent['range']
26 assert len('Concurrent edits:') <= start <= end <= offset, 'Invalid edit range'
27 if not edit: assert start == end == offset, 'Expected an append intent'
28 units = intent['before'].encode('utf-16-le')
29 after = units[:start * 2].decode('utf-16-le') + intent['replacement'] + units[end * 2:].decode('utf-16-le')
30 assert intent['before'] not in links, 'Acknowledged Rust edits branched from the same content'
31 links[intent['before']] = event, after
32 text = 'Concurrent edits:'
33 versions = {text: 0}
34 ordered = []
35 while text in links:
36 event, text = links.pop(text)
37 ordered.append(event)
38 versions[text] = len(ordered)
39 assert not links, 'Acknowledged edits do not form one complete content history'
40 for events in logs.values():
41 previous = 0
42 for event in events:
43 if event['event'] != 'read': continue
44 assert event['text'] in versions, 'A reader observed partial, lost or invented content'
45 version = versions[event['text']]
46 assert version >= previous, 'A reader went backwards in content history'
47 previous = version
48 for i, commit in enumerate(ordered):
49 if commit['finished_us'] < event['started_us']:
50 assert version >= i + 1, 'A read missed an acknowledged edit'
51 if commit['started_us'] > event['finished_us']:
52 assert version <= i, 'A read observed a future edit'
53 return ordered, text
54
55
56def native_history(events, actor, operations, edit):
57 assert len(events) == operations, 'Missing native acknowledgements'
58 prefix = f'Native {actor}:'
59 expected = prefix
60 for j, event in enumerate(events):
61 assert event['operation'] == j and event['token'] == f' [n{actor}:{j}]' and event['before'] == expected, 'Native history lost or invented an edit'
62 if edit:
63 start, end = event['range']
64 units = expected.encode('utf-16-le')
65 assert len(prefix) <= start <= end <= len(units) // 2, 'Invalid native edit range'
66 assert event['replacement'] == ' café 🦀' + event['token'], 'Unexpected native replacement'
67 expected = units[:start * 2].decode('utf-16-le') + event['replacement'] + units[end * 2:].decode('utf-16-le')
68 else:
69 expected += event['token']
70 return expected
71
72
73def verify_capture(output, capture):
74 import xml.etree.ElementTree as ET
75 from native_format import native_characters
76 from native_xml import ns
77
78 config = json.loads((output / 'run.json').read_text())
79 operations, edit = config['stress_operations'], config['edit']
80 actors = [f'w{i}' for i in range(config['rust_writers'])] + [f'r{i}' for i in range(config['rust_readers'])]
81 logs = {actor: [json.loads(line) for line in (output / 'rust' / f'{actor}.jsonl').read_text().splitlines()] for actor in actors}
82 commits, rust_text = edit_history(logs, operations, edit)
83 native = [[json.loads(line) for line in (output / f'n{i}' / 'stress-events.jsonl').read_text(encoding='utf-8-sig').splitlines()]
84 for i in range(config['stress_clients'])]
85 expected = [rust_text, *(native_history(events, i, operations, edit) for i, events in enumerate(native))]
86 page_file, = capture.glob('page-*.xml')
87 page = ET.parse(page_file).getroot()
88 paragraphs = native_characters(page, page.findall('one:Outline', ns))
89 actual = [''.join(char for char, _ in paragraph) for paragraph in paragraphs]
90 assert sorted(actual) == sorted(expected), 'Fresh native content differs from the complete recorded editing history'
91 checks = 0
92 if edit:
93 for text, events in zip(expected[1:], native, strict=True):
94 for _, style in paragraphs[actual.index(text)]:
95 for field in ('bold', 'italic'):
96 assert bool(style.get(field)) == events[-1][field], 'Fresh native formatting differs from its last recorded editing intent'
97 checks += 1
98 return {'rust_intents': len(commits), 'native_intents': sum(map(len, native)),
99 'exact_paragraphs': len(expected), 'native_intended_format_checks': checks}
100
101
102def exercise(output, shared, clients, action, wait_action, wait_text, checkpoint, operations, sync_every, rust_writers, rust_readers, edit=False, seed=710):
103 action(clients[0], 'prepare-stress', clients=len(clients))
104 prefixes = [f'Native {i}:' for i in range(len(clients))]
105 for client in clients:
106 wait_text(client, ['Concurrent edits:', *prefixes])
107 checkpoint('stress-initial')
108 clocks = []
109 for client in clients:
110 before = time.time_ns() // 1000
111 result = windows.do_health(client['name'])
112 after = time.time_ns() // 1000
113 native = result['utc_us']
114 clocks.append({'native_minus_host_us': [native - after - 15625, native - before + 15625]})
115 (output / 'clocks.json').write_text(json.dumps(clocks, indent=2))
116 sequences = [action(client, 'stress', wait=False, actor=i, prefix=prefixes[i], operations=operations, seed=seed + 10000 + i, sync_every=sync_every, edit=edit)
117 for i, client in enumerate(clients)]
118 for client, sequence in zip(clients, sequences):
119 deadline = time.monotonic() + 60
120 while time.monotonic() < deadline:
121 result = windows.do_cmd(f'if exist C:\\one-tests\\runs\\capture\\outbox\\{sequence}\\ready echo ready', target=client['name'])
122 if 'ready' in result.get('stdout', ''): break
123 time.sleep(.1)
124 else: raise TimeoutError('Native stress client did not reach the barrier')
125 folder = output / 'rust'
126 folder.mkdir()
127 start = folder / 'start'
128 with running_clients(folder, shared / 'synthetic.one', rust_writers, rust_readers, operations, seed, edit=edit) as processes:
129 (shared / 'stress-start').write_text('start')
130 for client, sequence in zip(clients, sequences):
131 deadline = time.monotonic() + 60
132 while time.monotonic() < deadline:
133 result = windows.do_cmd(f'if exist C:\\one-tests\\runs\\capture\\outbox\\{sequence}\\editing echo editing', target=client['name'])
134 if 'editing' in result.get('stdout', ''): break
135 time.sleep(.1)
136 else: raise TimeoutError('Native stress client did not acknowledge its first edit')
137 start.touch()
138 for client, sequence in zip(clients, sequences):
139 wait_action(client, sequence, 'stress')
140 for client, clock in zip(clients, clocks):
141 before = time.time_ns() // 1000
142 native = windows.do_health(client['name'])['utc_us']
143 after = time.time_ns() // 1000
144 clock['after_native_minus_host_us'] = [native - after - 15625, native - before + 15625]
145 (output / 'clocks.json').write_text(json.dumps(clocks, indent=2))
146 rust = {actor: [json.loads(line) for line in (folder / f'{actor}.jsonl').read_text().splitlines()] for actor in processes}
147 commits, expected_rust = edit_history(rust, operations, edit)
148 assert len(commits) == rust_writers * operations, 'Missing Rust acknowledgements'
149 native_events = []
150 for i, (client, sequence) in enumerate(zip(clients, sequences)):
151 local = client['folder'] / 'stress-events.jsonl'
152 result = windows.do_get(f'C:\\one-tests\\runs\\capture\\outbox\\{sequence}\\events.jsonl', local, client['name'])
153 if result.get('error'): raise RuntimeError(str(result))
154 events = [json.loads(line) for line in local.read_text(encoding='utf-8-sig').splitlines()]
155 prefixes[i] = native_history(events, i, operations, edit)
156 native_events.append(events)
157 expected = [expected_rust, *prefixes]
158 for client in clients: wait_text(client, expected)
159 checkpoint('stress-final')
160 model = json.loads((output / 'stress-final/model/document.json').read_text())
161 paragraphs = [n['kind']['text'] for _, _, revision, page in ordered_pages(model)
162 for _, n in walk(revision, page) if n['kind']['type'] == 'RichText']
163 assert sorted(paragraphs) == sorted(expected), 'Final shared state lost, duplicated or added unrecorded content'
164 if edit:
165 resolved = json.loads((output / 'stress-final/model/text.json').read_text())
166 for i, events in enumerate(native_events):
167 runs, = [resolved[sid][rid][oid] for sid, rid, revision, page in ordered_pages(model)
168 for oid, node in walk(revision, page)
169 if node['kind']['type'] == 'RichText' and node['kind']['text'] == prefixes[i]]
170 for run in runs:
171 for field in ('bold', 'italic'):
172 assert bool(run['format'][field]) == events[-1][field], 'Final native formatting differs from its last edit'
173 reads = [e for events in rust.values() for e in events if e['event'] == 'read']
174 overlap = 0
175 for events, clock in zip(native_events, clocks):
176 low = min(clock['native_minus_host_us'][0], clock['after_native_minus_host_us'][0])
177 high = max(clock['native_minus_host_us'][1], clock['after_native_minus_host_us'][1])
178 for native in events:
179 latest_start = (native['update_started_ticks'] - 621355968000000000) // 10 - low
180 earliest_end = (native['updated_ticks'] - 621355968000000000) // 10 - high
181 overlap += sum(max(latest_start, rust['started_us']) < min(earliest_end, rust['finished_us']) for rust in commits)
182 result = {'native_writers': len(clients), 'rust_writers': rust_writers, 'rust_readers': rust_readers,
183 'sync_every': sync_every, 'edit': edit, 'seed': seed, 'native_edits': operations * len(clients), 'rust_commits': len(commits), 'rust_reads': len(reads),
184 'clock_bounded_native_rust_call_overlaps': overlap, 'converged_paragraphs': len(expected)}
185 (output / 'result.json').write_text(json.dumps(result, indent=2))
186 assert overlap, 'No native/Rust call overlap established within clock uncertainty'
187 print(json.dumps(result), flush=True)
188
189
190if __name__ == '__main__':
191 import argparse
192 from pathlib import Path
193
194 parser = argparse.ArgumentParser(description='Check a fresh native capture against concurrent editing intents.')
195 parser.add_argument('run', type=Path)
196 parser.add_argument('capture', type=Path)
197 args = parser.parse_args()
198 print(json.dumps(verify_capture(args.run, args.capture), indent=2))
tools/native_xml.py created+39
...@@ -0,0 +1,39 @@
1from html.parser import HTMLParser
2import xml.etree.ElementTree as ET
3
4ns = {'one': 'http://schemas.microsoft.com/office/onenote/2010/onenote'}
5
6
7class Text(HTMLParser):
8 def __init__(self, html):
9 super().__init__()
10 self.parts = []
11 self.links = []
12 self.after_br = False
13 self.feed(html)
14
15 def handle_data(self, data):
16 if self.after_br:
17 data = data.removeprefix('\n')
18 self.after_br = False
19 self.parts.append(data)
20
21 def handle_starttag(self, tag, attrs):
22 if tag == 'br':
23 self.parts.append('\n')
24 self.after_br = True
25 if tag == 'a':
26 self.links.extend(value for key, value in attrs if key == 'href')
27
28
29def texts(page):
30 return [''.join(Text(node.text or '').parts) for node in page.findall('.//one:T', ns)]
31
32
33def pages(directory):
34 return [ET.parse(p).getroot() for p in sorted(directory.glob('page-*.xml'))]
35
36
37def project_text(text):
38 """Native HTML expands tabs to eight NBSPs and emits stored CR as a line break."""
39 return text.replace('\t', '\u00a0' * 8).replace('\r', '\n')
tools/notebook_report.py created+464
...@@ -0,0 +1,464 @@
1#!/usr/bin/env python3
2"""Export a copied notebook to an offline, read-only document report."""
3import argparse
4from collections import Counter
5from datetime import datetime, timedelta, timezone
6import hashlib
7from html import escape as esc
8import json
9from io import BytesIO
10from pathlib import Path, PureWindowsPath
11from PIL import Image
12import xml.etree.ElementTree as ET
13from native_xml import ns
14import subprocess
15from urllib.parse import urlsplit
16from zoneinfo import ZoneInfo
17
18from document_model import DEFAULT_CONTEXT, EXPORTER, ordered_pages, version_pages, view, walk
19
20ROOT = Path(__file__).resolve().parent.parent
21
22
23def hyperlink(fragment, target):
24 if urlsplit(target).scheme.lower() in ('http', 'https', 'mailto', 'onenote'):
25 return '<a href="' + esc(target) + '" rel="noreferrer">' + fragment + '</a>'
26 return fragment + ' <span class="meta">(' + esc(target) + ')</span>'
27
28
29def color(value):
30 if value is None or value >> 24:
31 return None
32 return '#' + ''.join(f'{value >> shift & 255:02x}' for shift in (0, 8, 16))
33
34
35def css(fmt):
36 rules = []
37 for field, prop, yes, no in [('bold', 'font-weight', 'bold', 'normal'),
38 ('italic', 'font-style', 'italic', 'normal')]:
39 if fmt.get(field) is not None:
40 rules.append(f'{prop}:{yes if fmt[field] else no}')
41 decorations = [v for k, v in [('underline', 'underline'), ('strike', 'line-through')] if fmt.get(k)]
42 if decorations:
43 rules.append('text-decoration:' + ' '.join(decorations))
44 for field, prop in [('font', 'font-family'), ('font_size', 'font-size'),
45 ('color', 'color'), ('highlight', 'background-color')]:
46 value = fmt.get(field)
47 if value is not None:
48 if field == 'font':
49 fallback = 'monospace' if value in ('Consolas', 'Courier New', 'Lucida Console') else 'serif' if value in ('Times New Roman', 'Cambria', 'Georgia') else 'sans-serif'
50 value = json.dumps(value) + ',' + fallback
51 else:
52 value = f'{value:g}pt' if field == 'font_size' else color(value)
53 if value:
54 rules.append(f'{prop}:{value}')
55 for field, prop in [('space_before', 'margin-top'), ('space_after', 'margin-bottom')]:
56 if fmt.get(field) is not None:
57 rules.append(f'{prop}:{fmt[field]:g}pt')
58 if fmt.get('alignment') is not None:
59 rules.append('text-align:' + {0: 'left', 1: 'center', 2: 'right'}.get(fmt['alignment'], 'start'))
60 if fmt.get('line_spacing'):
61 rules.append(f'line-height:max(1.5em,{fmt["line_spacing"]:g}pt)')
62 if fmt.get('rtl'):
63 rules.append('direction:rtl')
64 return ';'.join(rules)
65
66
67def html_page(title, nav, body):
68 return '''<!doctype html><html lang="en"><meta charset="utf-8">
69<meta name="viewport" content="width=device-width,initial-scale=1">
70<meta http-equiv="Content-Security-Policy" content="default-src 'none'; img-src 'self' data:; style-src 'unsafe-inline'; media-src 'self'; base-uri 'none'">
71<title>''' + esc(title) + '''</title><style>
72*{box-sizing:border-box}body{margin:0;color:#000;background:#fff;font:15px/1.5 system-ui,sans-serif}a{color:#175bb2}nav{position:fixed;inset:0 auto 0 0;width:240px;overflow:auto;background:#f5f6f7;padding:20px}nav a{display:block;padding:3px 0;overflow-wrap:anywhere}nav h2{font-size:14px;margin:20px 0 4px}main{margin-left:240px;padding:30px 40px;max-width:1250px}h1{font-size:28px;line-height:1.2}h2{font-size:18px}p{margin:6px 0}.outline{margin:24px 0;border-top:1px solid #d9dde2;padding-top:12px}.location,.meta{font:12px/1.5 system-ui;color:#666;margin:6px 0}.paragraph{min-height:1.3em;position:relative;overflow-wrap:anywhere}.nested{margin-left:24px}.text{white-space:pre-wrap}.tag{display:inline-block;font:12px system-ui;padding:2px 5px;border:1px solid #aaa;border-radius:3px;margin-right:5px}.list-marker{display:inline-block;min-width:22px;margin-left:-22px}.listed{margin-left:22px}img.content{max-width:100%;height:auto;vertical-align:top}figure{margin:12px 0}figcaption{font-size:12px;color:#666}table{border-collapse:collapse;margin:8px 0;max-width:100%}td{border:1px solid #bbb;padding:5px 8px;vertical-align:top;min-width:30px}table.no-borders td{border-color:transparent}.opaque{border:1px dashed #9aa2ad;padding:12px;margin:12px 0;background:#f7f8fa}details{margin:14px 0}summary{cursor:pointer;font:13px system-ui}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.4 ui-monospace,monospace;max-height:560px;overflow:auto}.page-link{padding-left:12px}code{font-size:12px}.references a{margin-right:14px}@media(max-width:750px){nav{position:static;width:auto;max-height:220px}main{margin:0;padding:20px}}@media print{nav{display:none}main{margin:0}details{display:none}}
73</style><nav>''' + nav + '</nav><main>' + body + '</main></html>'
74
75
76class Page:
77 def __init__(self, section, sid, rid):
78 self.section = section
79 self.space = section['document']['spaces'][sid]['revisions'][rid]
80 self.text = section['text'][sid][rid]
81 self.counts = Counter()
82 self.numbering = {}
83 self.has_paragraph = False
84 self.active = set()
85
86 def asset(self, container):
87 if container is None:
88 return None
89 node = self.space['nodes'][container]
90 if node['kind']['type'] != 'File':
91 raise ValueError('The asset container is not a file object.')
92 return self.section['assets'].get(json.dumps(node['kind']['reference'], sort_keys=True))
93
94 def render(self, oid, depth=0, level=0):
95 if oid in self.active or depth > 256:
96 raise ValueError('The content graph is cyclic or exceeds the report depth limit.')
97 self.active.add(oid)
98 node = self.space['nodes'][oid]
99 kind = node['kind']; typ = kind['type']
100 self.counts[typ] += 1
101 children = lambda refs: ''.join(self.render(x, depth + 1, level) for x in refs)
102 tags = ''
103 tag_format = {}
104 for tag in node['tags']:
105 definition = self.space['nodes'][tag['definition']]['kind'] if tag['definition'] else {}
106 label = definition.get('label') or 'Task'
107 if not tag['status'] & 2:
108 for field in ('color', 'highlight'):
109 if color(definition.get(field)):
110 tag_format.setdefault(field, definition[field])
111 if tag['due']:
112 label += ' · Due ' + datetime.fromtimestamp(tag['due'] + 315532800, timezone.utc).strftime('%Y-%m-%d')
113 if tag['status'] & 2:
114 label += ' · Disabled'
115 tags += '<span class="tag" title="' + esc(json.dumps(tag)) + '">' + (('☑ ' if tag['status'] & 1 else '☐ ') if definition.get('shape') == 3 or tag['status'] & 4 else '') + esc(label) + '</span>'
116 if typ == 'RichText':
117 body = ''
118 structured_math = any(c in kind['text'] for c in '\ufdd0\ufdee\ufdef')
119 equation = False
120 for run in self.text[oid]:
121 if run['format']['hidden']:
122 continue
123 if structured_math and run['format'].get('math'):
124 if not equation:
125 body += '<span class="meta">[Equation · see native reference]</span>'
126 equation = True
127 continue
128 equation = False
129 style = {**run['format'], **tag_format}
130 if (style['superscript'] or style['subscript']) and style['font_size'] is not None:
131 style['font_size'] *= 2 / 3
132 fragment = '<span style="' + esc(css(style)) + '">' + esc(run['text']) + '</span>'
133 if run['format']['superscript']:
134 fragment = '<sup>' + fragment + '</sup>'
135 if run['format']['subscript']:
136 fragment = '<sub>' + fragment + '</sub>'
137 if run['link']:
138 fragment = hyperlink(fragment, run['link'])
139 body += fragment
140 body = tags + '<span class="text">' + body + '</span>'
141 elif typ == 'Paragraph':
142 body = children(node['content'])
143 marker = ''
144 for list_id in kind['lists']:
145 item = self.space['nodes'][list_id]['kind']
146 fmt = item['format'] or ''
147 if '\ufffd' in fmt:
148 position = fmt.index('\ufffd'); style = ord(fmt[position + 1])
149 key = (fmt, level)
150 value = item['restart'] if item['restart'] is not None else self.numbering.get(key, 0) + 1
151 self.numbering[key] = value
152 number = str(value)
153 if style in (1, 2):
154 number = ''; rest = value
155 for quantity, letters in [(1000, 'M'), (900, 'CM'), (500, 'D'), (400, 'CD'), (100, 'C'), (90, 'XC'), (50, 'L'), (40, 'XL'), (10, 'X'), (9, 'IX'), (5, 'V'), (4, 'IV'), (1, 'I')]:
156 times, rest = divmod(rest, quantity)
157 number += letters * times
158 if style == 2: number = number.lower()
159 elif style in (3, 4):
160 number = ''; rest = value
161 while rest:
162 rest, digit = divmod(rest - 1, 26)
163 number = chr(65 + digit) + number
164 if style == 4: number = number.lower()
165 elif style != 0:
166 raise ValueError(f'Number format {style} requires interpretation before report generation.')
167 marker += fmt[:position] + number + fmt[position + 2:]
168 else:
169 marker += {1: '•', 2: '◦', 3: '●', 4: '○', 5: '◉', 6: '◎', 7: '▪', 8: '▫', 9: '■', 10: '□', 11: '▸', 12: '▶', 13: '◇', 14: '♢', 15: '◆', 16: '❖', 17: '★', 18: '☆', 19: '☀', 20: '>', 21: '→', 22: '⇒', 23: '⇨', 24: '*', 25: '-', 26: '–', 27: '—'}.get(item['bullet'], fmt)
170 if marker:
171 body = '<span class="list-marker">' + esc(marker) + '</span>' + body
172 fmt = node['format']
173 if kind['paragraph_style']:
174 parent = self.space['nodes'][kind['paragraph_style']]['format']
175 fmt = {k: v if v is not None else parent[k] for k, v in fmt.items()}
176 for child in node['content']:
177 if child in self.text and self.text[child]:
178 resolved = self.text[child][0]['format']
179 fmt = {**fmt, **{k: resolved[k] for k in ('alignment', 'rtl', 'space_before', 'space_after', 'line_spacing') if resolved[k] is not None}}
180 break
181 if not self.has_paragraph:
182 fmt = {**fmt, 'space_before': None}
183 self.has_paragraph = True
184 body = '<div class="paragraph' + (' listed' if marker else '') + '" style="' + esc(css(fmt)) + '">' + tags + body + '</div>'
185 if node['children']:
186 child_level = node['child_level'] or 1
187 descendants = '<div class="nested" style="margin-left:' + str(child_level * 24) + 'px">' + ''.join(self.render(x, depth + 1, level + child_level) for x in node['children']) + '</div>'
188 state = kind.get('collapse_state')
189 if state == 1:
190 descendants = '<details><summary>Collapsed paragraphs</summary>' + descendants + '</details>'
191 elif state not in (None, 0):
192 descendants = '<div class="opaque">Uninterpreted collapse state: ' + str(state) + '</div>' + descendants
193 body += descendants
194 elif typ in ('Page', 'Title', 'Outline'):
195 if typ == 'Outline':
196 previous = self.numbering, self.has_paragraph
197 self.numbering, self.has_paragraph = {}, False
198 body = children(node['structure'] + node['content'] + node['children'])
199 if typ == 'Outline':
200 self.numbering, self.has_paragraph = previous
201 if typ == 'Outline' and node['layout']['x'] is not None:
202 values = ', '.join(f'{k} {v:g} pt' for k, v in node['layout'].items() if v is not None)
203 body = '<section class="outline"><div class="location">' + esc(values) + '</div>' + body + '</section>'
204 elif typ == 'Title':
205 body = '<header>' + body + '</header>'
206 elif typ == 'OutlineGroup':
207 child_level = node['child_level'] or 1
208 body = '<div class="nested" style="margin-left:' + str(child_level * 24) + 'px">' + ''.join(self.render(x, depth + 1, level + child_level) for x in node['children']) + '</div>'
209 elif typ == 'Table':
210 cols = ''.join(f'<col style="width:{width:g}pt">' if kind['locked'] and kind['locked'][i] else '<col>' for i, width in enumerate(kind['widths']))
211 body = '<table class="' + ('no-borders' if kind['borders'] is False else '') + '"><colgroup>' + cols + '</colgroup>' + children(node['children']) + '</table>'
212 elif typ == 'Row':
213 body = '<tr>' + children(node['children']) + '</tr>'
214 elif typ == 'Cell':
215 shade = color(kind['shading'])
216 body = '<td' + (' style="background:' + shade + '"' if shade else '') + '>' + children(node['children']) + '</td>'
217 elif typ == 'Image':
218 asset = self.asset(kind['container'])
219 if asset:
220 width = node['layout']['max_width'] if node['layout']['max_width'] is not None else kind['picture_width']
221 height = node['layout']['max_height'] if node['layout']['max_height'] is not None else kind['picture_height']
222 style = f'width:{width:g}pt' if width is not None else ''
223 if width and height:
224 style += f';aspect-ratio:{width:g}/{height:g}'
225 preview = self.section['previews'].get(asset, asset)
226 if preview.endswith('.bin'):
227 content = '<span class="opaque">Image format is uninterpreted; the original payload is retained in the asset references.</span>'
228 else:
229 content = '<img class="content" src="' + esc(preview) + '" style="' + style + '" alt="' + esc(kind['alt'] or '') + '">'
230 body = '<figure>' + tags + (hyperlink(content, kind['link']) if kind['link'] else content)
231 labels = [kind['filename']] if kind['filename'] else []
232 if kind['background']: labels.append('Background image')
233 if kind['printout']: labels.append('Printout image')
234 if labels:
235 body += '<figcaption>' + esc(' · '.join(labels)) + '</figcaption>'
236 body += '</figure>'
237 if kind['background'] and not kind['printout']:
238 body = '<details><summary>Background image' + (' · ' + esc(kind['filename']) if kind['filename'] else '') + '</summary>' + body + '</details>'
239 else:
240 body = '<div class="opaque">Image payload is external; its source reference is retained.</div>'
241 elif typ == 'Attachment':
242 asset = self.asset(kind['container'])
243 label = kind['filename'] or 'Attached file'
244 body = tags + ('<a download="' + esc(label) + '" href="' + esc(asset) + '">' + esc(label) + '</a>' if asset else esc(label) + ' · External payload')
245 elif typ == 'Ink':
246 body = '<div class="opaque">Ink drawing · Stroke data is retained in the document structure.</div>'
247 else:
248 body = '<div class="opaque">' + ('Encrypted content' if typ == 'Encrypted' else f'Uninterpreted content · JCID {node["jcid"]:#x}') + '<br><code>' + esc(oid) + '</code>' + children(node['structure'] + node['content'] + node['children']) + '</div>'
249 for recording in node['media_ids']:
250 matches = [n['kind'] for n in self.space['nodes'].values()
251 if n['kind']['type'] == 'Attachment' and n['kind']['recording_id'] == recording]
252 label = 'Recording reference'
253 asset = None
254 if len(matches) == 1:
255 label = matches[0]['filename'] or label
256 asset = self.asset(matches[0]['container'])
257 if node['media_time_ms'] is not None:
258 seconds = node['media_time_ms'] / 1000
259 label += f' · {seconds:g} s'
260 body += '<div class="meta">' + ('<a href="' + esc(asset) + '" download>' + esc(label) + '</a>' if asset else esc(label)) + '</div>'
261 self.active.remove(oid)
262 return '<div data-object="' + esc(oid) + '">' + body + '</div>' if typ not in ('RichText', 'Row', 'Cell') else body
263
264
265def generate(source, destination, native=None, versions=(), zone=timezone.utc):
266 source = source.resolve(strict=True)
267 if destination.resolve().is_relative_to(source):
268 raise ValueError('Choose an export directory outside the source notebook.')
269 destination.mkdir(parents=True, exist_ok=False)
270 (destination / 'model').mkdir(); (destination / 'assets').mkdir()
271 sections = []; tocs = {}; manifest = []
272 for index, path in enumerate(sorted(p for p in source.rglob('*') if p.suffix.lower() in ('.one', '.onetoc2'))):
273 relative = path.relative_to(source)
274 before = path.read_bytes()
275 manifest.append({'path': relative.as_posix(), 'sha256': hashlib.sha256(before).hexdigest(), 'bytes': len(before)})
276 exported = destination / 'model' / str(index)
277 subprocess.run([EXPORTER, path, exported], check=True)
278 document = json.loads((exported / 'document.json').read_text())
279 if path.read_bytes() != before:
280 raise ValueError('A source file changed during export.')
281 if path.suffix.lower() == '.onetoc2':
282 _, root = view(document, document['root'])
283 tocs[relative.parent] = [root['nodes'][oid]['kind'] for oid in root['nodes'][root['roots']['1']]['kind']['entries']]
284 assets = {}
285 previews = {}
286 image_references = {
287 json.dumps(revision['nodes'][node['kind']['container']]['kind']['reference'], sort_keys=True)
288 for space in document['spaces'].values() for revision in space['revisions'].values()
289 for node in revision['nodes'].values()
290 if node['kind']['type'] == 'Image' and node['kind']['container'] is not None
291 }
292 rows = json.loads((exported / 'assets.json').read_text())
293 for asset in rows:
294 original = exported / asset['path']; data = original.read_bytes()
295 extension = '.png' if data.startswith(b'\x89PNG') else '.jpg' if data.startswith(b'\xff\xd8') else '.gif' if data.startswith(b'GIF8') else '.bmp' if data.startswith(b'BM') else '.tiff' if data.startswith((b'II*\0', b'MM\0*')) else '.bin'
296 name = hashlib.sha256(data).hexdigest() + extension
297 target = destination / 'assets' / name
298 if target.exists():
299 original.unlink()
300 else:
301 original.rename(target)
302 asset['path'] = '../../assets/' + name
303 reference = json.dumps(asset['reference'], sort_keys=True)
304 assets[reference] = 'assets/' + name
305 if extension == '.tiff' and reference in image_references:
306 preview = name + '.png'
307 with Image.open(BytesIO(data)) as image:
308 if image.n_frames != 1:
309 raise ValueError('Multipage TIFF requires frame interpretation before report generation.')
310 image.convert('RGBA').save(destination / 'assets' / preview)
311 previews['assets/' + name] = 'assets/' + preview
312 (exported / 'assets').rmdir()
313 (exported / 'assets.json').write_text(json.dumps(rows, indent=2))
314 if path.suffix.lower() == '.one':
315 sections.append({'path': relative, 'export': exported.relative_to(destination), 'document': document,
316 'text': json.loads((exported / 'text.json').read_text()), 'assets': assets, 'previews': previews})
317 def order(section):
318 path = section['path']; entries = tocs.get(path.parent, [])
319 entry = next((entry for entry in entries if entry['identity'] == section['document']['file_id']), None)
320 result = []; parent = Path('.')
321 for part in path.parts[:-1]:
322 group = next((item for item in tocs.get(parent, []) if item['filename'] == part), None)
323 result.append((group['order'] if group and group['order'] is not None else 0xffffffff, part))
324 parent /= part
325 result.append((entry['order'] if entry and entry['order'] is not None else 0xffffffff, path.name))
326 return result
327 sections.sort(key=order)
328 pages = []; locked_sections = []; histories = {}; nav = '<a href="index.html">Notebook review</a>'
329 for section in sections:
330 name = section['path'].stem
331 nav += '<h2>' + esc(str(section['path'].parent) + ' / ' + name) + '</h2>'
332 _, root_space = view(section['document'], section['document']['root'])
333 if root_space['nodes'][root_space['roots']['1']]['kind']['type'] == 'Encrypted':
334 locked_sections.append(str(section['path']))
335 nav += '<p>Locked section · Page count unavailable</p><a href="' + section['export'].as_posix() + '/document.json">Encrypted structure</a>'
336 continue
337 ordinary = list(ordered_pages(section['document']))
338 known = {(sid, rid, oid) for sid, rid, _, oid in ordinary}
339 additional = [(sid, rid, revision, oid) for sid in section['document']['spaces']
340 for rid, revision in [view(section['document'], sid)]
341 for oid, node in revision['nodes'].items() if node['kind']['type'] == 'Page' and (sid, rid, oid) not in known]
342 historical = []
343 for sid, _, current, parent_oid in ordinary + additional:
344 for context, rid, revision, oid, proxy in version_pages(section['document'], sid, current):
345 historical.append((sid, context, rid, revision, oid))
346 modified = proxy['kind']['modified_filetime']
347 histories[(section['path'], sid, context, oid)] = {
348 'modified': (datetime(1601, 1, 1, tzinfo=timezone.utc) + timedelta(microseconds=modified // 10)).astimezone(zone).isoformat() if modified is not None else None,
349 'source': (section['path'], sid, DEFAULT_CONTEXT, parent_oid),
350 }
351 if not ordinary and not additional:
352 nav += '<p>Empty section</p>'
353 current_pages = [(sid, DEFAULT_CONTEXT, rid, revision, oid) for sid, rid, revision, oid in ordinary + additional]
354 for ordinal, (sid, context, rid, space, oid) in enumerate(current_pages + historical):
355 category = 'Historical version' if ordinal >= len(ordinary) + len(additional) else 'Additional stored page' if ordinal >= len(ordinary) else 'Recycle bin' if 'OneNote_RecycleBin' in section['path'].parts else 'Page'
356 metadata = space['nodes'].get(space['roots'].get('2'), {}).get('kind', {})
357 if sid == root_space['nodes'][root_space['roots']['1']]['kind'].get('default_template'):
358 if metadata.get('type') != 'TemplateMetadata':
359 raise ValueError('The default page template has unrecognized metadata.')
360 category = 'Default page template'
361 titles = [n for root in space['nodes'][oid]['structure'] for _, n in walk(space, root) if n['kind']['type'] == 'RichText' and not n['kind']['boilerplate']]
362 title = ' '.join(n['kind']['text'] for n in titles) or space['nodes'][oid]['kind']['alternate_title'] or metadata.get('title') or metadata.get('name') or 'Untitled page'
363 filename = f'page-{len(pages):03}.html'
364 if metadata.get('type') == 'ConflictMetadata':
365 category = 'Conflict page'
366 level = metadata.get('level') or 1
367 label = category + ' · ' + title if category in ('Additional stored page', 'Default page template', 'Conflict page', 'Historical version') else title
368 version = histories.get((section['path'], sid, context, oid))
369 if version and version['modified']:
370 label += ' · ' + version['modified'][:10]
371 nav += '<a class="page-link" style="margin-left:' + str((level - 1) * 12) + 'px" href="' + filename + '">' + esc(label) + '</a>'
372 pages.append((section, ordinal, sid, context, rid, oid, title, filename, category))
373 references = {}
374 if native is not None:
375 native = native.resolve(strict=True)
376 captured = native.parent / 'notebook'
377 if captured.exists():
378 hashes = {p.relative_to(captured).as_posix(): hashlib.sha256(p.read_bytes()).hexdigest() for p in captured.rglob('*') if p.is_file()}
379 else:
380 hashes = {item['path']: item['sha256'] for item in json.loads((native.parent / 'source.json').read_text())}
381 if any(hashes.get(item['path']) != item['sha256'] for item in manifest):
382 raise ValueError('The native capture does not describe these source files.')
383 captures = {ET.parse(p).getroot().get('ID'): p.stem for p in native.glob('page-*.xml')}
384 hierarchy = ET.parse(native / 'hierarchy.xml').getroot()
385 for section in sections:
386 relative = section['path']
387 matches = [node for node in hierarchy.findall('.//one:Section', ns)
388 if PureWindowsPath(node.attrib['path']).parts[-len(relative.parts):] == relative.parts]
389 if len(matches) != 1:
390 raise ValueError('The native section association is ambiguous.')
391 native_pages = matches[0].findall('one:Page', ns)
392 for (sid, _, _, oid), page in zip(ordered_pages(section['document']), native_pages, strict=True):
393 references[(relative, sid, DEFAULT_CONTEXT, oid)] = Path('reference') / captures[page.get('ID')]
394 (destination / 'reference').symlink_to(native, target_is_directory=True)
395 for index, capture in enumerate(versions):
396 capture = capture.resolve(strict=True)
397 config = json.loads((capture / 'version-ui.json').read_text())
398 matching = [section for section in sections if section['path'].name == Path(config['section']).name
399 and hashlib.sha256((source / section['path']).read_bytes()).hexdigest() == config['source_sha256']]
400 if len(matching) != 1:
401 raise ValueError('The historical capture source association is ambiguous.')
402 section, = matching
403 captures = {ET.parse(p).getroot().get('ID'): p.stem for p in (capture / 'read').glob('page-*.xml')}
404 directory = Path(f'reference-history-{index}')
405 (destination / directory).symlink_to(capture / 'read', target_is_directory=True)
406 for row in json.loads((capture / 'version-associations.json').read_text()):
407 key = (section['path'], row['space'], row['context'], row['object'])
408 rid, revision = view(section['document'], row['space'], row['context'])
409 if key not in histories or rid != row['revision'] or revision['nodes'][row['object']]['kind']['type'] != 'Page':
410 raise ValueError('The historical capture does not describe this page revision.')
411 if key in references:
412 raise ValueError('A page has multiple native reference captures.')
413 references[key] = directory / captures[row['native_id']]
414 accounting = []
415 source_pages = {(section['path'], conflict): filename
416 for section, _, sid, _, rid, _, _, filename, category in pages if category != 'Historical version'
417 for revision in [section['document']['spaces'][sid]['revisions'][rid]]
418 for conflict in revision['nodes'][revision['roots']['1']]['spaces']}
419 page_files = {(section['path'], sid, context, oid): filename for section, _, sid, context, _, oid, _, filename, _ in pages}
420 for section, ordinal, sid, context, rid, oid, title, filename, category in pages:
421 page = Page(section, sid, rid)
422 body = '<div class="meta">' + esc(str(section['path'])) + ' · ' + category + ' ' + str(ordinal + 1) + '</div>'
423 if not page.space['nodes'][oid]['structure']:
424 body += '<h1>' + esc(title) + '</h1>'
425 metadata = page.space['nodes'].get(page.space['roots'].get('2'), {}).get('kind', {})
426 if metadata.get('type') == 'ConflictMetadata' and metadata['author']:
427 body += '<p class="meta">Conflicting author: ' + esc(metadata['author']) + '</p>'
428 source_page = source_pages.get((section['path'], sid))
429 version = histories.get((section['path'], sid, context, oid))
430 if version:
431 source_page = page_files[version['source']]
432 if version['modified']:
433 body += '<p class="meta">Version modified: ' + esc(version['modified']) + '</p>'
434 if source_page:
435 body += '<p><a href="' + source_page + '">Source page</a></p>'
436 reference = references.get((section['path'], sid, context, oid))
437 if reference:
438 body += '<p class="references">'
439 for suffix, label in [('.pdf', 'Native PDF'), ('.png', 'Native screenshot'), ('.xml', 'Native XML')]:
440 if (destination / reference.with_suffix(suffix)).exists():
441 body += '<a href="' + reference.with_suffix(suffix).as_posix() + '">' + label + '</a>'
442 body += '</p>'
443 body += page.render(oid)
444 body += '<details><summary>Document structure and source identities</summary><pre>' + esc(json.dumps(page.space, indent=2, ensure_ascii=False)) + '</pre></details>'
445 body += '<p class="references"><a href="' + section['export'].as_posix() + '/document.json">Document JSON</a><a href="' + section['export'].as_posix() + '/assets.json">Asset references</a></p>'
446 (destination / filename).write_text(html_page(title, nav, body))
447 accounting.append({'section': str(section['path']), 'ordinal': ordinal, 'space': sid, 'revision': rid, 'object': oid, 'title': title, 'report': filename, 'category': category, 'context': context, 'version_modified': version['modified'] if version else None, 'source_report': source_page, 'native_reference': reference.as_posix() if reference else None, 'rendered': dict(page.counts)})
448 (destination / 'source.json').write_text(json.dumps(manifest, indent=2))
449 (destination / 'pages.json').write_text(json.dumps(accounting, indent=2, ensure_ascii=False))
450 intro = '<h1>Notebook review</h1><p>' + str(len(sections)) + ' sections · ' + str(len(pages)) + ' stored pages</p><p>Readable content follows the stored object order. Outline positions are shown in points. The document structure retains properties and identities that the readable view does not interpret.</p><p><a href="source.json">Source hashes</a> · <a href="pages.json">Page inventory</a></p>'
451 if locked_sections:
452 intro += '<p>Page counts are unavailable for locked sections: ' + esc(', '.join(locked_sections)) + '.</p>'
453 (destination / 'index.html').write_text(html_page('Notebook review', nav, intro))
454
455
456if __name__ == '__main__':
457 parser = argparse.ArgumentParser(description=__doc__)
458 parser.add_argument('source', type=Path)
459 parser.add_argument('destination', type=Path)
460 parser.add_argument('--native', type=Path, help='Associate a matching native capture directory.')
461 parser.add_argument('--versions', type=Path, action='append', default=[], help='Associate a verified historical capture; repeat for each section.')
462 parser.add_argument('--timezone', type=ZoneInfo, default=timezone.utc, help='Display historical timestamps in this time zone; default UTC.')
463 args = parser.parse_args()
464 generate(args.source, args.destination, args.native, args.versions, args.timezone)
tools/onenote-trace created+212
...@@ -0,0 +1,212 @@
1#!/usr/bin/env python3
2"""One timeline of what OneNote does to a .one on the share: file IO captured by
3Procmon on the Windows client, merged with the byte-range locks zenith reports."""
4import argparse
5import calendar
6import csv
7import datetime
8import importlib.machinery
9import importlib.util
10import json
11import ntpath
12import os
13import re
14import subprocess
15import sys
16import time
17
18W7 = "/Users/clo/dev/one/tools/w7/mcp_win7.py"
19PML = r"C:\trace\out.pml"
20CSV = r"C:\trace\out.csv"
21LOCAL_CSV = "/tmp/onenote-trace.csv"
22TIME = re.compile(r"(\d+):(\d\d):(\d\d)(?:\.(\d+))?\s*([AaPp])?")
23TARGET = os.environ.get("WIN7_TARGET")
24
25
26def zenith():
27 """The sibling tool, imported for its ssh-agent discovery and BYTERANGE parsing."""
28 path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "zenith-locks")
29 loader = importlib.machinery.SourceFileLoader("zenith_locks", path)
30 mod = importlib.util.module_from_spec(importlib.util.spec_from_loader(loader.name, loader))
31 loader.exec_module(mod)
32 mod.connect()
33 return mod
34
35
36def win(*argv):
37 command = [sys.executable, W7]
38 if TARGET:
39 command += ["--target", TARGET]
40 p = subprocess.run(command + list(argv), capture_output=True, text=True)
41 if p.returncode != 0:
42 sys.exit((p.stderr.strip().splitlines() or ["Windows target is unreachable"])[-1])
43 return p
44
45
46def cmd(command):
47 """(exit code, stdout) of `cmd.exe /c command` on the Windows target."""
48 p = win("cmd", command)
49 code = re.search(r"exit=(\d+)", p.stderr)
50 return (int(code.group(1)) if code else None), p.stdout
51
52
53def procmon_path():
54 """Procmon sits in the payload the agent runs from, wherever that was installed."""
55 vendor = ntpath.dirname(ntpath.dirname(json.loads(win("health").stdout)["python"]))
56 return ntpath.join(vendor, "procmon", "Procmon64.exe")
57
58
59def win_clock():
60 """(epoch of wayback's local midnight, wayback's clock minus ours, round trip)."""
61 before = time.time()
62 _, out = cmd("wmic os get localdatetime /value")
63 after = time.time()
64 m = re.search(r"LocalDateTime=(\d{14})\.(\d{6})([+-]\d+)", out)
65 if not m:
66 sys.exit("could not read wayback's clock: %r" % out.strip()[:120])
67 local = datetime.datetime.strptime(m.group(1), "%Y%m%d%H%M%S")
68 utc = int(m.group(3)) * 60
69 midnight = calendar.timegm(local.replace(hour=0, minute=0, second=0).timetuple()) - utc
70 there = calendar.timegm(local.timetuple()) + int(m.group(2)) / 1e6 - utc
71 return midnight, there - (before + after) / 2, after - before
72
73
74def zenith_clock(z):
75 """(zenith's clock minus ours, round trip)."""
76 before = time.time()
77 out = subprocess.run(z.SSH + ["date +%s.%N"], capture_output=True, text=True)
78 after = time.time()
79 try:
80 return float(out.stdout) - (before + after) / 2, after - before
81 except ValueError:
82 sys.exit("could not read zenith's clock: %r" % out.stdout.strip()[:120])
83
84
85def poll_locks(z, seconds, want):
86 """Lock transitions, stamped with our clock at the poll that first saw them.
87
88 BYTERANGE carries no timestamp of its own, so the sample interval is the
89 real resolution of these rows -- zenith's clock never enters the merge.
90 """
91 events, samples, prev, first = [], [], set(), True
92 end = time.time() + seconds
93 while True:
94 now = set(z.locks(z.status("BYTERANGE")[0]))
95 at = time.time()
96 samples.append(at)
97 for sign, changed in (("-", prev - now), ("=" if first else "+", now - prev)):
98 for share, name, _pid, kind, start, size in sorted(changed):
99 if want and want.lower() not in name.lower():
100 continue
101 events.append((at, "LOCK", sign + kind,
102 "%s/%s" % (os.path.basename(share), os.path.basename(name)),
103 start, size))
104 prev, first = now, False
105 if at >= end:
106 return events, samples
107
108
109def seconds_of_day(text):
110 m = TIME.match(text.strip())
111 if not m:
112 sys.exit("unparseable procmon timestamp %r" % text)
113 hour, half = int(m.group(1)), m.group(5)
114 if half:
115 hour = hour % 12 + (12 if half in "Pp" else 0)
116 return (hour * 3600 + int(m.group(2)) * 60 + int(m.group(3))
117 + float("0." + (m.group(4) or "0")))
118
119
120def detail_num(detail, key):
121 m = re.search(key + r":\s*([\d,]+)", detail)
122 return int(m.group(1).replace(",", "")) if m else None
123
124
125def io_events(path, midnight, skew, want, start_sod):
126 """Procmon rows for OneNote's accesses to .one files, on our clock."""
127 with open(path, newline="", encoding="utf-8-sig", errors="replace") as f:
128 rows = list(csv.DictReader(f))
129 if not rows:
130 return []
131 missing = {"Time of Day", "Process Name", "Operation", "Path", "Detail"} - set(rows[0])
132 if missing:
133 sys.exit("procmon csv is missing columns: %s" % ", ".join(sorted(missing)))
134 events = []
135 for r in rows:
136 target = r["Path"] or ""
137 if "ONENOTE" not in (r["Process Name"] or "").upper():
138 continue
139 if not (target.upper().startswith("A:") or ".one" in target.lower()):
140 continue
141 if want and want.lower() not in target.lower():
142 continue
143 detail = r["Detail"] or ""
144 sod = seconds_of_day(r["Time of Day"])
145 if sod + 43200 < start_sod:
146 sod += 86400 # Procmon logs a time of day with no date; the trace crossed midnight
147 events.append((midnight + sod - skew, "IO",
148 r["Operation"], ntpath.basename(target) or target,
149 detail_num(detail, "Offset"), detail_num(detail, "Length")))
150 return events
151
152
153def render(events):
154 for at, source, what, target, offset, size in sorted(events, key=lambda e: e[0]):
155 span = hexes = ""
156 if offset is not None and size is not None:
157 span, hexes = "%10d +%-8d" % (offset, size), "(0x%x +0x%x)" % (offset, size)
158 print((" %s %-4s %-26s %-24s %s %s" %
159 (datetime.datetime.fromtimestamp(at).strftime("%H:%M:%S.%f")[:-3],
160 source, what, target, span, hexes)).rstrip())
161
162
163def trace(seconds, want):
164 z = zenith()
165 procmon = procmon_path()
166 midnight, skew, win_slop = win_clock()
167 zenith_skew, zenith_slop = zenith_clock(z)
168 start_sod = time.time() + skew - midnight
169 cmd(r"if not exist C:\trace mkdir C:\trace")
170 cmd("del /q %s %s" % (PML, CSV))
171 win("spawn", '"%s" /AcceptEula /Quiet /Minimized /BackingFile %s'
172 % (procmon, PML))
173 if cmd('"%s" /WaitForIdle' % procmon)[0]:
174 sys.exit("procmon never started capturing on the Windows target")
175 events, samples = poll_locks(z, seconds, want)
176 cmd('"%s" /Terminate' % procmon)
177 if cmd('"%s" /OpenLog %s /SaveAs %s' % (procmon, PML, CSV))[0]:
178 sys.exit("procmon could not convert %s to csv" % PML)
179 if os.path.exists(LOCAL_CSV):
180 os.remove(LOCAL_CSV) # a stale csv here would merge as this run's trace
181 win("get", CSV, LOCAL_CSV)
182 if not os.path.exists(LOCAL_CSV) or not os.path.getsize(LOCAL_CSV):
183 sys.exit("no csv came back from wayback; the trace is lost")
184 io = io_events(LOCAL_CSV, midnight, skew, want, start_sod)
185
186 print("onenote-trace %gs %s %d lock transitions, %d procmon rows" %
187 (seconds, "file~%s" % want if want else "every .one and everything on A:",
188 len(events), len(io)))
189 print(" procmon times shifted %+.3fs onto this mac's clock (%s clock %+.3fs, "
190 "measured to +-%.3fs)" % (-skew, TARGET or "wayback", skew, win_slop / 2))
191 print(" lock times are mac-stamped at observation, %.2fs mean sample interval; "
192 "zenith's clock is %+.3fs (+-%.3fs) and does not enter the merge" %
193 ((samples[-1] - samples[0]) / max(len(samples) - 1, 1), zenith_skew, zenith_slop / 2))
194 render(events + io)
195
196
197def main():
198 global TARGET
199 ap = argparse.ArgumentParser(description=__doc__)
200 ap.add_argument("seconds", type=float)
201 ap.add_argument("--file", help="only rows whose path contains this")
202 ap.add_argument("--target", help="Windows MCP target name")
203 args = ap.parse_args()
204 TARGET = args.target or TARGET
205 try:
206 trace(args.seconds, args.file)
207 except KeyboardInterrupt:
208 pass
209
210
211if __name__ == "__main__":
212 main()
tools/power_loss_native.py created+54
...@@ -0,0 +1,54 @@
1#!/usr/bin/env python3
2"""Cold-open the retained storage-interruption matrix with disposable OneNote VMs."""
3import argparse
4from concurrent.futures import ThreadPoolExecutor
5import hashlib
6import json
7from pathlib import Path
8import runpy
9import subprocess
10import xml.etree.ElementTree as ET
11
12from native_runner import capture
13from document_model import EXPORTER, view
14
15
16def run(matrix, output, workers):
17 cases = json.loads((matrix / 'native-cases.json').read_text())
18 output.mkdir(parents=True, exist_ok=False)
19 compare = runpy.run_path(str(Path(__file__).with_name('verify-document.py')))['compare']
20
21 def verify(item):
22 digest, name = item
23 source = matrix / name / 'notebook'
24 before = {p.name: hashlib.sha256(p.read_bytes()).hexdigest() for p in source.iterdir()}
25 changed, = [p for p in source.iterdir() if hashlib.md5(p.read_bytes()).hexdigest() == digest]
26 destination = output / name
27 capture(source, destination, pdf=True)
28 compare(source, destination / 'read')
29 if changed.suffix == '.onetoc2':
30 document = json.loads(subprocess.check_output([EXPORTER, changed]))
31 _, revision = view(document, document['root'])
32 color = revision['nodes'][revision['roots']['1']]['kind']['color']
33 expected = '#' + int(color).to_bytes(4, 'little')[:3].hex().upper()
34 assert ET.parse(destination / 'read/hierarchy.xml').getroot().get('color') == expected, 'Native notebook color differs from the persisted TOC'
35 assert before == {p.name: hashlib.sha256(p.read_bytes()).hexdigest() for p in source.iterdir()}
36 assert json.loads((destination / 'teardown.json').read_text())['absent']
37 (destination / 'verified.json').write_text(json.dumps({'source_sha256': before, 'native_comparison': True, 'vm_deleted': True}, indent=2))
38 print('Verified native recovery:', name, flush=True)
39 return name
40
41 with ThreadPoolExecutor(max_workers=workers) as pool:
42 verified = list(pool.map(verify, cases.items()))
43 (output / 'result.json').write_text(json.dumps({'cases': sorted(verified), 'native_comparison': True}, indent=2))
44
45
46if __name__ == '__main__':
47 parser = argparse.ArgumentParser(description=__doc__)
48 parser.add_argument('matrix', type=Path)
49 parser.add_argument('output', type=Path)
50 parser.add_argument('--workers', type=int, default=2)
51 args = parser.parse_args()
52 if not 1 <= args.workers <= 4:
53 parser.error('Choose one to four simultaneous captures.')
54 run(args.matrix, args.output, args.workers)
tools/random_edit_campaign.py created+145
...@@ -0,0 +1,145 @@
1#!/usr/bin/env python3
2"""Edit disposable notebook copies and check every changed document object."""
3import argparse
4import copy
5import hashlib
6import json
7from pathlib import Path
8import shutil
9import stat
10import subprocess
11import tempfile
12
13from document_model import DEFAULT_CONTEXT, EXPORTER, ordered_pages, view, walk
14
15ROOT = Path(__file__).resolve().parent.parent
16EDITOR = ROOT / 'target/debug/examples/random_edit'
17
18
19def export(path):
20 with tempfile.TemporaryDirectory() as temporary:
21 output = Path(temporary) / 'model'
22 subprocess.run([EXPORTER, path, output], check=True)
23 return (json.loads((output / 'document.json').read_text()),
24 json.loads((output / 'text.json').read_text()),
25 sorted(hashlib.sha256(p.read_bytes()).hexdigest() for p in (output / 'assets').iterdir()))
26
27
28def verify(before, after, record):
29 old, old_text, old_assets = before
30 new, new_text, new_assets = after
31 assert old_assets == new_assets, 'An edit changed embedded payload bytes'
32 sid, oid = record['space'], record['object']
33 old_rid, previous = view(old, sid)
34 new_rid, current = view(new, sid)
35 expected_runs = copy.deepcopy(old_text[sid][old_rid][oid])
36 runs = previous['nodes'][oid]['kind']['runs']
37 start, end = record['range']
38 selected = max(i for i, run in enumerate(runs) if run['start'] <= start and end <= run['end'])
39 offset = runs[selected]['start']
40 assert record['run_start'] == offset and record['run_before'] == expected_runs[selected]['text'], 'The CLI logged another insertion run'
41 encoded = expected_runs[selected]['text'].encode('utf-16-le')
42 prefix, suffix = encoded[:(start - offset) * 2], encoded[(end - offset) * 2:]
43 expected_runs[selected]['text'] = prefix.decode('utf-16-le') + record['replacement'] + suffix.decode('utf-16-le')
44 assert new_text[sid][new_rid][oid] == expected_runs, 'Text or inherited run formatting differs from the intended splice'
45 expected = copy.deepcopy(old)
46 space = expected['spaces'][sid]
47 space['contexts'][DEFAULT_CONTEXT] = new_rid
48 space['revisions'][new_rid] = copy.deepcopy(previous)
49 if old_rid not in space['contexts'].values(): del space['revisions'][old_rid]
50 node = space['revisions'][new_rid]['nodes'][oid]
51 encoded = node['kind']['text'].encode('utf-16-le')
52 node['kind']['text'] = encoded[:start * 2].decode('utf-16-le') + record['replacement'] + encoded[end * 2:].decode('utf-16-le')
53 revision = space['revisions'][new_rid]
54 page = revision['nodes'][record['page']]
55 titles = [(key, n['kind']['text']) for key, n in walk(revision, record['page'])
56 if n['kind']['type'] == 'RichText' and not n['kind']['boilerplate']
57 and any(field['id'] == 0x88001cb4 for field in n['extra'][0])]
58 assert len(titles) <= 1
59 title = titles[0][1].lstrip().split('\r')[0] if titles else ''
60 if not title or titles[0][0] == oid:
61 automatic = not title
62 if automatic:
63 body = copy.deepcopy(revision) if page['kind']['rtl'] else revision
64 if page['kind']['rtl']:
65 for item in body['nodes'].values():
66 if item['kind']['type'] == 'Row': item['children'].reverse()
67 roots = sorted(page['children'], key=lambda key: (body['nodes'][key]['layout']['y'] or 0,
68 -(body['nodes'][key]['layout']['x'] or 0)
69 if page['kind']['rtl'] else body['nodes'][key]['layout']['x'] or 0))
70 candidates = [n['kind']['text'].strip().split('\r')[0].rstrip()
71 for root in roots for _, n in walk(body, root)
72 if n['kind']['type'] == 'RichText' and not n['kind']['boilerplate']]
73 title = next((text for text in candidates if text), '')
74 encoded_title = title.encode('utf-16-le')
75 end = 510
76 if len(encoded_title) > end and 0xd800 <= int.from_bytes(encoded_title[end - 2:end], 'little') <= 0xdbff: end += 2
77 title = encoded_title[:end].decode('utf-16-le').rstrip()
78 revision['nodes'][revision['roots']['2']]['kind']['title'] = title
79 page['kind']['alternate_title'] = title if automatic else ''
80 observed = copy.deepcopy(new)
81 changed = observed['spaces'][sid]['revisions'][new_rid]['nodes'][oid]
82 assert record['started_ms'] // 1000 - 315532800 <= changed['modified'] <= record['finished_ms'] // 1000 - 315532800, 'Modification time falls outside the edit interval'
83 pending = [(record['page'], [])]
84 ancestors = set()
85 while pending:
86 key, path = pending.pop()
87 assert key not in path, 'Page content has a cycle'
88 if key == oid:
89 ancestors.update(path)
90 else:
91 parent = previous['nodes'][key]
92 pending.extend((child, path + [key]) for child in parent['children'] + parent['content'] + parent['structure'])
93 for key in ancestors:
94 if previous['nodes'][key]['modified'] is not None:
95 revision['nodes'][key]['modified'] = changed['modified']
96 del node['modified'], changed['modified']
97 del node['kind']['runs'], changed['kind']['runs']
98 assert expected == observed, 'An edit changed unrelated document structure, metadata or properties'
99
100
101def run(source, output, seed, rounds):
102 source = source.resolve(strict=True)
103 output = output.resolve()
104 if output.is_relative_to(source): raise ValueError('Choose an output directory outside the source notebook.')
105 output.mkdir(parents=True, exist_ok=False)
106 notebook = output / 'notebook'
107 shutil.copytree(source, notebook)
108 for file in notebook.rglob("*"):
109 if file.is_file(): file.chmod(file.stat().st_mode | stat.S_IWUSR)
110 hashes = {p.relative_to(source).as_posix(): hashlib.sha256(p.read_bytes()).hexdigest()
111 for p in source.rglob('*') if p.is_file()}
112 (output / 'source.json').write_text(json.dumps(hashes, indent=2))
113 (output / 'run.json').write_text(json.dumps({'seed': seed, 'rounds': rounds,
114 'editor_sha256': hashlib.sha256(EDITOR.read_bytes()).hexdigest(),
115 'oracle_sha256': hashlib.sha256(Path(__file__).read_bytes()).hexdigest()}, indent=2))
116 count = 0
117 with (output / 'operations.jsonl').open('w') as log:
118 for file in sorted(notebook.rglob('*.one')):
119 before = export(file)
120 pages = [(sid, page) for sid, _, _, page in ordered_pages(before[0])]
121 for _ in range(rounds):
122 for sid, page in pages:
123 result = subprocess.run([EDITOR, file, '--in-place', str(seed + count), page], capture_output=True, text=True)
124 record = json.loads(result.stdout) if result.stdout else {}
125 record.update(file=file.relative_to(notebook).as_posix(), exit=result.returncode, stderr=result.stderr)
126 log.write(json.dumps(record, ensure_ascii=False) + '\n'); log.flush()
127 assert result.returncode == 0 and record.get('state') == 'Committed', f'Page edit failed: {record}'
128 after = export(file)
129 verify(before, after, record)
130 before = after
131 count += 1
132 assert all(hashlib.sha256((source / path).read_bytes()).hexdigest() == digest for path, digest in hashes.items()), 'A source file changed during the campaign'
133 (output / 'result.json').write_text(json.dumps({'verified_edits': count, 'source_files_unchanged': len(hashes)}, indent=2))
134 print(f'Verified {count} edits; {len(hashes)} source files unchanged')
135
136
137if __name__ == '__main__':
138 parser = argparse.ArgumentParser(description=__doc__)
139 parser.add_argument('source', type=Path)
140 parser.add_argument('output', type=Path)
141 parser.add_argument('--seed', type=int, default=42)
142 parser.add_argument('--rounds', type=int, default=1)
143 args = parser.parse_args()
144 if args.rounds <= 0 or args.seed < 0: parser.error('Use positive rounds and a nonnegative seed.')
145 run(args.source, args.output, args.seed, args.rounds)
tools/smb-proxy.py created+115
...@@ -0,0 +1,115 @@
1#!/usr/bin/env python3
2"""Trace a dedicated test SMB session and cut selected responses before delivery."""
3import argparse
4import asyncio
5import json
6from pathlib import Path
7import struct
8import time
9
10
11async def main():
12 parser = argparse.ArgumentParser(description=__doc__)
13 parser.add_argument('control', type=Path)
14 parser.add_argument('--port', type=int, default=11445)
15 parser.add_argument('--server', default='10.0.0.1')
16 args = parser.parse_args()
17 writers = set()
18 state = {'mode': 'up'}
19 previous = None
20 blocked = False
21 matched = 0
22
23 def record(**fields):
24 print(json.dumps({'time': time.time(), **fields}), flush=True)
25
26 async def controls():
27 nonlocal state, previous, blocked, matched
28 while True:
29 try:
30 raw = args.control.read_bytes()
31 if raw != previous:
32 state = json.loads(raw)
33 previous, matched = raw, 0
34 blocked = state.get('mode') == 'down'
35 record(control=state)
36 if blocked:
37 for writer in list(writers):
38 writer.transport.abort()
39 except (FileNotFoundError, json.JSONDecodeError):
40 pass
41 await asyncio.sleep(0.05)
42
43 async def connection(client, client_writer):
44 nonlocal blocked, matched
45 if blocked:
46 client_writer.close()
47 return
48 server_writer = None
49 try:
50 server, server_writer = await asyncio.open_connection(args.server, 445)
51 writers.update((client_writer, server_writer))
52
53 async def forward(reader, writer, direction):
54 nonlocal blocked, matched
55 while True:
56 prefix = await reader.readexactly(4)
57 frame = await reader.readexactly(int.from_bytes(prefix[1:], 'big'))
58 at = 0
59 while frame[at:at+4] == b'\xfeSMB':
60 command = struct.unpack_from('<H', frame, at+12)[0]
61 entry = {'direction': direction, 'command': command,
62 'message': struct.unpack_from('<Q', frame, at+24)[0]}
63 if direction == 'response':
64 entry['status'] = hex(struct.unpack_from('<I', frame, at+8)[0])
65 elif command in (8, 9):
66 entry['length'], entry['offset'] = struct.unpack_from('<IQ', frame, at+68)
67 if command == 9 and entry['offset'] <= 96 and entry['offset'] + entry['length'] >= 100:
68 data_offset = struct.unpack_from('<H', frame, at+66)[0]
69 entry['transactions'] = struct.unpack_from('<I', frame, at+data_offset+96-entry['offset'])[0]
70 elif command == 10:
71 count = struct.unpack_from('<H', frame, at+66)[0]
72 entry['locks'] = [struct.unpack_from('<QQI', frame, at+88+24*i) for i in range(count)]
73 record(**entry)
74 if state.get('cut') == command and direction == 'response' and entry['status'] == state.get('status', '0x0'):
75 matched += 1
76 if matched == state.get('occurrence', 1):
77 blocked = True
78 record(cut=entry)
79 for stream in list(writers):
80 stream.transport.abort()
81 return
82 next_command = struct.unpack_from('<I', frame, at+20)[0]
83 if not next_command:
84 break
85 at += next_command
86 if frame[:4] == b'\xfdSMB':
87 record(encrypted=True, direction=direction)
88 writer.write(prefix + frame)
89 await writer.drain()
90
91 tasks = [asyncio.create_task(forward(client, server_writer, 'request')),
92 asyncio.create_task(forward(server, client_writer, 'response'))]
93 done, pending = await asyncio.wait(tasks, return_when=asyncio.FIRST_COMPLETED)
94 for task in pending:
95 task.cancel()
96 await asyncio.gather(*tasks, return_exceptions=True)
97 except (OSError, asyncio.IncompleteReadError) as error:
98 record(error=str(error))
99 finally:
100 for writer in (client_writer, server_writer):
101 if writer:
102 writers.discard(writer)
103 writer.close()
104
105 server = await asyncio.start_server(connection, '127.0.0.1', args.port)
106 async with server:
107 record(listening=args.port)
108 await asyncio.gather(server.serve_forever(), controls())
109
110
111if __name__ == '__main__':
112 try:
113 asyncio.run(main())
114 except KeyboardInterrupt:
115 pass
tools/smb_lock_race.py created+101
...@@ -0,0 +1,101 @@
1#!/usr/bin/env python3
2"""Compare SMB lock progress and exclusion across file access modes."""
3import argparse
4from collections import Counter
5import fcntl
6import json
7import hashlib
8import platform
9import os
10from pathlib import Path
11import subprocess
12import sys
13import time
14
15
16def worker(file, marker, mode, operations, atomic):
17 counts = Counter()
18 for i in range(operations):
19 access = ('r+b' if i % 2 else 'rb') if mode == 'mixed' else mode
20 stage = 'open'
21 try:
22 with (os.fdopen(os.open(file, (os.O_RDWR if access == 'r+b' else os.O_RDONLY) | os.O_EXLOCK | os.O_NONBLOCK), access) if atomic else file.open(access)) as stream:
23 stage = 'lock'
24 if not atomic:
25 fcntl.flock(stream, fcntl.LOCK_EX | fcntl.LOCK_NB)
26 counts['acquired'] += 1
27 owned = False
28 try:
29 try:
30 marker.mkdir()
31 owned = True
32 except FileExistsError:
33 counts['overlap'] += 1
34 time.sleep(.002)
35 try:
36 stream.read(1)
37 except OSError as error:
38 counts[f'read:{error.errno}'] += 1
39 finally:
40 if owned:
41 marker.rmdir()
42 try:
43 fcntl.flock(stream, fcntl.LOCK_UN)
44 except OSError as error:
45 counts[f'unlock:{error.errno}'] += 1
46 stage = 'close'
47 except OSError as error:
48 counts[f'{stage}:{error.errno}'] += 1
49 time.sleep(.002)
50 print(json.dumps(counts), flush=True)
51
52
53def run(output, directory, operations, atomic, clients):
54 output.mkdir(parents=True, exist_ok=False)
55 directory.mkdir(exist_ok=False)
56 (output / 'run.json').write_text(json.dumps({'operations': operations, 'clients': clients, 'atomic': atomic,
57 'platform': platform.platform(), 'script_sha256': hashlib.sha256(Path(__file__).read_bytes()).hexdigest()}, indent=2))
58 results = {}
59 for mode in ('rb', 'r+b', 'mixed'):
60 file = directory / (mode + '.bin')
61 file.write_bytes(b'lock probe')
62 marker = output / 'held'
63 processes = []
64 try:
65 for i in range(clients):
66 processes.append(subprocess.Popen([sys.executable, __file__, '--worker', str(file), str(marker), mode, str(operations), str(int(atomic))],
67 stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True))
68 results[mode] = []
69 for process in processes:
70 stdout, stderr = process.communicate(timeout=60)
71 assert process.returncode == 0, stderr
72 results[mode].append(json.loads(stdout))
73 finally:
74 for process in processes:
75 if process.poll() is None:
76 process.terminate()
77 for process in processes:
78 try:
79 process.wait(timeout=5)
80 except subprocess.TimeoutExpired:
81 process.kill()
82 process.wait()
83 (output / 'result.json').write_text(json.dumps(results, indent=2))
84 print(mode, results[mode], flush=True)
85 assert all(c.get('acquired', 0) and not c.get('overlap', 0) and
86 all(k in ('acquired', 'open:35', 'lock:35') for k in c)
87 for counters in results.values() for c in counters), 'Lock exclusion or progress failed'
88
89
90if __name__ == '__main__':
91 if len(sys.argv) == 7 and sys.argv[1] == '--worker':
92 worker(Path(sys.argv[2]), Path(sys.argv[3]), sys.argv[4], int(sys.argv[5]), bool(int(sys.argv[6])))
93 else:
94 parser = argparse.ArgumentParser(description=__doc__)
95 parser.add_argument('output', type=Path)
96 parser.add_argument('directory', type=Path)
97 parser.add_argument('--operations', type=int, default=500)
98 parser.add_argument('--atomic', action='store_true')
99 parser.add_argument('--clients', type=int, default=4)
100 args = parser.parse_args()
101 run(args.output.resolve(), args.directory.resolve(), args.operations, args.atomic, args.clients)
tools/test_compare_native.py created+27
...@@ -0,0 +1,27 @@
1import unittest
2import xml.etree.ElementTree as ET
3from compare_native import content
4
5
6class NativeComparisonTest(unittest.TestCase):
7 def test_cache_identity_does_not_hide_text_or_formatting_changes(self):
8 source = ET.fromstring('<OE objectID="cache-a" style="font-weight:bold"><T>Text</T></OE>')
9 other = ET.fromstring('<OE objectID="cache-b" style="font-weight:bold"><T>Text</T></OE>')
10 self.assertEqual(content(source), content(other))
11 other.find('T').text = 'Different'
12 self.assertNotEqual(content(source), content(other))
13 other.find('T').text = 'Text'
14 other.set('style', 'font-weight:normal')
15 self.assertNotEqual(content(source), content(other))
16
17 def test_geometry_and_table_order_remain_significant(self):
18 source = ET.fromstring('<Table><Row><Cell>A</Cell><Cell>B</Cell></Row></Table>')
19 other = ET.fromstring('<Table><Row><Cell>B</Cell><Cell>A</Cell></Row></Table>')
20 self.assertNotEqual(content(source), content(other))
21 first = ET.fromstring('<Position x="36" y="72"/>')
22 second = ET.fromstring('<Position x="37" y="72"/>')
23 self.assertNotEqual(content(first), content(second))
24
25
26if __name__ == '__main__':
27 unittest.main()
tools/test_concurrent_rust.py created+58
...@@ -0,0 +1,58 @@
1import copy
2import unittest
3from concurrent_rust import verify
4
5
6class OracleTests(unittest.TestCase):
7 def setUp(self):
8 self.logs = {
9 'w0': [{'event': 'ready'}, {'event': 'commit', 'source_transaction': 1,
10 'operation': 0, 'token': ' [w0:0]', 'started_us': 10, 'finished_us': 30}, {'event': 'done'}],
11 'w1': [{'event': 'ready'}, {'event': 'commit', 'source_transaction': 2,
12 'operation': 0, 'token': ' [w1:0]', 'started_us': 20, 'finished_us': 40}, {'event': 'done'}],
13 'r0': [{'event': 'ready'}, {'event': 'read', 'transaction': 3,
14 'text': 'Concurrent edits: [w0:0] [w1:0]', 'started_us': 50, 'finished_us': 60}, {'event': 'done'}],
15 }
16
17 def test_valid_history_and_deliberate_corruption(self):
18 self.assertEqual(verify(self.logs, 1, 2, 1)['commits'], 2)
19 for field, value in [('text', 'Concurrent edits: [w1:0]'), ('transaction', 2), ('finished_us', 19)]:
20 logs = copy.deepcopy(self.logs)
21 logs['r0'][1][field] = value
22 with self.assertRaises(AssertionError):
23 verify(logs, 1, 2, 1)
24
25 def test_duplicate_snapshot_and_missing_acknowledgement(self):
26 logs = copy.deepcopy(self.logs)
27 logs['w1'][1]['source_transaction'] = 1
28 with self.assertRaises(AssertionError):
29 verify(logs, 1, 2, 1)
30 logs['w1'].pop(1)
31 with self.assertRaises(AssertionError):
32 verify(logs, 1, 2, 1)
33
34 def test_length_changing_unicode_history_and_wrong_intent(self):
35 previous = 'Concurrent edits:'
36 for i in range(2):
37 events = self.logs[f'w{i}']
38 event = events[1]
39 event['attempt'] = 1
40 replacement = ' café 🦀' + event['token']
41 events.insert(1, {'event': 'intent', 'attempt': 1, 'operation': 0,
42 'source_transaction': i + 1, 'before': previous, 'token': event['token'],
43 'range': [17, len(previous.encode('utf-16-le')) // 2], 'replacement': replacement})
44 previous = 'Concurrent edits:' + replacement
45 self.logs['r0'][1]['text'] = previous
46 self.assertEqual(verify(self.logs, 1, 2, 1, edit=True)['final_text'], previous)
47 self.logs['w1'][1]['range'][0] = 24
48 with self.assertRaises(UnicodeDecodeError):
49 verify(self.logs, 1, 2, 1, edit=True)
50
51 def test_serial_calls_do_not_count_as_concurrency(self):
52 self.logs['w1'][1]['started_us'] = 31
53 with self.assertRaisesRegex(AssertionError, 'never overlapped'):
54 verify(self.logs, 1, 2, 1)
55
56
57if __name__ == '__main__':
58 unittest.main()
tools/test_crash_recovery.py created+36
...@@ -0,0 +1,36 @@
1import copy
2import unittest
3
4from crash_recovery import verify_text
5
6
7class RecoveryOracleTest(unittest.TestCase):
8 def test_accounting_and_corruption_controls(self):
9 logs = {'w0': [
10 {'event': 'intent', 'token': ' [w0:0]', 'attempt': 1},
11 {'event': 'commit', 'token': ' [w0:0]', 'attempt': 1, 'started_us': 5, 'finished_us': 10},
12 {'event': 'intent', 'token': ' [w0:1]', 'attempt': 2},
13 {'event': 'commit_error', 'token': ' [w0:1]', 'attempt': 2, 'state': 'Unknown', 'started_us': 18, 'finished_us': 20},
14 {'event': 'read', 'text': 'Base [w0:0]', 'started_us': 15, 'finished_us': 17},
15 ]}
16 self.assertEqual(verify_text('Base', 'Base [w0:0] [w0:1]', logs)['unacknowledged_retained'], [' [w0:1]'])
17 self.assertEqual(verify_text('Base', 'Base [w0:0]', logs)['acknowledged'], 1)
18 for text in ['Base', 'Other [w0:0]', 'Base [w0:0] [w0:0]', 'Base [w0:0] [w0:2]', 'Base [w0:0] [w0:']:
19 with self.assertRaises(AssertionError):
20 verify_text('Base', text, logs)
21 lost_read = copy.deepcopy(logs)
22 lost_read['w0'][-1]['text'] = 'Base'
23 with self.assertRaisesRegex(AssertionError, 'read missed'):
24 verify_text('Base', 'Base [w0:0]', lost_read)
25 committed_error = copy.deepcopy(logs)
26 committed_error['w0'][3]['state'] = 'Committed'
27 with self.assertRaisesRegex(AssertionError, 'acknowledged edit was lost'):
28 verify_text('Base', 'Base [w0:0]', committed_error)
29 rejected = copy.deepcopy(logs)
30 rejected['w0'][3]['state'] = 'NotCommitted'
31 with self.assertRaisesRegex(AssertionError, 'definitively uncommitted'):
32 verify_text('Base', 'Base [w0:0] [w0:1]', rejected)
33 future = copy.deepcopy(logs)
34 future['w0'][1]['started_us'] = 18
35 with self.assertRaisesRegex(AssertionError, 'future edit'):
36 verify_text('Base', 'Base [w0:0]', future)
tools/test_document_oracle.py created+115
...@@ -0,0 +1,115 @@
1from pathlib import Path
2import re
3import runpy
4import shutil
5import subprocess
6from tempfile import TemporaryDirectory
7import unittest
8import xml.etree.ElementTree as ET
9
10ROOT = Path(__file__).resolve().parent.parent
11compare = runpy.run_path(str(ROOT / 'tools/verify-document.py'))['compare']
12
13
14class DocumentOracleTest(unittest.TestCase):
15 def test_native_2010_does_not_render_the_documented_cell_shading_control(self):
16 import pdfplumber
17 fixture = ROOT / 'corpus/m6/cell-shading-control-01/read/page-001'
18 page = ET.parse(fixture.with_suffix('.xml')).getroot()
19 cells = [n for n in page.iter() if n.tag.endswith('}Cell')]
20 self.assertEqual(len(cells), 6)
21 self.assertTrue(all('shadingColor' not in n.attrib for n in cells))
22 with pdfplumber.open(fixture.with_suffix('.pdf')) as pdf:
23 table_page = pdf.pages[1]
24 self.assertIn('Cell 0,0', table_page.extract_text())
25 self.assertTrue(all(tuple(rect.get('non_stroking_color') or ()) != (1, 1, 0)
26 for rect in table_page.rects))
27
28 def test_rust_saved_expansion_is_honored_by_a_fresh_native_cache(self):
29 import pdfplumber
30 fixture = ROOT / 'corpus/m6/rust-collapse-control-01'
31 pages = [(p, ET.parse(p).getroot()) for p in (fixture / 'read').glob('page-*.xml')]
32 path, page = next((p, r) for p, r in pages if r.get('name') == 'Paragraph controls')
33 parent, = [n for n in page.iter() if n.tag.endswith('}OE')
34 and any(c.tag.endswith('}T') and c.text == 'Collapsed parent' for c in n)]
35 self.assertIsNone(parent.get('collapsed'))
36 with pdfplumber.open(path.with_suffix('.pdf')) as pdf:
37 text = ''.join(p.extract_text() or '' for p in pdf.pages)
38 self.assertIn('Hidden child remains stored', text)
39 self.assertIn('Grandchild', text)
40
41 def test_native_expansion_changes_the_view_without_changing_notebook_bytes(self):
42 import pdfplumber
43 original = ROOT / 'corpus/m6/native-features-01/notebook/Features.one'
44 capture = ROOT / 'corpus/m6/native-expanded-control-ui-01'
45 self.assertEqual(original.read_bytes(), (capture / 'notebook/Features.one').read_bytes())
46 for directory, collapsed in [('before-read', '1'), ('read', None)]:
47 candidates = [(p, ET.parse(p).getroot()) for p in (capture / directory).glob('page-*.xml')]
48 path, page = next((p, r) for p, r in candidates if r.get('name') == 'Paragraph controls')
49 parent, = [n for n in page.iter() if n.tag.endswith('}OE')
50 and any(c.tag.endswith('}T') and c.text == 'Collapsed parent' for c in n)]
51 self.assertEqual(parent.get('collapsed'), collapsed)
52 self.assertIn('Grandchild', ''.join(parent.itertext()))
53 with pdfplumber.open(path.with_suffix('.pdf')) as pdf:
54 text = ''.join(p.extract_text() or '' for p in pdf.pages)
55 self.assertNotIn('Grandchild', text)
56
57 def test_missing_or_empty_source_cannot_pass(self):
58 fixture = ROOT / 'corpus/m6/native-math-01/read'
59 with TemporaryDirectory() as temporary:
60 source = Path(temporary)
61 with self.assertRaises(FileNotFoundError):
62 compare(source / 'missing', fixture)
63 with self.assertRaisesRegex(AssertionError, 'No notebook sections'):
64 compare(source, fixture)
65
66 def test_equations_survive_a_fresh_native_cache(self):
67 captures = []
68 for fixture in ('native-math-01', 'native-math-cold-01'):
69 pages = [ET.parse(p).getroot() for p in (ROOT / 'corpus/m6' / fixture / 'read').glob('page-*.xml')]
70 page, = [p for p in pages if p.get('name') == 'Equation controls']
71 equations = [ET.fromstring(expression) for node in page.iter() if node.tag.endswith('}T')
72 for expression in re.findall(r'<!--\[if mathML\]>(.*?)<!\[endif\]-->', node.text or '', re.S)]
73 self.assertEqual(len(equations), 3)
74 ns = '{http://www.w3.org/1998/Math/MathML}'
75 self.assertEqual([n.tag for n in equations[0]], [ns + n for n in ('msup', 'mo', 'msup', 'mo', 'msup')])
76 self.assertEqual(''.join(equations[0].itertext()), 'x2+y2=z2')
77 self.assertEqual([n.tag for n in equations[1]], [ns + 'mfrac'])
78 self.assertEqual([''.join(n.itertext()) for n in equations[1][0]], ['a+b', 'c+d'])
79 self.assertEqual(''.join(equations[2].itertext()), '𝛼+𝛽')
80 self.assertNotIn('display', equations[2].attrib)
81 captures.append([ET.tostring(n) for n in equations])
82 self.assertEqual(*captures)
83
84 def test_rtl_xml_order_matches_native_visual_column_order(self):
85 import pdfplumber
86 fixture = ROOT / 'corpus/m6/native-page-direction-03'
87 with pdfplumber.open(fixture / 'read/page-000.pdf') as pdf:
88 words = pdf.pages[0].extract_words()
89 right = [word for word in words if word['text'] == 'Right']
90 left = [word for word in words if word['text'] == 'Left']
91 self.assertEqual((len(right), len(left)), (1, 1))
92 self.assertLess(right[0]['x0'], left[0]['x0'])
93 with TemporaryDirectory() as temporary:
94 native = Path(temporary) / 'read'
95 shutil.copytree(fixture / 'read', native)
96 compare(fixture / 'notebook', native)
97
98 def test_changed_origin_requires_matching_native_coordinates(self):
99 fixture = ROOT / 'corpus/m6/native-origin-controls-01'
100 with TemporaryDirectory() as temporary:
101 output = Path(temporary)
102 notebook = output / 'notebook'
103 shutil.copytree(fixture / 'input/notebook', notebook)
104 shutil.copytree(fixture / 'read', output / 'read')
105 compare(notebook, output / 'read')
106 subprocess.run([ROOT / 'target/debug/examples/edit_property',
107 notebook / 'synthetic.one', output / 'changed.one',
108 '6000b', '14001d0f', '00004040', '00008040'], check=True)
109 (output / 'changed.one').replace(notebook / 'synthetic.one')
110 with self.assertRaisesRegex(AssertionError, 'coordinate differences'):
111 compare(notebook, output / 'read')
112
113
114if __name__ == '__main__':
115 unittest.main()
tools/test_native_format.py created+61
...@@ -0,0 +1,61 @@
1import unittest
2import xml.etree.ElementTree as ET
3from native_format import compare_formats, native_characters, Runs
4from native_xml import ns, Text, project_text
5
6
7class FormatOracleTest(unittest.TestCase):
8 def test_native_omits_exactly_one_final_paragraph_break(self):
9 for stored, exported in [('A\r\r', 'A\n'), ('\rA\r', '\nA'), ('\r', ''), ('\r\r', '\n'), ('A\n', 'A\n')]:
10 with self.subTest(stored=stored):
11 node = {'format': {'bold': True}, 'kind': {'text': stored, 'paragraph_style': None,
12 'runs': [{'start': 0, 'end': len(stored), 'format': None}]}}
13 native = [[(c, {'bold': True}) for c in exported]]
14 self.assertEqual(compare_formats({'nodes': {}}, [node], native), (len(exported), []))
15 with self.assertRaisesRegex(AssertionError, 'Visible text runs differ'):
16 compare_formats({'nodes': {}}, [node], [[(c, {'bold': True}) for c in exported + '\n']])
17
18 def test_native_break_formatting_and_tabs_preserve_distinct_source_text(self):
19 html = '<b>A<br><br>\nB</b><br>\nC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D'
20 expected = 'A\n\nB\nC' + '\u00a0' * 8 + 'D'
21 self.assertEqual(''.join(Text(html).parts), expected)
22 runs = Runs(html, {})
23 self.assertEqual(''.join(c for c, _ in runs.characters), expected)
24 self.assertTrue(runs.characters[2][1]['bold'])
25 self.assertNotIn('bold', runs.characters[4][1])
26 self.assertEqual(project_text('A\r\rB\rC\tD'), expected)
27 self.assertEqual(project_text('\u00a0' * 8), '\u00a0' * 8)
28
29 def test_utf16_run_boundaries_and_inherited_native_style(self):
30 page = ET.fromstring('''<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote">
31 <one:QuickStyleDef index="0" font="Calibri" fontSize="14" bold="true" strikethrough="true"/>
32 <one:Outline><one:OE quickStyleIndex="0"><one:T>A&lt;span style="font-style:italic"&gt;😀&lt;/span&gt;B</one:T></one:OE></one:Outline>
33 </one:Page>''')
34 node = {'format': {}, 'kind': {'text': 'A😀B', 'paragraph_style': 'base', 'runs': [
35 {'start': 0, 'end': 1, 'format': None}, {'start': 1, 'end': 3, 'format': 'italic'},
36 {'start': 3, 'end': 4, 'format': None},
37 ]}}
38 space = {'nodes': {'base': {'format': {'bold': True, 'font': 'Calibri', 'font_size': 14.0}},
39 'italic': {'format': {'italic': True}}}}
40 expected = native_characters(page, page.findall('one:Outline', ns))
41 self.assertTrue(expected[0][0][1]['strike'])
42 count, differences = compare_formats(space, [node], expected)
43 self.assertEqual((count, differences), (10, []))
44 space['nodes']['italic']['format']['italic'] = False
45 _, differences = compare_formats(space, [node], expected)
46 self.assertEqual(differences, [{'paragraph': 0, 'field': 'italic', 'stored': False,
47 'native': True, 'characters': 1, 'positions': [1]}])
48
49 def test_partial_black_omission_is_reported_not_normalized_away(self):
50 node = {'format': {}, 'kind': {'text': 'ABA', 'paragraph_style': None, 'runs': [
51 {'start': 0, 'end': 1, 'format': None}, {'start': 1, 'end': 2, 'format': 'black'},
52 {'start': 2, 'end': 3, 'format': None},
53 ]}}
54 space = {'nodes': {'black': {'format': {'highlight': 0}}}}
55 _, differences = compare_formats(space, [node], [[(c, {'highlight': 'automatic'}) for c in 'ABA']])
56 self.assertEqual(differences, [{'paragraph': 0, 'field': 'highlight', 'stored': '#000000',
57 'native': 'automatic', 'characters': 1, 'positions': [1]}])
58
59
60if __name__ == '__main__':
61 unittest.main()
tools/test_native_runner.py created+68
...@@ -0,0 +1,68 @@
1import json
2from pathlib import Path
3import tempfile
4import unittest
5from unittest.mock import patch
6
7import native_runner as runner
8
9
10class NativeRunnerTest(unittest.TestCase):
11 def test_shutdown_timeout_still_removes_the_owned_clone(self):
12 with tempfile.TemporaryDirectory() as temporary:
13 output = Path(temporary)
14 manifest = output / 'instance.json'
15 with patch.object(runner, 'vm') as vm, patch.object(runner, 'install_agent', return_value={}):
16 vm.instance_path.return_value = manifest
17 vm.create_instance.side_effect = lambda _: manifest.touch()
18 vm.delete_instance.side_effect = lambda _: manifest.unlink()
19 vm.running.side_effect = [True, False]
20 vm.shutdown.side_effect = SystemExit('Windows did not stop')
21 with runner.clone(output) as name:
22 vm.create_instance.assert_called_once_with(name)
23 vm.qmp.assert_called_once_with(name, 'quit')
24 vm.delete_instance.assert_called_once_with(name)
25 self.assertEqual(json.loads((output / 'teardown.json').read_text()), {'absent': True})
26
27 def test_command_timeout_is_a_failure_even_with_stdout(self):
28 with tempfile.TemporaryDirectory() as temporary:
29 output = Path(temporary)
30 with patch.object(runner.windows, 'do_cmd', return_value={
31 'exit': None, 'stdout': 'Read 1 pages.', 'error': 'timed out',
32 }):
33 with self.assertRaisesRegex(RuntimeError, 'timed out'):
34 runner.command('fixture', 'read', output)
35 result = json.loads((output / 'commands.jsonl').read_text())
36 self.assertIsNone(result['exit'])
37
38 def test_failure_still_tears_down_the_owned_clone(self):
39 with tempfile.TemporaryDirectory() as temporary:
40 output = Path(temporary)
41 manifest = output / 'instance.json'
42 with patch.object(runner.vm, 'instance_path', return_value=manifest), \
43 patch.object(runner.vm, 'create_instance', side_effect=lambda _: manifest.touch()), \
44 patch.object(runner.vm, 'start_instance'), \
45 patch.object(runner.vm, 'wait_instance'), \
46 patch.object(runner.vm, 'running', return_value=True), \
47 patch.object(runner.vm, 'shutdown') as shutdown, \
48 patch.object(runner.vm, 'delete_instance', side_effect=lambda _: manifest.unlink()), \
49 patch.object(runner, 'install_agent', return_value={}), \
50 patch.object(runner.windows, 'do_health', return_value={}), \
51 patch.object(runner.windows, 'do_shot', side_effect=RuntimeError('unreachable')):
52 with self.assertRaisesRegex(RuntimeError, 'capture failed'):
53 with runner.clone(output):
54 raise RuntimeError('capture failed')
55 shutdown.assert_called_once()
56 self.assertEqual(json.loads((output / 'teardown.json').read_text()), {'absent': True})
57
58 def test_output_inside_notebook_does_not_modify_source(self):
59 with tempfile.TemporaryDirectory() as temporary:
60 notebook = Path(temporary)
61 output = notebook / 'new-export'
62 with self.assertRaisesRegex(ValueError, 'outside'):
63 runner.capture(notebook, output)
64 self.assertFalse(output.exists())
65
66
67if __name__ == '__main__':
68 unittest.main()
tools/test_native_stress.py created+138
...@@ -0,0 +1,138 @@
1import copy
2import json
3from pathlib import Path
4import subprocess
5import tempfile
6import unittest
7from native_stress import edit_history, native_history, verify_capture
8from native_collaboration import reachable_page_text
9from document_model import DEFAULT_CONTEXT
10
11
12class NativeHistoryTests(unittest.TestCase):
13 def test_conflict_oracle_excludes_unreferenced_history_and_spaces(self):
14 root = Path(__file__).resolve().parent.parent
15 with tempfile.TemporaryDirectory() as folder:
16 output = Path(folder) / 'model'
17 subprocess.run([root / 'target/debug/examples/document',
18 root / 'corpus/collaboration/round-01/offline/notebook/synthetic.one', output], check=True)
19 model = json.loads((output / 'document.json').read_text())
20 retained = reachable_page_text(model)
21 self.assertEqual(list(retained.values()), [['Rust edited during the native outage.'],
22 ['Native edited while disconnected.']])
23 main, conflict = retained
24 current = model['spaces'][main]
25 revision = current['revisions'][current['contexts'][DEFAULT_CONTEXT]]
26 current['revisions']['unreferenced'] = copy.deepcopy(revision)
27 for node in current['revisions']['unreferenced']['nodes'].values():
28 if node['kind']['type'] == 'RichText': node['kind']['text'] = 'History is not recovery'
29 self.assertEqual(reachable_page_text(model), retained)
30 revision['nodes'][revision['roots']['1']]['spaces'] = []
31 self.assertIn(conflict, model['spaces'])
32 self.assertEqual(reachable_page_text(model), {main: retained[main]})
33 page, = revision['nodes'][revision['roots']['1']]['content']
34 revision['nodes'][page]['children'] *= 2
35 self.assertEqual(reachable_page_text(model), {main: retained[main] * 2})
36
37 def setUp(self):
38 self.logs = {}
39 text = 'Concurrent edits:'
40 for i in range(2):
41 token = f' [w{i}:0]'
42 at = len(text.encode('utf-16-le')) // 2
43 self.logs[f'w{i}'] = [{'event': 'ready'},
44 {'event': 'intent', 'attempt': 1, 'operation': 0, 'token': token,
45 'replacement': token, 'before': text, 'range': [at, at], 'source_transaction': 1},
46 {'event': 'commit', 'attempt': 1, 'operation': 0, 'token': token,
47 'source_transaction': 1, 'started_us': i * 20, 'finished_us': i * 20 + 10},
48 {'event': 'done'}]
49 text += token
50 self.logs['r0'] = [{'event': 'ready'}, {'event': 'read', 'text': text,
51 'started_us': 40, 'finished_us': 50}, {'event': 'done'}]
52
53 def test_counter_renumbering_preserves_one_content_history(self):
54 commits, text = edit_history(self.logs, 1)
55 self.assertEqual(len(commits), 2)
56 self.assertEqual(text, self.logs['r0'][1]['text'])
57
58 def test_branches_unexplained_edits_and_incorrect_observations_fail(self):
59 for field, value in [('before', 'Concurrent edits:'), ('before', 'unknown'),
60 ('range', [0, 0]), ('replacement', 'wrong')]:
61 logs = copy.deepcopy(self.logs)
62 logs['w1'][1][field] = value
63 with self.assertRaises(AssertionError): edit_history(logs, 1)
64 for field, value in [('text', 'Concurrent edits:'), ('text', 'unknown'), ('finished_us', 1)]:
65 logs = copy.deepcopy(self.logs)
66 logs['r0'][1][field] = value
67 with self.assertRaises(AssertionError): edit_history(logs, 1)
68
69 def test_content_branch_and_disconnected_history_are_detected(self):
70 for before, message in [('Concurrent edits:', 'branched'), ('Concurrent edits: unexplained', 'complete content history')]:
71 logs = copy.deepcopy(self.logs)
72 logs['w1'][1]['before'] = before
73 offset = len(before.encode('utf-16-le')) // 2
74 logs['w1'][1]['range'] = [offset, offset]
75 with self.assertRaisesRegex(AssertionError, message): edit_history(logs, 1)
76
77 def test_replacements_chain_by_content_after_native_counter_renumbering(self):
78 expected = 'Concurrent edits:'
79 for i in range(2):
80 events = self.logs[f'w{i}']
81 intent = events[1]
82 intent['before'] = expected
83 intent['range'] = [len('Concurrent edits:'), len(expected.encode('utf-16-le')) // 2]
84 intent['replacement'] = ' café 🦀' + intent['token']
85 expected = 'Concurrent edits:' + intent['replacement']
86 self.logs['r0'][1]['text'] = expected
87 commits, text = edit_history(self.logs, 1, edit=True)
88 self.assertEqual((len(commits), text), (2, expected))
89 self.logs['w1'][1]['range'][0] = len('Concurrent edits: café ') + 1
90 with self.assertRaises(UnicodeDecodeError): edit_history(self.logs, 1, edit=True)
91
92 def test_missing_acknowledgement_is_not_silently_dropped(self):
93 self.logs['w1'].pop(2)
94 with self.assertRaises(AssertionError): edit_history(self.logs, 1)
95
96 def test_native_replacement_history_rejects_lost_edits_and_split_surrogates(self):
97 events = [{'operation': 0, 'token': ' [n0:0]', 'before': 'Native 0:',
98 'range': [9, 9], 'replacement': ' café 🦀 [n0:0]'},
99 {'operation': 1, 'token': ' [n0:1]', 'before': 'Native 0: café 🦀 [n0:0]',
100 'range': [10, 17], 'replacement': ' café 🦀 [n0:1]'}]
101 self.assertEqual(native_history(events, 0, 2, True), 'Native 0: café 🦀 [n0:1] [n0:0]')
102 for field, value in [('before', 'Native 0:'), ('range', [15, 16]),
103 ('operation', 0), ('replacement', 'unrecorded')]:
104 changed = copy.deepcopy(events)
105 changed[1][field] = value
106 with self.assertRaises((AssertionError, UnicodeDecodeError)):
107 native_history(changed, 0, 2, True)
108 with self.assertRaises(AssertionError): native_history(events[:-1], 0, 2, True)
109
110 def test_cold_capture_rejects_extra_missing_and_misformatted_content(self):
111 with tempfile.TemporaryDirectory() as folder:
112 root = Path(folder)
113 (root / 'rust').mkdir()
114 (root / 'n0').mkdir()
115 (root / 'run.json').write_text(json.dumps({'stress_operations': 1, 'edit': True,
116 'rust_writers': 2, 'rust_readers': 1, 'stress_clients': 1}))
117 text = 'Concurrent edits:'
118 for i in range(2):
119 events = self.logs[f'w{i}']
120 events[1].update(before=text, range=[17, len(text.encode('utf-16-le')) // 2],
121 replacement=' café 🦀' + events[1]['token'])
122 text = 'Concurrent edits:' + events[1]['replacement']
123 self.logs['r0'][1]['text'] = text
124 for actor, events in self.logs.items():
125 (root / 'rust' / f'{actor}.jsonl').write_text('\n'.join(map(json.dumps, events)))
126 event = {'operation': 0, 'token': ' [n0:0]', 'before': 'Native 0:',
127 'range': [9, 9], 'replacement': ' café 🦀 [n0:0]', 'bold': True, 'italic': False}
128 (root / 'n0/stress-events.jsonl').write_text(json.dumps(event), encoding='utf-8-sig')
129 native = '<OE style="font-weight:bold"><T>Native 0: café 🦀 [n0:0]</T></OE>'
130 body = f'<OE><T>{text}</T></OE>{native}'
131 page = root / 'page-000.xml'
132 page.write_text(f'<Page xmlns="http://schemas.microsoft.com/office/onenote/2010/onenote"><Outline>{body}</Outline></Page>')
133 result = verify_capture(root, root)
134 self.assertEqual((result['rust_intents'], result['native_intents'], result['exact_paragraphs']), (2, 1, 2))
135 self.assertGreater(result['native_intended_format_checks'], 0)
136 for changed in (body + native, body.replace(native, ''), body.replace('bold', 'normal')):
137 page.write_text(f'<Page xmlns="http://schemas.microsoft.com/office/onenote/2010/onenote"><Outline>{changed}</Outline></Page>')
138 with self.assertRaises(AssertionError): verify_capture(root, root)
tools/test_notebook_report.py created+37
...@@ -0,0 +1,37 @@
1import base64
2from io import BytesIO
3import json
4from pathlib import Path
5import re
6from tempfile import TemporaryDirectory
7import unittest
8import xml.etree.ElementTree as ET
9
10from PIL import Image
11from notebook_report import generate
12
13
14class NotebookReportTest(unittest.TestCase):
15 def test_tiff_preview_matches_native_pixels_and_retains_original_bytes(self):
16 fixture = Path(__file__).resolve().parent.parent / 'corpus/m6/native-features-01'
17 with TemporaryDirectory() as temporary:
18 output = Path(temporary) / 'report'
19 generate(fixture / 'notebook', output)
20 page, = [p for p in json.loads((output / 'pages.json').read_text()) if p['title'] == 'Image tiff']
21 source, = re.findall(r'<img[^>]*src="([^"]+)"', (output / page['report']).read_text())
22 preview = output / source
23 self.assertEqual(preview.suffix, '.png')
24 original, = (output / 'assets').glob('*.tiff')
25 self.assertEqual(original.read_bytes(), (fixture / 'notebook/fixture-data/pattern.tiff').read_bytes())
26 native, = [root for p in (fixture / 'read').glob('page-*.xml')
27 if (root := ET.parse(p).getroot()).get('name') == 'Image tiff']
28 data, = [n.text for n in native.iter() if n.tag.endswith('}Data')]
29 with Image.open(BytesIO(base64.b64decode(data))) as expected, Image.open(preview) as actual:
30 self.assertEqual(actual.size, expected.size)
31 self.assertEqual(actual.convert('RGBA').tobytes(), expected.convert('RGBA').tobytes())
32 references = [a['path'] for p in (output / 'model').glob('*/assets.json') for a in json.loads(p.read_text())]
33 self.assertIn('../../assets/' + original.name, references)
34
35
36if __name__ == '__main__':
37 unittest.main()
tools/test_pdf_format.py created+53
...@@ -0,0 +1,53 @@
1from pathlib import Path
2import runpy
3import unittest
4from types import SimpleNamespace
5from unittest.mock import patch
6
7verify = runpy.run_path(str(Path(__file__).with_name('verify-document.py')))['verify_pdf_black']
8
9
10class PdfFormatOracleTest(unittest.TestCase):
11 def test_unmapped_text_cannot_hide_missing_text_or_incorrect_highlighting(self):
12 chars = [{'text': c, 'x0': i * 2, 'x1': i * 2 + 1, 'top': 0, 'bottom': 1}
13 for i, c in enumerate('BeforeSilk after tail') if not c.isspace()]
14 rect = {'fill': True, 'non_stroking_color': 0, 'x0': 12, 'x1': 19, 'top': 0, 'bottom': 1}
15 page = SimpleNamespace(page_number=1, chars=chars, rects=[rect])
16 runs = [{'text': text, 'format': {'hidden': False, 'highlight': highlight}}
17 for text, highlight in [('Before', None), ('Silk', 0), (' after e\u0301 tail', None)]]
18 with patch('pdfplumber.open') as opened:
19 opened.return_value.__enter__.return_value.pages = [page]
20 self.assertEqual(verify('unused', [runs]), 1)
21 page.rects.append({**rect, 'x0': 32, 'x1': 35})
22 with self.assertRaisesRegex(AssertionError, 'unhighlighted unmapped text'):
23 verify('unused', [runs])
24 page.rects.pop()
25 runs[2]['text'] = ' after ordinary tail'
26 with self.assertRaisesRegex(AssertionError, 'ambiguous'):
27 verify('unused', [runs])
28 runs[2].update(text=' after e\u0301 tail', format={'hidden': False, 'highlight': 0})
29 with self.assertRaisesRegex(AssertionError, 'visual verification'):
30 verify('unused', [runs])
31 runs[2]['format']['highlight'] = None
32 page.chars += chars
33 with self.assertRaisesRegex(AssertionError, 'ambiguous'):
34 verify('unused', [runs])
35 page.chars = [{**chars[0], 'text': 'a', 'x0': i * 2, 'x1': i * 2 + 1} for i in range(3)]
36 page.rects = [{**rect, 'x0': 0, 'x1': 5}]
37 with self.assertRaisesRegex(AssertionError, 'ambiguous'):
38 verify('unused', [[{'text': 'aa', 'format': {'hidden': False, 'highlight': 0}}]])
39
40 def test_native_pdf_locates_partial_black_by_paragraph_and_character(self):
41 pdf = Path(__file__).resolve().parent.parent / 'corpus/m6/native-structure-01/read/page-001.pdf'
42 runs = [{'text': text, 'format': {'hidden': False, 'highlight': highlight}}
43 for text, highlight in [('Before ', None), ('middle', 0), (' after', None)]]
44 self.assertEqual(verify(pdf, [runs]), 1)
45 runs[0]['text'] = 'Before m'
46 runs[1]['text'] = 'iddle '
47 runs[2]['text'] = 'after'
48 with self.assertRaisesRegex(AssertionError, 'character positions'):
49 verify(pdf, [runs])
50
51
52if __name__ == '__main__':
53 unittest.main()
tools/test_random_edit_campaign.py created+81
...@@ -0,0 +1,81 @@
1import copy
2from pathlib import Path
3import json
4import subprocess
5import tempfile
6import unittest
7from random_edit_campaign import EDITOR, ROOT, export, verify
8from document_model import ordered_pages
9
10
11class RandomEditOracleTests(unittest.TestCase):
12 def test_a_random_replacement_cannot_be_a_no_op(self):
13 with tempfile.TemporaryDirectory() as temporary:
14 source = Path(temporary) / 'source.one'
15 subprocess.run([ROOT / 'target/debug/examples/create_section', source, ' café ', 'No-op regression'], check=True)
16 before = export(source)
17 for mode in ['create', 'in-place']:
18 destination = Path(temporary) / (mode + '.one')
19 if mode == 'create':
20 args = [EDITOR, source, destination, '301']
21 else:
22 destination.write_bytes(source.read_bytes())
23 args = [EDITOR, destination, '--in-place', '301']
24 record = json.loads(subprocess.check_output(args))
25 self.assertEqual(record['range'], [0, 0])
26 self.assertNotEqual(source.read_bytes(), destination.read_bytes())
27 verify(before, export(destination), record)
28
29 def test_native_fixture_splice_and_unrelated_damage(self):
30 source = ROOT / 'corpus/native/20260905-05/snapshots/06-attachment/notebook/synthetic.one'
31 with tempfile.TemporaryDirectory() as temporary:
32 destination = Path(temporary) / 'edited.one'
33 record = json.loads(subprocess.check_output([EDITOR, source, destination, '42']))
34 before, after = export(source), export(destination)
35 verify(before, after, record)
36 sid, oid = record['space'], record['object']
37 rid = after[0]['spaces'][sid]['contexts']['{00000000-0000-0000-0000-000000000000},0']
38 for kind in ['format', 'metadata', 'payload', 'structure', 'ancestor-time', 'unrelated-time']:
39 damaged = copy.deepcopy(after)
40 if kind == 'format': damaged[1][sid][rid][oid][0]['format']['bold'] = not damaged[1][sid][rid][oid][0]['format']['bold']
41 if kind == 'metadata': damaged[0]['spaces'][sid]['revisions'][rid]['nodes'][oid]['created'] = 0
42 if kind == 'payload': damaged[2].append('another payload')
43 if kind == 'structure': damaged[0]['spaces'][sid]['revisions'][rid]['nodes'][oid]['children'].append('another object')
44 if kind == 'ancestor-time': damaged[0]['spaces'][sid]['revisions'][rid]['nodes'][record['page']]['modified'] = 0
45 if kind == 'unrelated-time':
46 old_rid = before[0]['spaces'][sid]['contexts']['{00000000-0000-0000-0000-000000000000},0']
47 old = before[0]['spaces'][sid]['revisions'][old_rid]['nodes']
48 nodes = damaged[0]['spaces'][sid]['revisions'][rid]['nodes']
49 key = next(key for key, node in nodes.items() if node['modified'] is not None and node['modified'] == old[key]['modified'])
50 nodes[key]['modified'] = 0
51 with self.assertRaises(AssertionError, msg=kind): verify(before, damaged, record)
52
53 def test_seeded_edits_work_on_native_legacy_text(self):
54 source = ROOT / 'corpus/native/20260905-05/snapshots/02-text/notebook/synthetic.one'
55 with tempfile.TemporaryDirectory() as temporary:
56 for seed in range(42, 74):
57 destination = Path(temporary) / f'{seed}.one'
58 result = subprocess.run([EDITOR, source, destination, str(seed)], capture_output=True, text=True)
59 self.assertEqual(result.returncode, 0, (seed, result.stderr))
60 self.assertTrue(destination.is_file())
61
62 def test_title_cache_changes_are_required_and_bounded(self):
63 source = ROOT / 'corpus/m6/native-structure-01/notebook/synthetic.one'
64 before = export(source)
65 sid, _, revision, page = next(p for p in ordered_pages(before[0]) if any(
66 n['kind']['type'] == 'RichText' and any(f['id'] == 0x88001cb4 for f in n['extra'][0])
67 for n in p[2]['nodes'].values()))
68 with tempfile.TemporaryDirectory() as temporary:
69 destination = Path(temporary) / 'edited.one'
70 record = json.loads(subprocess.check_output([EDITOR, source, destination, '98', page]))
71 self.assertTrue(any(f['id'] == 0x88001cb4 for f in revision['nodes'][record['object']]['extra'][0]))
72 after = export(destination)
73 verify(before, after, record)
74 rid = after[0]['spaces'][sid]['contexts']['{00000000-0000-0000-0000-000000000000},0']
75 damaged = copy.deepcopy(after)
76 damaged[0]['spaces'][sid]['revisions'][rid]['nodes'][revision['roots']['2']]['kind']['title'] = revision['nodes'][revision['roots']['2']]['kind']['title']
77 with self.assertRaises(AssertionError): verify(before, damaged, record)
78
79
80if __name__ == '__main__':
81 unittest.main()
tools/toc_boundary.py created+45
...@@ -0,0 +1,45 @@
1#!/usr/bin/env python3
2"""Generate a reproducible TOC edit history that crosses log and counter boundaries."""
3import argparse
4from document_model import EXPORTER, view
5import hashlib
6import json
7from pathlib import Path
8import shutil
9import subprocess
10import tempfile
11
12ROOT = Path(__file__).resolve().parent.parent
13
14if __name__ == '__main__':
15 parser = argparse.ArgumentParser(description=__doc__)
16 parser.add_argument('source', type=Path)
17 parser.add_argument('destination', type=Path)
18 args = parser.parse_args()
19 if args.destination.resolve().is_relative_to(args.source.resolve()):
20 raise ValueError('Choose a destination outside the source notebook.')
21 args.destination.mkdir(parents=True, exist_ok=False)
22 notebook = args.destination / 'notebook'
23 shutil.copytree(args.source, notebook)
24 toc = notebook / 'Open Notebook.onetoc2'
25 original = toc.read_bytes()
26 doc = json.loads(subprocess.check_output([EXPORTER, toc]))
27 _, space = view(doc, doc['root']); oid = space['roots']['1']
28 color = space['nodes'][oid]['kind']['color']
29 history = []
30 with tempfile.TemporaryDirectory() as temporary:
31 source = Path(temporary) / 'current'
32 source.write_bytes(original)
33 for value in range(260):
34 destination = Path(temporary) / 'next'
35 subprocess.run([ROOT / 'target/debug/examples/edit_property', source, destination,
36 '20001', '14001cbe', color.to_bytes(4, 'little').hex(),
37 value.to_bytes(4, 'little').hex(), doc['root'], oid], check=True)
38 destination.replace(source)
39 history.append({'before': color, 'after': value})
40 color = value
41 toc.write_bytes(source.read_bytes())
42 (args.destination / 'history.json').write_text(json.dumps({
43 'source_sha256': hashlib.sha256(original).hexdigest(), 'space': doc['root'], 'object': oid,
44 'property': '14001cbe', 'operations': history, 'result_sha256': hashlib.sha256(toc.read_bytes()).hexdigest(),
45 }, indent=2))
tools/verify-collaboration.py created+104
...@@ -0,0 +1,104 @@
1#!/usr/bin/env python3
2"""Verify captured SMB collaboration and recovery against native cold reads."""
3from collections import defaultdict
4import hashlib
5import json
6from pathlib import Path
7import subprocess
8import xml.etree.ElementTree as ET
9from native_xml import ns, pages, texts
10
11root = Path(__file__).resolve().parent.parent
12corpus = root / 'corpus/collaboration/round-01'
13for item in json.loads((corpus / 'manifest.json').read_text())['files']:
14 data = (corpus / item['path']).read_bytes()
15 assert len(data) == item['bytes']
16 assert hashlib.sha256(data).hexdigest() == item['sha256'], item['path']
17
18expected = {
19 'fault-01': ['A notebook created in Rust.'],
20 'fault-02': ['Publication survived a lost reply.'],
21 'fault-03': ['Cleanup survived a lost reply.'],
22 'live-01': ['Live Rust: café, 東京, مرحبا', 'Rust same paragraph.', 'Left cell', 'Right cell'],
23 'offline-02': ['Rust edited during the native outage.'],
24 'contention-01': ['Native edit waited for the lock.'],
25}
26for name, text in expected.items():
27 captured = pages(corpus / 'native' / f'stage5-cold-{name}' / 'read')
28 assert len(captured) == 1 and texts(captured[0]) == text, name
29
30subprocess.run(['cargo', 'build', '--quiet', '--example', 'inventory'], cwd=root, check=True)
31for case, main, conflict in [
32 ('live', 'Rust same paragraph.', 'Native same paragraph.'),
33 ('offline', 'Rust edited during the native outage.', 'Native edited while disconnected.'),
34]:
35 output = subprocess.check_output([root / 'target/debug/examples/inventory', corpus / case / 'notebook/synthetic.one'], text=True)
36 by_space = defaultdict(list)
37 metadata = {}
38 for row in output.splitlines():
39 kind, space, value = row.split('\t')
40 if kind == 'page':
41 metadata[space] = int(value, 16)
42 elif kind in ('ascii', 'unicode'):
43 by_space[space].append(bytes.fromhex(value).decode('ascii' if kind == 'ascii' else 'utf-16-le').rstrip('\0'))
44 assert sum(metadata.get(space) == 0x20030 and main in text for space, text in by_space.items()) == 1
45 assert any(metadata.get(space) == 0x20038 and conflict in text for space, text in by_space.items())
46
47before = ET.parse(corpus / 'live/before-native-edit.xml').getroot()
48merged = ET.parse(corpus / 'live/merged.xml').getroot()
49assert 'Fictitious: café, 東京, مرحبا' in texts(before)
50assert texts(merged) == ['Live Rust: café, 東京, مرحبا', 'Native edited the other outline.', 'Left cell', 'Right cell']
51
52# Cache identities and edit timestamps change across native COM saves.
53def content(node):
54 attrs = {key: value for key, value in node.attrib.items()
55 if key not in ('objectID', 'pathCache', 'creationTime', 'lastModifiedTime')}
56 return node.tag, sorted(attrs.items()), (node.text or '').strip(), [content(child) for child in node]
57
58original = pages(root / 'corpus/native-ink/cold-ui-ink/read')[0]
59final = pages(corpus / 'native/stage5-cold-live-01/read')[0]
60# These exact geometry changes appeared in the first native COM merge capture.
61ink_position = original.findall('one:InkDrawing/one:Position', ns)[1]
62assert ink_position.get('z') == '7'
63assert merged.findall('one:InkDrawing/one:Position', ns)[1].get('z') == '6'
64ink_position.set('z', '6')
65column = original.find('.//one:Table/one:Columns/one:Column', ns)
66assert column.get('width') == '39.14614105224609'
67assert merged.find('.//one:Table/one:Columns/one:Column', ns).get('width') == '38.61000061035156'
68column.set('width', '38.61000061035156')
69for tag in ('Image', 'InkDrawing', 'Table', 'InsertedFile'):
70 old = [content(node) for node in original.findall(f'.//one:{tag}', ns)]
71 new = [content(node) for node in final.findall(f'.//one:{tag}', ns)]
72 assert old and old == new, tag
73assert [content(node) for node in original.findall('one:QuickStyleDef', ns)] == [content(node) for node in final.findall('one:QuickStyleDef', ns)]
74assert [node.attrib for node in original.findall('one:Outline/one:Position', ns)] == [node.attrib for node in final.findall('one:Outline/one:Position', ns)]
75assert next((root / 'corpus/native-ink/cold-ui-ink/read').glob('*.attachment')).read_bytes() == next((corpus / 'native/stage5-cold-live-01/read').glob('*.attachment')).read_bytes()
76
77lock = json.loads((corpus / 'contention/lock-result.json').read_text())
78assert lock['changed_while_locked'] is False
79assert lock['before_sha256'] == lock['after_sha256']
80assert hashlib.sha256((corpus / 'contention/notebook/synthetic.one').read_bytes()).hexdigest() != lock['after_sha256']
81assert 'write' in (corpus / 'contention/locks.txt').read_text()
82assert json.loads((corpus / 'contention/controller/inbox/0002.json').read_text())['text'] == expected['contention-01'][0]
83for action in (2, 3):
84 assert (corpus / f'contention/controller/outbox/{action}/done').read_text() == 'ok'
85
86trace = [json.loads(line) for line in (corpus / 'smb-faults.jsonl').read_text().splitlines()]
87cuts = [i for i, row in enumerate(trace) if 'cut' in row]
88assert len(cuts) == 3
89start = 0
90for end, counter, state, case in zip(cuts, (1, 2, 256), ('NotCommitted', 'Unknown', 'Committed'), ('fault-01', 'fault-02', 'fault-03')):
91 cut = trace[end]['cut']
92 assert cut['command'] == 7 and cut['direction'] == 'response' and cut['status'] == '0x0'
93 segment = trace[start:end]
94 assert [row['transactions'] for row in segment if 'transactions' in row][-1] == counter
95 assert any([0, 2**64 - 1, 18] in row.get('locks', []) for row in segment)
96 result = json.loads((corpus / case / 'result.json').read_text())
97 assert result['exit'] != 0
98 assert result.get('state') == state or f'state: {state},' in result.get('stderr', '')
99 if counter == 256:
100 publication = next(i for i, row in enumerate(segment) if row.get('transactions') == 511)
101 cleanup = next(i for i, row in enumerate(segment) if row.get('transactions') == 256)
102 assert any(row.get('direction') == 'response' and row.get('command') == 7 and row.get('status') == '0x0' for row in segment[publication + 1:cleanup])
103 start = end + 1
104print('Passed: native lock contention, disjoint merge, retained conflict edits, offline convergence, three lost-FLUSH outcomes, and cold native content preservation')
tools/verify-corpus.py created+110
...@@ -0,0 +1,110 @@
1#!/usr/bin/env python3
2"""Check native fixture content independently of a revision-store parser."""
3import base64
4from collections import Counter
5import hashlib
6import json
7from pathlib import Path
8import xml.etree.ElementTree as ET
9from native_xml import ns, texts, pages
10
11root = Path(__file__).resolve().parent.parent
12native = root / 'corpus/native/20260905-05'
13
14
15manifest = json.loads((native / 'manifest.json').read_text(encoding='utf-8-sig'))
16assert manifest['status'] == 'completed'
17assert manifest['office']['file_version'] == '14.0.7015.1000'
18assert len(manifest['fixtures']) == 9
19for fixture in manifest['fixtures']:
20 name = fixture['name']
21 assert fixture['status'] == 'captured', name
22 snapshot = native / 'snapshots' / name
23 recorded = json.loads((snapshot / 'snapshot.json').read_text(encoding='utf-8-sig'))
24 for item in recorded['files']:
25 data = (snapshot / 'notebook' / item['path'].replace('\\', '/')).read_bytes()
26 assert len(data) == item['bytes'], name
27 assert hashlib.sha256(data).hexdigest() == item['sha256'], name
28 warm = pages(native / 'evidence' / name / 'pages')
29 cold = pages(root / 'corpus/native' / ('cold-05-' + name) / 'read')
30 number = int(name[:2])
31 assert len(warm) == len(cold) == (0 if number == 0 else 1), name
32 if not cold:
33 continue
34 page = cold[0]
35 assert texts(page) == texts(warm[0]), name
36 expected = []
37 if number == 2:
38 expected = ['Fictitious plain text.']
39 elif number >= 3:
40 expected = ['Fictitious: café, 東京, مرحبا']
41 if number >= 4:
42 expected += ['Fictitious positioned outline.']
43 if number >= 7:
44 expected += ['Left cell', 'Right cell']
45 assert texts(page) == expected, name
46 if number >= 3:
47 assert 'font-weight:bold' in ''.join(n.text or '' for n in page.findall('.//one:T', ns)), name
48 assert any('color:#1F4E79' in n.get('style', '') for n in page.findall('.//one:OE', ns)), name
49 if number >= 4:
50 positioned = [o for o in page.findall('one:Outline', ns) if texts(o) == ['Fictitious positioned outline.']]
51 assert len(positioned) == 1, name
52 position = positioned[0].find('one:Position', ns)
53 assert float(position.get('x')) == 144 and float(position.get('y')) == 96, name
54 images = page.findall('.//one:Image/one:Data', ns)
55 assert len(images) == int(number >= 5), name
56 for data in images:
57 assert base64.b64decode(data.text) == (native / 'assets/fictitious-image.png').read_bytes(), name
58 attachments = page.findall('.//one:InsertedFile', ns)
59 assert len(attachments) == int(number >= 6), name
60 if attachments:
61 assert attachments[0].get('preferredName') == 'fictitious-attachment.txt', name
62 tables = page.findall('.//one:Table', ns)
63 assert len(tables) == int(number >= 7), name
64 if tables:
65 assert [texts(cell) for cell in tables[0].findall('one:Row/one:Cell', ns)] == [['Left cell'], ['Right cell']], name
66
67ink = root / 'corpus/native-ink/cold-ui-ink/read'
68ink_pages = pages(ink)
69assert len(ink_pages) == 1
70drawings = ink_pages[0].findall('one:InkDrawing', ns)
71assert len(drawings) == 2
72for drawing in drawings:
73 assert len(base64.b64decode(drawing.find('one:Data', ns).text)) > 20
74attachment = list(ink.glob('*.attachment'))
75assert len(attachment) == 1
76assert attachment[0].read_bytes() == (native / 'assets/fictitious-attachment.txt').read_bytes()
77
78encrypted = root / 'corpus/native-encrypted'
79provenance = json.loads((encrypted / 'manifest.json').read_text())
80for item in provenance['files']:
81 data = (encrypted / item['path']).read_bytes()
82 assert len(data) == item['bytes']
83 assert hashlib.sha256(data).hexdigest() == item['sha256']
84unlocked = pages(encrypted / 'cold-encrypted-02/read')
85assert len(unlocked) == 1
86assert texts(unlocked[0]) == [''] + texts(pages(root / 'corpus/native/cold-05-07-table/read')[0])
87assert next((encrypted / 'cold-encrypted-02/read').glob('*.attachment')).read_bytes() == attachment[0].read_bytes()
88
89deleted = root / 'corpus/native-delete/cold-deletion-05/read'
90deleted_pages = pages(deleted)
91assert len(deleted_pages) == 2
92marker = [page for page in deleted_pages if texts(page) == ['Recoverable deletion marker.']]
93assert len(marker) == 1
94hierarchy = ET.parse(deleted / 'hierarchy.xml')
95trash = [p.get('ID') for section in hierarchy.findall('.//one:Section', ns)
96 if section.get('isInRecycleBin') == 'true' for p in section.findall('one:Page', ns)]
97assert marker[0].get('ID') in trash
98
99private = root / 'corpus/private'
100source = json.loads((private / 'source-manifest.json').read_text())
101for item in source['files']:
102 assert hashlib.sha256((private / 'original' / item['path']).read_bytes()).hexdigest() == item['sha256']
103private_pages = pages(private / 'exact-native/read')
104private_ids = {p.get('ID') for p in private_pages}
105tree = ET.parse(private / 'exact-native/read/hierarchy.xml')
106assert private_ids == {p.get('ID') for p in tree.findall('.//one:Page', ns)}
107assert len(private_ids) == 26
108features = Counter(e.tag.rsplit('}', 1)[-1] for page in private_pages for e in page.iter())
109assert features['InkDrawing'] and features['MediaFile'] and features['Image'] and features['Tag']
110print('Passed: 9 generated snapshots, cold ink, deletion and encryption fixtures, attachment bytes, 26 private pages')
tools/verify-document.py created+362
...@@ -0,0 +1,362 @@
1#!/usr/bin/env python3
2"""Compare document order and text with independently captured OneNote XML."""
3import argparse
4import base64
5import hashlib
6from io import BytesIO
7from tempfile import TemporaryDirectory
8from PIL import Image
9from datetime import datetime, timezone
10import json
11from pathlib import Path, PureWindowsPath
12from zoneinfo import ZoneInfo
13import subprocess
14import xml.etree.ElementTree as ET
15import uuid
16import unicodedata
17from native_xml import ns, pages, texts, project_text
18from document_model import EXPORTER, ordered_pages, version_pages, walk
19from native_format import native_characters, compare_formats
20
21ROOT = Path(__file__).resolve().parent.parent
22
23
24def verify_pdf_black(path, paragraphs):
25 import pdfplumber
26 characters = []
27 with pdfplumber.open(path) as pdf:
28 for page in pdf.pages:
29 black = [r for r in page.rects if r.get('fill') and r.get('non_stroking_color') in (0, (0, 0, 0))]
30 for char in page.chars:
31 if char['text'].isspace():
32 continue
33 x, y = (char['x0'] + char['x1']) / 2, (char['top'] + char['bottom']) / 2
34 covered = any(r['x0'] - .2 <= x <= r['x1'] + .2 and r['top'] - .2 <= y <= r['bottom'] + .2 for r in black)
35 characters.extend((c, covered, (page.page_number, char, black)) for c in char['text'])
36 text = ''.join(c for c, _, _ in characters)
37 checked = 0
38 for runs in paragraphs:
39 source = [(c, run['format']['highlight'] == 0) for run in runs if not run['format']['hidden']
40 for c in run['text'] if not c.isspace()]
41 if not any(black for _, black in source):
42 continue
43 value = ''.join(c for c, _ in source)
44 omitted = []
45 if value not in text:
46 # OneNote can map rendered combining clusters to spaces in PDF text.
47 projected = []
48 index = 0
49 while index < len(source):
50 end = index + 1
51 while end < len(source) and unicodedata.combining(source[end][0]):
52 end += 1
53 if end > index + 1:
54 assert not any(black for _, black in source[index:end]), 'Black-highlighted unmapped text requires visual verification'
55 omitted.append(len(projected))
56 else:
57 projected.append(source[index])
58 index = end
59 source = projected
60 value = ''.join(c for c, _ in source)
61 start = text.find(value)
62 assert start >= 0 and text.find(value, start + 1) < 0, 'Native PDF paragraph text is missing or ambiguous'
63 assert [(c, covered) for c, covered, _ in characters[start:start + len(source)]] == source, 'Native PDF black rectangles disagree with the stored character positions'
64 for index in omitted:
65 assert 0 < index < len(source), 'Unmapped text has no surrounding PDF characters'
66 left_page, left, black = characters[start + index - 1][2]
67 right_page, right, _ = characters[start + index][2]
68 assert left_page == right_page and abs(left['top'] - right['top']) < .2 and left['x1'] < right['x0'], 'Unmapped text has no unambiguous inline PDF position'
69 assert not any(r['x0'] < right['x0'] - .2 and r['x1'] > left['x1'] + .2
70 and r['top'] < min(left['bottom'], right['bottom']) - .2
71 and r['bottom'] > max(left['top'], right['top']) + .2 for r in black), 'Native PDF black rectangles cover unhighlighted unmapped text'
72 checked += 1
73 assert checked, 'No stored black-highlight paragraph was checked'
74 return checked
75
76
77def visible_text(node, space):
78 kind = node['kind']
79 data = kind['text'].encode('utf-16-le')
80 text = ''.join(data[run['start'] * 2:run['end'] * 2].decode('utf-16-le') for run in kind['runs']
81 if not run['format'] or not space['nodes'][run['format']]['format']['hidden'])
82 return "" if text == "\u00a0" else project_text(text.removesuffix('\r'))
83
84
85def compare_objects(space, roots, page, native_roots, assets, native_payloads):
86 types = {'T': 'RichText', 'Image': 'Image', 'InsertedFile': 'Attachment', 'MediaFile': 'Attachment', 'Table': 'Table'}
87 actual = [n for root in roots for _, n in walk(space, root)
88 if n['kind']['type'] in types.values() and not n['kind'].get('boilerplate')]
89 wanted = [n for root in native_roots for n in root.iter() if n.tag.rsplit('}', 1)[-1] in types]
90 assert [n['kind']['type'] for n in actual] == [types[n.tag.rsplit('}', 1)[-1]] for n in wanted], 'Content object order differs'
91 parents = {child: parent for parent in page.iter() for child in parent}
92 definitions = {n.attrib['index']: n for n in page.findall('one:TagDef', ns)}
93 count = 0
94 for node, native in zip(actual, wanted, strict=True):
95 kind = node['kind']
96 if kind['type'] in ('Image', 'Attachment'):
97 container = space['nodes'][kind['container']]['kind']
98 data = assets[json.dumps(container['reference'], sort_keys=True)]
99 if kind['type'] == 'Image':
100 expected = base64.b64decode(native.find('one:Data', ns).text)
101 if data != expected:
102 actual_image = Image.open(BytesIO(data)).convert('RGBA')
103 expected_image = Image.open(BytesIO(expected)).convert('RGBA')
104 assert actual_image.size == expected_image.size and actual_image.tobytes() == expected_image.tobytes(), 'Image pixels differ'
105 assert bool(kind['background']) == (native.get('backgroundImage') == 'true'), 'Image background state differs'
106 assert bool(kind['printout']) == (native.get('isPrintOut') == 'true'), 'Image printout state differs'
107 assert kind['alt'] == native.get('alt'), 'Image alternative text differs'
108 assert kind['link'] == native.get('hyperlink'), 'Image hyperlink differs'
109 size = native.find('one:Size', ns)
110 if size is None:
111 assert native.get('format') == 'png' and Image.open(BytesIO(expected)).size == (1, 1), 'Native image size is unavailable'
112 assert node['layout']['max_width'] is None and node['layout']['max_height'] is None, 'Native image omitted an explicit size'
113 for axis in ('width', 'height'):
114 native_size = .75 if size is None else float(size.get(axis))
115 stored_size = node['layout']['max_' + axis]
116 if stored_size is None:
117 stored_size = kind['picture_' + axis]
118 if stored_size is not None:
119 # Native printout XML includes the 0.72-point border on each side.
120 frame_size = stored_size + (1.44 if kind['printout'] else 0)
121 assert abs(frame_size - native_size) < .002, ('Image display dimension differs', axis, frame_size, native_size)
122 else:
123 expected = [p for p in native_payloads if p['page'] == page.get('ID') and p['object'] == parents[native].get('objectID')]
124 assert len(expected) == 1, 'Native attachment association is ambiguous'
125 assert hashlib.sha256(data).hexdigest() == expected[0]['sha256'], 'Associated attachment bytes differ'
126 assert kind['filename'] == expected[0]['name'], 'Attachment filename differs'
127 media = native.find('one:MediaReference', ns)
128 assert (kind['recording_id'] is None) == (media is None), 'Recording identity presence differs'
129 if media is not None:
130 assert uuid.UUID(bytes_le=bytes(kind['recording_id'])) == uuid.UUID(media.get('mediaID')), 'Recording identity differs'
131 elif kind['type'] == 'Table':
132 rows = native.findall('one:Row', ns)
133 columns = native.findall('one:Columns/one:Column', ns)
134 assert len(rows) == kind['rows'] and len(columns) == kind['columns'], 'Table dimensions differ'
135 for column, width in zip(columns, kind['widths'], strict=True):
136 assert abs(float(column.get('width')) - width) < .002, 'Table column width differs'
137 assert (kind['locked'] or [False] * len(columns)) == [c.get('isLocked') == 'true' for c in columns], 'Table column lock state differs'
138 assert len(node['children']) == len(rows), 'Table row count differs'
139 for oid, row in zip(node['children'], rows, strict=True):
140 assert len(space['nodes'][oid]['children']) == len(row.findall('one:Cell', ns)), 'Table cell count differs'
141 tags = native.findall('one:Tag', ns) + parents[native].findall('one:Tag', ns)
142 tasks = native.findall('one:OutlookTask', ns) + parents[native].findall('one:OutlookTask', ns)
143 assert len(node['tags']) == len(tags) + len(tasks), 'Associated note tag count differs'
144 by_type = {int(definitions[t.attrib['index']].attrib['type']): t for t in tags}
145 assert len(by_type) == len(tags), 'Native note tag types are repeated'
146 for tag in node['tags']:
147 if tag['status'] & 4:
148 assert len(tasks) == 1 and tag['definition'] is None, 'Task association differs'
149 task = tasks[0]
150 assert uuid.UUID(bytes_le=bytes(tag['task_id'])) == uuid.UUID(task.get('guidTask')), 'Task identity differs'
151 for mask, name in [(1, 'completed'), (2, 'disabled')]:
152 assert bool(tag['status'] & mask) == (task.get(name) == 'true'), 'Task state differs'
153 for field, name in [('created', 'creationDate'), ('completed', 'completionDate'), ('start', 'startDate'), ('due', 'dueDate')]:
154 if tag[field]:
155 actual = datetime.fromtimestamp(tag[field] + 315532800, timezone.utc)
156 assert actual == datetime.fromisoformat(task.get(name).replace('Z', '+00:00')), 'Task date differs'
157 else:
158 assert task.get(name) is None, 'Unset task date differs'
159 count += 1
160 continue
161 definition = space['nodes'][tag['definition']]['kind']
162 expected = by_type[definition['action_type']]
163 native_definition = definitions[expected.attrib['index']]
164 assert definition['label'] == native_definition.attrib['name'], 'Tag label differs'
165 assert definition['shape'] == int(native_definition.attrib['symbol']), 'Tag shape differs'
166 assert definition['action_type'] == int(native_definition.attrib['type']), 'Tag type differs'
167 assert bool(tag['status'] & 1) == (expected.attrib['completed'] == 'true'), 'Tag completion differs'
168 assert bool(tag['status'] & 2) == (expected.attrib['disabled'] == 'true'), 'Tag disabled state differs'
169 for field, key in [('created', 'creationDate'), ('completed', 'completionDate')]:
170 if field == 'completed' and tag[field] == 0:
171 assert key not in expected.attrib, 'Unset tag completion date was exported'
172 continue
173 if tag[field] is not None:
174 timestamp = datetime.fromtimestamp(tag[field] + 315532800, timezone.utc)
175 assert timestamp == datetime.fromisoformat(expected.attrib[key].replace('Z', '+00:00')), 'Tag date differs'
176 for field, key in [('color', 'fontColor'), ('highlight', 'highlightColor')]:
177 value = definition[field]
178 if value is not None:
179 color = native_definition.attrib[key].lower()
180 assert (value == 0xff000000 and color in ('automatic', 'none')) or color == '#' + ''.join(f'{(value >> (8 * i)) & 255:02x}' for i in range(3)), 'Tag color differs'
181 count += 1
182 indexes = native.findall('one:MediaIndex', ns) + parents[native].findall('one:MediaIndex', ns)
183 assert [uuid.UUID(bytes_le=bytes(value)) for value in node['media_ids']] == [uuid.UUID(value.find('one:MediaReference', ns).get('mediaID')) for value in indexes], 'Recording annotation association differs'
184 for index in indexes:
185 assert node['media_time_ms'] == int(index.get('timeIndex')), 'Recording annotation time differs'
186 return count
187
188
189def compare(notebook, native, versions=None):
190 notebook = notebook.resolve(strict=True)
191 native = native.resolve(strict=True)
192 sections = sorted(notebook.rglob('*.one'))
193 assert sections, 'No notebook sections were supplied for comparison'
194 captures = {page.attrib['ID']: (page, path.with_suffix('.pdf'))
195 for path, page in zip(sorted(native.glob('page-*.xml')), pages(native), strict=True)}
196 native_payloads = json.loads((native / 'payloads.json').read_text(encoding='utf-8-sig')) if (native / 'payloads.json').exists() else []
197 hierarchy = ET.parse(native / 'hierarchy.xml').getroot()
198 compared = formatting = tags = 0
199 discrepancies = []
200 pdf_checks = []
201 geometry = []
202 for path in sections:
203 relative = path.relative_to(notebook)
204 if versions is not None and relative.as_posix() != versions['section']:
205 continue
206 with TemporaryDirectory() as temporary:
207 exported = Path(temporary) / 'document'
208 subprocess.run([EXPORTER, path, exported], check=True)
209 document = json.loads((exported / 'document.json').read_text())
210 resolved_text = json.loads((exported / 'text.json').read_text())
211 assets = {json.dumps(a['reference'], sort_keys=True): (exported / a['path']).read_bytes()
212 for a in json.loads((exported / 'assets.json').read_text())}
213 candidates = [n for n in hierarchy.findall('.//one:Section', ns)
214 if PureWindowsPath(n.attrib['path']).parts[-len(relative.parts):] == relative.parts]
215 assert len(candidates) == 1, (relative, 'native section identity')
216 expected = [captures[n.attrib['ID']][0] for n in candidates[0].findall('one:Page', ns)]
217 actual = list(ordered_pages(document))
218 if versions is not None:
219 assert hashlib.sha256(path.read_bytes()).hexdigest() == versions['source_sha256'], 'Historical source changed'
220 section_pages = {n.get('ID') for n in candidates[0].findall('one:Page', ns)}
221 historical = []
222 expected = []
223 associations = []
224 for row in versions['pages']:
225 assert row['native_id'] in section_pages, 'Copied version belongs to a different section'
226 sid, _, revision, _ = actual[row['source_ordinal']]
227 choices = list(version_pages(document, sid, revision))
228 if row.get('selection') == 'sole-version':
229 assert len(choices) == 1, 'The native sole-version selection has multiple stored candidates'
230 matches = [(context, rid, page, oid) for context, rid, page, oid, _ in choices]
231 else:
232 matches = [(context, rid, page, oid) for context, rid, page, oid, proxy in choices
233 if proxy['kind']['modified_filetime'] is not None
234 and datetime.fromtimestamp(proxy['kind']['modified_filetime'] / 10_000_000 - 11644473600, ZoneInfo(versions['timezone'])).date().isoformat() == row['displayed_date']]
235 assert len(matches) == 1, 'Native version association is ambiguous'
236 context, rid, page, oid = matches[0]
237 historical.append((sid, rid, page, oid))
238 expected.append(captures[row['native_id']][0])
239 associations.append({**row, 'space': sid, 'context': context, 'revision': rid, 'object': oid})
240 available = {(sid, context, oid) for sid, _, revision, _ in actual
241 for context, _, _, oid, _ in version_pages(document, sid, revision)}
242 assert {(row['space'], row['context'], row['object']) for row in associations} == available, 'Native captures do not cover every historical page'
243 assert len(historical) == len(available), 'Historical page is captured more than once'
244 actual = historical
245 assert len(actual) == len(expected), (relative, 'page count', len(actual), len(expected))
246 for ordinal, ((sid, rid, space, oid), page) in enumerate(zip(actual, expected, strict=True)):
247 title_nodes = [n for _, n in walk(space, oid) if n['kind']['type'] == 'RichText'
248 and any(field['id'] == 0x88001cb4 for field in n['extra'][0])]
249 title = title_nodes[0]['kind']['text'].lstrip().split('\r')[0] if len(title_nodes) == 1 else ''
250 if title:
251 assert space['nodes'][space['roots']['2']]['kind']['title'] == title, 'Cached page title differs from visible title text'
252 cached = space['nodes'][space['roots']['2']]['kind']['title'] or ''
253 assert page.get('name') == (cached.replace('\t', ' ') or 'Untitled page'), 'Cached page title differs from native navigation'
254 native_z = {int(n.find('one:Position', ns).attrib['z']) for n in page if n.find('one:Position', ns) is not None}
255 source_page = space['nodes'][oid]
256 assert bool(source_page['kind']['rtl']) == (page.find('one:PageSettings', ns).get('RTL') == 'true'), 'Page direction differs'
257 if source_page['kind']['rtl']:
258 # Storage orders columns visually left to right; native XML follows page direction.
259 for table in page.findall('.//one:Table', ns):
260 columns = table.find('one:Columns', ns)
261 columns[:] = reversed(columns[:])
262 for row in table.findall('one:Row', ns):
263 row[:] = reversed(row[:])
264 assert sum(space['nodes'][child]['kind']['type'] == 'Ink' for child in source_page['children']) == len(page.findall('one:InkDrawing', ns)), 'Opaque ink object count differs'
265 for child in page:
266 position = child.find('one:Position', ns)
267 if position is None:
268 continue
269 z = int(position.attrib['z'])
270 source = space['nodes'][source_page['children'][z]]
271 if source['kind']['type'] == 'Ink':
272 continue
273 for axis in ('x', 'y'):
274 if source['layout'][axis] is not None:
275 stored_position, native_position = source['layout'][axis], float(position.attrib[axis])
276 origin = source_page['kind']['margin_origin_' + axis]
277 canonical_origin = (-36.0 if source_page['kind']['rtl'] else 36.0) if axis == 'x' else 14.4
278 projected = stored_position + (canonical_origin - origin if origin is not None else 0)
279 if axis == 'x' and source_page['kind']['rtl']:
280 assert source['kind']['type'] == 'Outline' and source['layout']['max_width'] is not None, 'RTL positioning requires an outline width'
281 assert not any(p['id'] == 0x14001c84 for group in source['extra'] for p in group), 'Explicit RTL outline alignment requires a native control'
282 # Default RTL outlines keep their right edge when native layout changes width.
283 projected += source['layout']['max_width'] - float(child.find('one:Size', ns).get('width'))
284 if abs(projected - native_position) > 0.002:
285 geometry.append({'file': str(relative), 'page': ordinal, 'z': z, 'axis': axis,
286 'stored': stored_position, 'origin': origin, 'projected': projected, 'native': native_position})
287 roots = list(source_page['structure'])
288 for z, child in enumerate(source_page['children']):
289 subtree = list(walk(space, child))
290 if z not in native_z:
291 assert all(n['kind']['type'] in ('Outline', 'Paragraph', 'RichText') for _, n in subtree)
292 # Native XML omits otherwise empty outlines containing only ASCII spaces.
293 assert not any(n['kind'].get('text', '').strip(' ') or n['kind'].get('lists') or n['tags'] for _, n in subtree)
294 continue
295 roots.append(child)
296 text_nodes = [n for root in roots for _, n in walk(space, root)
297 if n['kind']['type'] == 'RichText' and not n['kind']['boilerplate']]
298 observed = [visible_text(n, space) for n in text_nodes]
299 native_children = list(page)
300 content = [n for n in native_children if n.find('one:Position', ns) is not None]
301 content.sort(key=lambda n: int(n.find('one:Position', ns).attrib['z']))
302 wanted = [text for n in native_children if n.tag == '{' + ns['one'] + '}Title' for text in texts(n)]
303 wanted.extend(text for n in content for text in texts(n))
304 if observed != wanted:
305 destination = native.parent / 'text-order-diff.json'
306 destination.write_text(json.dumps({'file': str(relative), 'page': ordinal, 'space': sid,
307 'actual': observed, 'native': wanted}, indent=2))
308 raise AssertionError(f'{relative}: page {ordinal}: ordered text differs; inspect {destination}')
309 native_roots = [n for n in native_children if n.tag == '{' + ns['one'] + '}Title'] + content
310 try:
311 tags += compare_objects(space, roots, page, native_roots, assets, native_payloads)
312 native_runs = native_characters(page, native_roots)
313 text_ids = [oid for root in roots for oid, n in walk(space, root)
314 if n['kind']['type'] == 'RichText' and not n['kind']['boilerplate']]
315 for text_id, expected_runs in zip(text_ids, native_runs, strict=True):
316 observed_runs = [(char, run['link']) for run in resolved_text[sid][rid][text_id]
317 if not run['format']['hidden'] for char in run['text']]
318 if observed_runs and observed_runs[-1][0] == '\r':
319 observed_runs.pop()
320 observed_runs = [(projected, link) for char, link in observed_runs for projected in project_text(char)]
321 expected_links = [(char, style.get('link')) for char, style in expected_runs]
322 if observed_runs == [('\u00a0', None)] and not expected_links:
323 observed_runs = []
324 assert observed_runs == expected_links, 'Resolved text or associated hyperlink differs'
325 count, differences = compare_formats(space, text_nodes, native_runs)
326 formatting += count
327 pdf = captures[page.attrib['ID']][1]
328 if differences and pdf.exists() and all(d['field'] == 'highlight' and d['stored'] == '#000000' and d['native'] == 'automatic' for d in differences):
329 paragraphs = verify_pdf_black(pdf, [resolved_text[sid][rid][i] for i in text_ids])
330 pdf_checks.append({'file': str(relative), 'page': ordinal, 'paragraphs': paragraphs,
331 'pdf': pdf.name, 'pdf_sha256': hashlib.sha256(pdf.read_bytes()).hexdigest(),
332 'source_sha256': hashlib.sha256(path.read_bytes()).hexdigest(),
333 'xml_omissions': differences})
334 differences = []
335 discrepancies.extend({"file": str(relative), "page": ordinal, **d} for d in differences)
336 except AssertionError as error:
337 raise AssertionError((str(relative), ordinal, str(error))) from error
338 compared += 1
339 if versions is not None:
340 assert compared == len(versions['pages']) > 0, 'No historical source section was compared'
341 (native.parent / 'geometry-differences.json').write_text(json.dumps(geometry, indent=2))
342 (native.parent / 'pdf-format-checks.json').write_text(json.dumps(pdf_checks, indent=2))
343 destination = native.parent / 'format-differences.json'
344 destination.write_text(json.dumps(discrepancies, indent=2))
345 if geometry:
346 raise AssertionError(f'{len(geometry)} coordinate differences; inspect {native.parent / "geometry-differences.json"}')
347 if discrepancies:
348 raise AssertionError(f'{len(discrepancies)} formatting differences across {compared} pages; inspect {destination}')
349 if versions is not None:
350 (native.parent / 'version-associations.json').write_text(json.dumps(associations, indent=2))
351 print(f'Passed: {compared} pages with native-normalized paragraph text/order; {tags} associated tags; {formatting} explicit character-format comparisons')
352 if pdf_checks:
353 print(f'Native PDF rectangles independently verified black-highlight character positions in {sum(p["paragraphs"] for p in pdf_checks)} paragraphs where XML omitted formatting.')
354
355
356if __name__ == '__main__':
357 parser = argparse.ArgumentParser(description=__doc__)
358 parser.add_argument('notebook', type=Path)
359 parser.add_argument('native', type=Path)
360 parser.add_argument('--versions', type=Path, help='Native history UI date and copied-page associations.')
361 args = parser.parse_args()
362 compare(args.notebook.resolve(), args.native.resolve(), json.loads(args.versions.read_text()) if args.versions else None)
tools/verify-reader.py created+67
...@@ -0,0 +1,67 @@
1#!/usr/bin/env python3
2"""Compare current Rust page content against independent native XML; requires Pillow."""
3import base64
4from collections import Counter
5import io
6from pathlib import Path
7import subprocess
8from PIL import Image
9from native_xml import Text, ns, pages, texts
10
11root = Path(__file__).resolve().parent.parent
12private = root / 'corpus/private'
13paths = sorted((private / 'original').rglob('*.one'))
14output = subprocess.check_output(
15 ['cargo', 'run', '--quiet', '--example', 'inventory', '--', *map(str, paths)],
16 cwd=root, text=True,
17)
18records = [line.split('\t') for line in output.splitlines()]
19regular = {row[1] for row in records if row[0] == 'page' and row[2] == '20030'}
20assert len(regular) == 26
21assert Counter(row[2] for row in records if row[0] == 'page') == {'20030': 26, '2003e': 1}
22content = {osid: Counter() for osid in regular}
23payloads = {osid: [] for osid in regular}
24links = []
25for kind, osid, value in records:
26 if osid not in regular:
27 continue
28 if kind == 'file':
29 payloads[osid].append(bytes.fromhex(value))
30 elif kind in ('ascii', 'unicode'):
31 data = bytes.fromhex(value)
32 text = data.decode('utf-16-le').removesuffix('\0') if kind == 'unicode' else data.decode('latin1')
33 if text.startswith('\ufddfHYPERLINK "'):
34 target, text = text[len('\ufddfHYPERLINK "'):].rsplit('"', 1)
35 links.append(target)
36 if text.strip():
37 content[osid][text] += 1
38
39native = pages(private / 'exact-native/read')
40native_content = [Counter(text for text in texts(page) if text.strip()) for page in native]
41assert Counter(tuple(sorted(c.items())) for c in content.values()) == Counter(tuple(sorted(c.items())) for c in native_content)
42native_links = [target for page in native for node in page.findall('.//one:T', ns) for target in Text(node.text or '').links]
43assert len(links) == 3 and all(target in native_links for target in links)
44
45exact = converted = 0
46for page, expected in zip(native, native_content, strict=True):
47 candidates = [data for osid, text in content.items() if text == expected for data in payloads[osid]]
48 for node in page.findall('.//one:Image/one:Data', ns):
49 data = base64.b64decode(node.text)
50 if data in candidates:
51 exact += 1
52 continue
53 image = Image.open(io.BytesIO(data)).convert('RGBA')
54 matched = False
55 for candidate in candidates:
56 if not candidate.startswith((b'GIF87a', b'GIF89a')):
57 continue
58 gif = Image.open(io.BytesIO(candidate)).convert('RGBA')
59 if gif.size == image.size and gif.tobytes() == image.tobytes():
60 matched = True
61 break
62 assert matched, 'Native image differs from its stored payload'
63 converted += 1
64
65assert exact == 18 and converted == 3
66assert sum(sum(c.values()) for c in content.values()) == 581
67print('Passed: 26 pages, 581 nonempty text objects by page, 3 hyperlink targets, 18 exact images, 3 native GIF conversions')
tools/verify-scale.py created+43
...@@ -0,0 +1,43 @@
1#!/usr/bin/env python3
2"""Compare a Rust scale fixture against its generator and fresh native capture."""
3import argparse
4import hashlib
5import json
6from pathlib import Path, PureWindowsPath
7import subprocess
8import xml.etree.ElementTree as ET
9
10from document_model import EXPORTER, ordered_pages, walk
11from native_xml import ns, pages, texts, project_text
12
13ROOT = Path(__file__).resolve().parent.parent
14
15
16def compare(source, capture):
17 expected = json.loads((source / 'expected.json').read_text())
18 manifest = {row['path']: row for row in json.loads((capture / 'source.json').read_text())}
19 for name, row in manifest.items():
20 assert hashlib.sha256((source / 'notebook' / name).read_bytes()).hexdigest() == row['sha256'], 'Source changed since native capture'
21 hierarchy = ET.parse(capture / 'read/hierarchy.xml').getroot()
22 sections = hierarchy.findall('.//one:Section', ns)
23 order = [PureWindowsPath(section.get('path')).name for section in sections]
24 assert order == [row['section'] for row in reversed(expected)], 'Native section order differs from the generated reverse order'
25 native = {page.get('ID'): page for page in pages(capture / 'read')}
26 section_pages = {PureWindowsPath(section.get('path')).name: section.findall('one:Page', ns) for section in sections}
27 for row in expected:
28 output = subprocess.check_output([EXPORTER, source / 'notebook' / row['section']])
29 document = json.loads(output)
30 (_, _, space, oid), = ordered_pages(document)
31 actual = [node['kind']['text'] for _, node in walk(space, oid) if node['kind']['type'] == 'RichText']
32 assert actual == [row['text']], (row['section'], 'Rust text differs from generator input')
33 page, = section_pages[row['section']]
34 assert texts(native[page.get('ID')]) == [project_text(row['text'])], (row['section'], 'Native text differs from generator input')
35 print(f'Passed {len(expected)} sections and {sum(len(row["text"]) for row in expected):,} Unicode scalars against the independent generator input; reverse section order survived native import.')
36
37
38if __name__ == '__main__':
39 parser = argparse.ArgumentParser(description=__doc__)
40 parser.add_argument('source', type=Path)
41 parser.add_argument('capture', type=Path)
42 args = parser.parse_args()
43 compare(args.source, args.capture)
tools/verify-writer.py created+98
...@@ -0,0 +1,98 @@
1#!/usr/bin/env python3
2"""Verify captured native reads of Rust-written files."""
3import copy
4import hashlib
5import json
6from pathlib import Path
7import subprocess
8import xml.etree.ElementTree as ET
9from native_xml import ns, pages, texts
10
11root = Path(__file__).resolve().parent.parent
12corpus = root / 'corpus/writer'
13manifest = json.loads((corpus / 'manifest.json').read_text())
14for item in manifest['files']:
15 data = (corpus / item['path']).read_bytes()
16 assert len(data) == item['bytes']
17 assert hashlib.sha256(data).hexdigest() == item['sha256']
18
19for run in ['cold-edit-01', 'cold-edit-02']:
20 captured = pages(corpus / run / 'read')
21 assert len(captured) == 1 and texts(captured[0]) == ['Portable plain text...']
22
23for before, after in [
24 (root / 'corpus/native/20260905-05/snapshots/02-text/notebook/synthetic.one', corpus / 'edit-01/notebook/synthetic.one'),
25 (corpus / 'native-edit-02/notebook/synthetic.one', corpus / 'edit-02/notebook/synthetic.one'),
26 (root / 'corpus/native-ink/20260905-ui/notebook/synthetic.one', corpus / 'complex-01/notebook/synthetic.one'),
27]:
28 source = before.read_bytes()
29 assert after.read_bytes()[1024:len(source)] == source[1024:]
30
31native_saved = subprocess.check_output(['cargo', 'run', '--quiet', '--example', 'inventory', '--', str(corpus / 'native-edit-02/notebook/synthetic.one')], cwd=root, text=True)
32assert [bytes.fromhex(row.split('\t')[2]).decode('ascii') for row in native_saved.splitlines() if row.startswith('ascii\t')] == ['Fictitious plain text.']
33
34before = pages(root / 'corpus/native-ink/cold-ui-ink/read')[0]
35after = pages(corpus / 'cold-complex-01/read')[0]
36assert texts(after) == ['Compatible: café, 東京, مرحبا', 'Fictitious positioned outline.', 'Left cell', 'Right cell']
37
38
39def normalized(page):
40 page = copy.deepcopy(page)
41 for node in page.iter():
42 for name in ['ID', 'objectID', 'pathCache', 'selected']:
43 node.attrib.pop(name, None)
44 if node.text:
45 node.text = node.text.replace('Fictitious: café', 'Compatible: café')
46 if not node.text.strip():
47 node.text = None
48 node.tail = None
49 for outline in page.findall('one:Outline', ns):
50 if texts(outline) == ['Compatible: café, 東京, مرحبا']:
51 # OneNote recalculates outline height when the replacement text wraps.
52 outline.find('one:Size', ns).attrib.pop('height')
53 return page
54
55
56def fingerprint(node):
57 return node.tag, sorted(node.attrib.items()), node.text, [fingerprint(child) for child in node]
58
59
60assert fingerprint(normalized(before)) == fingerprint(normalized(after))
61assert next((root / 'corpus/native-ink/cold-ui-ink/read').glob('*.attachment')).read_bytes() == next((corpus / 'cold-complex-01/read').glob('*.attachment')).read_bytes()
62print('Passed: native edit/save/read cycle; Unicode edit preserves native formatting, positions, table, image, ink, and attachment bytes')
63
64assert ET.parse(corpus / 'toc-01/hierarchy.xml').getroot().get('color') == '#336699'
65created = ET.parse(corpus / 'create-05/page-000.xml').getroot()
66assert texts(created) == ['Created in Rust: café 東京 🦀']
67assert created.find('one:Outline', ns).get('author') == 'Fixture Author'
68assert texts(ET.parse(corpus / 'create-05/returned-page.xml').getroot()) == ['Rust edited it again, with a longer paragraph.']
69assert texts(ET.parse(corpus / 'create-notebook-01/page-000.xml').getroot()) == ['A notebook created in Rust.']
70assert len(ET.parse(corpus / 'create-notebook-01/hierarchy.xml').getroot().findall('one:Section', ns)) == 1
71print('Passed: native TOC color edit, template-free section and notebook creation, native save, and longer Rust replacement')
72
73append = root / 'corpus/append/round-01'
74for item in json.loads((append / 'manifest.json').read_text())['files']:
75 data = (append / item['path']).read_bytes()
76 assert len(data) == item['bytes'] and hashlib.sha256(data).hexdigest() == item['sha256']
77
78expected = {
79 'tx-17': 'Transaction 17', 'tx-255': 'Transaction 255',
80 'tx-256': 'Transaction 256', 'tx-511': 'Transaction 256',
81 'prepared-old': 'Transaction 255', 'tx-65535': 'Fictitious plain text.',
82 'tx-65536': 'Crossed the second counter byte.',
83 'tx-131071': 'Crossed the second counter byte.',
84 'tx-130816': 'Crossed the second counter byte.',
85 'shared-result': 'Rust committed through the SMB mount.',
86 **{f'metadata-{i}': 'Transaction 255' for i in range(8)},
87}
88for name, text in expected.items():
89 captured = pages(append / 'native' / f'append-01-{name}' / 'read')
90 assert len(captured) == 1 and texts(captured[0]) == [text], name
91
92after = pages(append / 'native/append-01-complex/read')[0]
93assert fingerprint(normalized(before)) == fingerprint(normalized(after))
94assert next((root / 'corpus/native-ink/cold-ui-ink/read').glob('*.attachment')).read_bytes() == next((append / 'native/append-01-complex/read').glob('*.attachment')).read_bytes()
95assert ET.parse(append / 'native/append-01-toc/read/hierarchy.xml').getroot().get('color') == '#336699'
96saved = subprocess.check_output(['cargo', 'run', '--quiet', '--example', 'inventory', '--', str(append / 'native-after-511.one')], cwd=root, text=True)
97assert [bytes.fromhex(row.split('\t')[2]).decode('ascii') for row in saved.splitlines() if row.startswith('ascii\t')] == ['Native after interrupted cleanup.']
98print('Passed: append encoding, native metadata and counter recovery, post-recovery native save, and filesystem-backed SMB commit')
tools/w7/README.md created+144
...@@ -0,0 +1,144 @@
1# w7 — remote computer use on a Windows 7 box
2
3Drive `wayback` (Windows 7, Tailscale `100.104.74.68`) from a model by writing
4AutoHotkey v2 scripts. Each call runs a script on the real desktop and comes
5back with its stdout and a screenshot.
6
7Two halves:
8
9- `payload/` — copy the folder to the Win7 box and run `run.bat`. It starts an
10 HTTP listener on port 8777 that executes AHK and screenshots. See
11 [payload/README.txt](payload/README.txt).
12- `mcp_win7.py` — stays on the Mac. An MCP server (stdio) for desktop control,
13 file transfer, commands, detached processes, and VM lifecycle. System python3,
14 stdlib only.
15
16## Wire up Codex
17
18Paste [codex-config-snippet.toml](codex-config-snippet.toml) into
19`~/.codex/config.toml`, then restart Codex. `/mcp` should list `win7` and
20`one-linux`. Their editable implementation and guest payload live in
21`/Users/clo/dev/one/tools/w7`.
22
23## Smoke test
24
25```sh
26./mcp_win7.py health # listener version info
27./mcp_win7.py shot # -> ./screenshot.png
28./mcp_win7.py exec 'Run("notepad.exe")
29WinWait("Untitled - Notepad",, 10)
30SendText("hello")' # prints stdout/exit, -> ./screenshot.png
31./mcp_win7.py cmd 'ipconfig' # plain shell command, no screenshot
32./mcp_win7.py spawn '"C:\tools\capture.exe" /output C:\trace.pml'
33```
34
35## Local QEMU VM
36
37`vm.py` runs the Windows 7 build VM on Apple silicon. VM state stays in
38`/Volumes/Documents/OneNote VMs`; the Windows ISO is opened read-only. Override
39the location with `ONE_VM_HOME` and `WIN7_TARGETS_FILE`.
40
41```sh
42./vm.py install # create the disk and boot the Windows installer
43./vm.py status win7-build
44./vm.py screenshot
45./vm.py poweroff # request a clean Windows shutdown
46./vm.py run # boot the installed system
47./vm.py media # rebuild win7-agent.iso from payload/
48./vm.py seal # validate and publish the stopped build disk
49```
50
51Normal boots attach `win7-agent.iso` as a read-only CD. Copy its contents to
52`C:\win7-agent`, run `install-autostart.cmd` as administrator, restart, then
53verify the forwarded listener:
54
55```sh
56./mcp_win7.py --target local health
57```
58
59Do not put the build disk or licensed installation media in this repository.
60Create the immutable base image only after Windows, Office, and the agent pass
61their checks and the VM has shut down cleanly.
62
63## Test VMs
64
65Each clone is a sparse overlay on the read-only base. Its name derives a unique
66Windows hostname (`alpha` becomes `ONE-ALPHA`), MAC address, forwarded control
67port, authentication token, and MCP target. Two vCPUs and 4 GiB are the defaults.
68
69```sh
70./vm.py up alpha --wait # creates when absent; waits through hostname restart
71./vm.py up alpha --display # visible Cocoa window instead of headless
72./mcp_win7.py --target alpha health
73./vm.py screenshot alpha
74./vm.py status # lists every clone
75./vm.py down alpha # clean shutdown, then delete the clone
76./vm.py down alpha --preserve-machine # keep a stopped clone for reproduction
77```
78
79The MCP server exposes `win7_vm_up`, `win7_vm_down`, and `win7_vm_status`.
80`up` accepts creation settings and a `wait` flag; `down` deletes by default and
81accepts `preserve_machine`. Use `win7_spawn` for a long-lived process such as
82Procmon so it cannot inherit and hold the command channel.
83
84The control agent starts minimized after login. Its taskbar button remains
85available for diagnosis without covering OneNote or changing screenshot-based
86test coordinates.
87
88## Abrupt-stop recovery tests
89
90`python3 tools/w7/crash.py windows NAME` and `python3 tools/w7/crash.py linux NAME`
91(from the repository root) stop a registered disposable QEMU process without
92requesting guest shutdown. They verify its VM/socket identity and preserve its
93disk and configuration. Restart with the corresponding `up NAME --wait`, and
94finish with `down NAME` to delete the owned machine. The existing MCP lifecycle
95continues to perform clean shutdowns.
96
97These stops discard guest memory while host storage remains powered. Pair them
98with the library's persisted-image tests when evaluating crash recovery; neither
99operation certifies a physical disk's behavior during host power loss.
100
101## Linux Samba VM
102
103`linux_vm.py` creates an SSH-only Debian 13 arm64 appliance from Debian's
104official generic-cloud image. The downloaded base is SHA-512 verified and kept
105under `/Volumes/Documents/OneNote VMs/linux`; instances are sparse copy-on-write
106overlays. Cloud-init installs Samba, dnsmasq, CIFS tools, smbclient, and fio.
107
108```sh
109./linux_vm.py fetch
110./linux_vm.py up samba --wait
111./linux_vm.py ssh samba -- 'systemctl is-active smbd dnsmasq'
112./linux_vm.py status
113./linux_vm.py down samba
114```
115
116While it runs, Windows VMs obtain an address on their second NIC and reach the
117guest-writable share at `\\192.168.77.1\agent`. The Mac controls and inspects
118the appliance over its forwarded SSH port. One appliance runs at a time because
119that stable share address is the synchronization point for concurrent Windows
120clients. A local VDE switch joins up to 63 guests without host privileges. The
121`one-linux` MCP exposes fetch, up, SSH, down, and status; its `up` and `down`
122follow the same auto-create, wait-flag, and preserve conventions as Windows.
123
124To restore a base from private object storage, upload the sealed qcow2 beside
125its JSON manifest and pass the manifest URL. A presigned URL needs no secret;
126otherwise set `ONE_VM_AUTHORIZATION` to the complete HTTP Authorization value.
127
128```sh
129./vm.py fetch 'https://private.example/one/win7-office-base.json'
130```
131
132`install-autostart.cmd` disables UAC so the isolated test guest can rename
133itself, start the control agent, and run Procmon without human prompts. QEMU
134publishes each guest agent only on host loopback. Do not run that installer on
135a physical or network-reachable Windows machine.
136
137## Gotchas
138
139- Keep Windows display scaling at 100%. Anything else and the screenshot
140 coordinates no longer match where clicks land.
141- The listener must run in the interactive logged-in session — as a scheduled
142 task or service it gets session 0 and sees a black screen.
143- The box is only reachable over Tailscale at `100.104.74.68`; power it on
144 first, `health` failing with "cannot reach" usually just means it is off.
tools/w7/codex-config-snippet.toml created+16
...@@ -0,0 +1,16 @@
1# Paste into ~/.codex/config.toml.
2[mcp_servers.win7]
3command = "python3"
4args = ["/Users/clo/dev/one/tools/w7/mcp_win7.py"]
5# Covers a contended multi-VM boot with wait enabled.
6tool_timeout_sec = 915
7
8[mcp_servers.win7.env]
9WIN7 = "http://100.104.74.68:8777" # wayback over Tailscale
10# WIN7_TOKEN = "..." # only if the listener was started with a token
11
12[mcp_servers.one-linux]
13command = "python3"
14args = ["/Users/clo/dev/one/tools/w7/mcp_linux.py"]
15# A first boot downloads packages through cloud-init.
16tool_timeout_sec = 915
tools/w7/crash.py created+49
...@@ -0,0 +1,49 @@
1"""Abruptly stop a disposable lab VM while preserving its disk for recovery."""
2import argparse
3import json
4import os
5import signal
6import subprocess
7import time
8
9import linux_vm
10import vm
11
12
13def stop(kind, name):
14 backend = {'windows': vm, 'linux': linux_vm}[kind]
15 backend.load_instance(name)
16 if not backend.running(name):
17 raise ValueError('Choose a running disposable VM.')
18 _, socket_path, pid_path, *_ = backend.runtime(name)
19 pid = int(pid_path.read_text())
20 expected = ('OneNote Windows 7 ' if kind == 'windows' else 'OneNote Linux Samba ') + name
21 if backend.qmp(name, 'query-name').get('name') != expected:
22 raise ValueError('The VM identity differs from its registered name.')
23 command = subprocess.check_output(['ps', '-p', str(pid), '-o', 'command='], text=True)
24 if str(socket_path) not in command or 'qemu-system-' not in command:
25 raise ValueError('The registered process does not own this VM socket.')
26 started = time.time_ns()
27 os.kill(pid, signal.SIGKILL)
28 deadline = time.monotonic() + 15
29 while time.monotonic() < deadline:
30 try:
31 os.waitpid(pid, os.WNOHANG)
32 except ChildProcessError:
33 pass
34 if not backend.running(name):
35 break
36 time.sleep(.1)
37 if backend.running(name):
38 raise TimeoutError('The VM process did not stop.')
39 return {'kind': kind, 'name': name, 'pid': pid, 'signal': 'SIGKILL',
40 'started_ns': started, 'stopped_ns': time.time_ns(),
41 'machine_preserved': backend.instance_path(name).exists()}
42
43
44if __name__ == '__main__':
45 parser = argparse.ArgumentParser(description=__doc__)
46 parser.add_argument('kind', choices=['windows', 'linux'])
47 parser.add_argument('name')
48 args = parser.parse_args()
49 print(json.dumps(stop(args.kind, args.name), indent=2))
tools/w7/lab_network.py created+37
...@@ -0,0 +1,37 @@
1import fcntl
2import os
3from pathlib import Path
4import shutil
5import subprocess
6import time
7
8
9def ensure_hub(vm_home):
10 root = vm_home / "run" / "lab"
11 socket_dir = root / "switch"
12 pidfile = root / "vde.pid"
13 root.mkdir(parents=True, exist_ok=True)
14 with (root / ".lock").open("a") as lock:
15 fcntl.flock(lock, fcntl.LOCK_EX)
16 try:
17 pid = int(pidfile.read_text())
18 os.kill(pid, 0)
19 if (socket_dir / "ctl").exists():
20 return socket_dir
21 except (FileNotFoundError, ProcessLookupError, ValueError):
22 pass
23 pidfile.unlink(missing_ok=True)
24 shutil.rmtree(socket_dir, ignore_errors=True)
25 executable = shutil.which("vde_switch") or "/opt/homebrew/bin/vde_switch"
26 if not Path(executable).is_file():
27 raise SystemExit("Install the Homebrew vde package for the VM lab network")
28 subprocess.run([
29 executable, "--daemon", "--nostdin", "--numports", "64",
30 "--sock", str(socket_dir), "--pidfile", str(pidfile),
31 "--dirmode", "0700", "--mode", "0600",
32 ], check=True)
33 for _ in range(50):
34 if pidfile.exists() and (socket_dir / "ctl").exists():
35 return socket_dir
36 time.sleep(0.1)
37 raise SystemExit("The VM lab network did not start")
tools/w7/linux_vm.py created+540
...@@ -0,0 +1,540 @@
1#!/usr/bin/env python3
2
3import argparse
4import base64
5import fcntl
6import hashlib
7import json
8import os
9from pathlib import Path
10import re
11import shlex
12import shutil
13import socket
14import subprocess
15import tempfile
16import time
17import urllib.parse
18import urllib.request
19import uuid
20
21from lab_network import ensure_hub
22
23
24VM_HOME = Path(os.environ.get(
25 "ONE_VM_HOME", "/Volumes/Documents/OneNote VMs"
26)).expanduser()
27LINUX_HOME = VM_HOME / "linux"
28IMAGES = LINUX_HOME / "images"
29INSTANCES = LINUX_HOME / "instances"
30RUN = LINUX_HOME / "run"
31BASE = IMAGES / "debian-13-genericcloud-arm64.qcow2"
32BASE_MANIFEST = IMAGES / "debian-13-genericcloud-arm64.json"
33IMAGE_URL = os.environ.get(
34 "LINUX_VM_IMAGE_URL",
35 "https://cloud.debian.org/images/cloud/trixie/latest/"
36 "debian-13-genericcloud-arm64.qcow2",
37)
38FIRMWARE = Path(os.environ.get(
39 "LINUX_VM_FIRMWARE", "/opt/homebrew/share/qemu/edk2-aarch64-code.fd"
40))
41LAB_ADDRESS = "192.168.77.1"
42NAME = re.compile(r"[a-z0-9](?:[a-z0-9-]{0,22}[a-z0-9])?")
43
44
45def require_vm_home():
46 if len(VM_HOME.parts) > 2 and VM_HOME.parts[1] == "Volumes":
47 volume = Path("/Volumes") / VM_HOME.parts[2]
48 if not os.path.ismount(volume):
49 raise SystemExit("VM volume is not mounted: %s" % volume)
50
51
52def executable(name):
53 path = shutil.which(name) or "/opt/homebrew/bin/" + name
54 if not Path(path).is_file():
55 raise SystemExit("Missing executable: %s" % name)
56 return path
57
58
59def atomic_json(path, value):
60 path.parent.mkdir(parents=True, exist_ok=True)
61 temporary = path.with_suffix(path.suffix + ".tmp")
62 temporary.write_text(json.dumps(value, indent=2, sort_keys=True) + "\n")
63 temporary.replace(path)
64
65
66def runtime(name):
67 root = RUN / name
68 return root, root / "qmp.sock", root / "qemu.pid", root / "qemu.log"
69
70
71def running(name):
72 try:
73 os.kill(int(runtime(name)[2].read_text()), 0)
74 return True
75 except (FileNotFoundError, ProcessLookupError, ValueError):
76 return False
77
78
79def instance_path(name):
80 return INSTANCES / (name + ".json")
81
82
83def validate_name(name):
84 if not NAME.fullmatch(name):
85 raise SystemExit("VM name must be 1-24 lowercase letters, digits, or hyphens")
86
87
88def load_instance(name):
89 validate_name(name)
90 try:
91 return json.loads(instance_path(name).read_text())
92 except FileNotFoundError:
93 raise SystemExit("Linux VM does not exist: %s" % name)
94 except (OSError, ValueError) as e:
95 raise SystemExit("Cannot read Linux VM %s: %s" % (name, e))
96
97
98def configs():
99 if not INSTANCES.exists():
100 return []
101 return [(path.stem, json.loads(path.read_text()))
102 for path in sorted(INSTANCES.glob("*.json"))]
103
104
105def available_port(field, start, end, requested=None):
106 used = {config[field] for _name, config in configs()}
107 candidates = [requested] if requested else range(start, end + 1)
108 for port in candidates:
109 if port is None or port < 1024 or port > 65535 or port in used:
110 continue
111 with socket.socket() as probe:
112 try:
113 probe.bind(("127.0.0.1", port))
114 except OSError:
115 continue
116 return port
117 raise SystemExit("No unused %s is available" % field.replace("_", " "))
118
119
120def mac(prefix, name):
121 tail = uuid.uuid5(uuid.NAMESPACE_URL, prefix + name).bytes[-3:]
122 kind = 4 if prefix == "lab:" else 3
123 return "52:54:%02x:%02x:%02x:%02x" % (kind, *tail)
124
125
126def key_path(name):
127 return INSTANCES / (name + ".key")
128
129
130def seed_path(name):
131 return INSTANCES / (name + "-seed.iso")
132
133
134def overlay_path(name):
135 return INSTANCES / (name + ".qcow2")
136
137
138def make_seed(path, hostname, public_key, wan_mac, lab_mac):
139 samba = """[global]
140workgroup = WORKGROUP
141server role = standalone server
142map to guest = Bad User
143server min protocol = SMB2_02
144interfaces = lo wan0 lab0
145bind interfaces only = yes
146
147[agent]
148path = /srv/agent
149read only = no
150guest ok = yes
151force user = agent
152create mask = 0666
153directory mask = 0777
154"""
155 dnsmasq = """port=0
156interface=lab0
157bind-interfaces
158dhcp-range=192.168.77.10,192.168.77.250,255.255.255.0,12h
159dhcp-option=3
160dhcp-option=6
161"""
162 user_data = """#cloud-config
163hostname: {hostname}
164manage_etc_hosts: true
165users:
166 - name: agent
167 gecos: OneNote test agent
168 groups: [sudo]
169 shell: /bin/bash
170 sudo: ALL=(ALL) NOPASSWD:ALL
171 lock_passwd: true
172 ssh_authorized_keys:
173 - {public_key}
174ssh_pwauth: false
175disable_root: true
176package_update: true
177packages: [samba, dnsmasq, cifs-utils, smbclient, fio]
178write_files:
179 - path: /etc/samba/smb.conf
180 permissions: '0644'
181 encoding: b64
182 content: {samba}
183 - path: /etc/dnsmasq.d/onenote-lab.conf
184 permissions: '0644'
185 encoding: b64
186 content: {dnsmasq}
187runcmd:
188 - [mkdir, -p, /srv/agent]
189 - [chown, agent:agent, /srv/agent]
190 - [systemctl, enable, --now, dnsmasq]
191 - [systemctl, enable, --now, smbd]
192""".format(
193 hostname=hostname,
194 public_key=public_key,
195 samba=base64.b64encode(samba.encode()).decode(),
196 dnsmasq=base64.b64encode(dnsmasq.encode()).decode(),
197 )
198 network = """version: 2
199ethernets:
200 wan0:
201 match:
202 macaddress: "{wan_mac}"
203 set-name: wan0
204 dhcp4: true
205 lab0:
206 match:
207 macaddress: "{lab_mac}"
208 set-name: lab0
209 addresses: [{lab_address}/24]
210""".format(wan_mac=wan_mac, lab_mac=lab_mac, lab_address=LAB_ADDRESS)
211 path.parent.mkdir(parents=True, exist_ok=True)
212 with tempfile.TemporaryDirectory(prefix="one-linux-seed-") as temporary:
213 root = Path(temporary)
214 (root / "meta-data").write_text(
215 "instance-id: %s\nlocal-hostname: %s\n" % (hostname, hostname)
216 )
217 (root / "user-data").write_text(user_data)
218 (root / "network-config").write_text(network)
219 subprocess.run([
220 "hdiutil", "makehybrid", "-quiet", "-iso", "-joliet",
221 "-default-volume-name", "cidata", "-o", str(path), str(root),
222 ], check=True)
223
224
225def fetch_base():
226 require_vm_home()
227 if BASE.exists() and BASE_MANIFEST.exists():
228 subprocess.run([executable("qemu-img"), "check", str(BASE)], check=True)
229 print(BASE_MANIFEST)
230 return
231 headers = {}
232 if os.environ.get("ONE_VM_AUTHORIZATION"):
233 headers["Authorization"] = os.environ["ONE_VM_AUTHORIZATION"]
234 expected = os.environ.get("LINUX_VM_SHA512", "").lower()
235 if not expected:
236 sums_url = urllib.parse.urljoin(IMAGE_URL, "SHA512SUMS")
237 with urllib.request.urlopen(urllib.request.Request(sums_url, headers=headers)) as response:
238 sums = response.read().decode()
239 filename = urllib.parse.urlparse(IMAGE_URL).path.rsplit("/", 1)[-1]
240 match = re.search(r"^([0-9a-f]{128})\s+\*?%s$" % re.escape(filename),
241 sums, re.MULTILINE)
242 if not match:
243 raise SystemExit("Image is absent from %s" % sums_url)
244 expected = match.group(1)
245 if not re.fullmatch(r"[0-9a-f]{128}", expected):
246 raise SystemExit("LINUX_VM_SHA512 must contain 128 hexadecimal characters")
247 IMAGES.mkdir(parents=True, exist_ok=True)
248 temporary = BASE.with_suffix(".download.qcow2")
249 digest = hashlib.sha512()
250 try:
251 with urllib.request.urlopen(urllib.request.Request(IMAGE_URL, headers=headers)) as response:
252 with temporary.open("wb") as output:
253 while chunk := response.read(8 * 1024 * 1024):
254 output.write(chunk)
255 digest.update(chunk)
256 if digest.hexdigest() != expected:
257 raise SystemExit("Downloaded Linux image failed SHA-512 verification")
258 subprocess.run([executable("qemu-img"), "check", str(temporary)], check=True)
259 temporary.replace(BASE)
260 BASE.chmod(0o444)
261 atomic_json(BASE_MANIFEST, {"file": BASE.name, "sha512": expected,
262 "url": IMAGE_URL})
263 except Exception:
264 temporary.unlink(missing_ok=True)
265 raise
266 print(BASE_MANIFEST)
267
268
269def create_instance(name, cpus=2, memory_mb=2048, disk_gb=16,
270 ssh_port=None, samba_port=None):
271 require_vm_home()
272 validate_name(name)
273 if not BASE.is_file() or not BASE_MANIFEST.is_file():
274 raise SystemExit("No Linux base image. Run: ./linux_vm.py fetch")
275 if not 1 <= cpus <= 16:
276 raise SystemExit("CPU count must be between 1 and 16")
277 if not 512 <= memory_mb <= 65536:
278 raise SystemExit("Memory must be between 512 and 65536 MiB")
279 if not 8 <= disk_gb <= 1024:
280 raise SystemExit("Disk size must be between 8 and 1024 GiB")
281 LINUX_HOME.mkdir(parents=True, exist_ok=True)
282 with (LINUX_HOME / ".lock").open("a") as lock:
283 fcntl.flock(lock, fcntl.LOCK_EX)
284 if instance_path(name).exists():
285 raise SystemExit("Linux VM already exists: %s" % name)
286 ssh_port = available_port("ssh_port", 22000, 22099, ssh_port)
287 samba_port = available_port("samba_port", 14450, 14549, samba_port)
288 hostname = "one-" + name
289 private = key_path(name)
290 public = private.with_suffix(".key.pub")
291 overlay = overlay_path(name)
292 seed = seed_path(name)
293 INSTANCES.mkdir(parents=True, exist_ok=True)
294 try:
295 subprocess.run(["ssh-keygen", "-q", "-t", "ed25519", "-N", "",
296 "-C", hostname, "-f", str(private)], check=True)
297 private.chmod(0o600)
298 subprocess.run([
299 executable("qemu-img"), "create", "-f", "qcow2", "-F", "qcow2",
300 "-b", str(BASE), str(overlay),
301 ], check=True)
302 subprocess.run([executable("qemu-img"), "resize", str(overlay),
303 "%dG" % disk_gb], check=True)
304 wan = mac("wan:", name)
305 lab = mac("lab:", name)
306 make_seed(seed, hostname, public.read_text().strip(), wan, lab)
307 seed.chmod(0o600)
308 config = {"cpus": cpus, "disk_gb": disk_gb, "hostname": hostname,
309 "lab_address": LAB_ADDRESS, "lab_mac": lab,
310 "memory_mb": memory_mb, "samba_port": samba_port,
311 "ssh_port": ssh_port, "wan_mac": wan}
312 atomic_json(instance_path(name), config)
313 instance_path(name).chmod(0o600)
314 except Exception:
315 for path in (private, public, overlay, seed, instance_path(name)):
316 path.unlink(missing_ok=True)
317 raise
318 print(json.dumps(dict(config, name=name), sort_keys=True))
319
320
321def launch(name):
322 require_vm_home()
323 config = load_instance(name)
324 if running(name):
325 raise SystemExit("Linux VM is already running: %s" % name)
326 active = [other for other, _config in configs() if other != name and running(other)]
327 if active:
328 raise SystemExit("Only one Samba VM may use %s: %s" %
329 (LAB_ADDRESS, ", ".join(active)))
330 if not FIRMWARE.is_file():
331 raise SystemExit("AArch64 UEFI firmware not found: %s" % FIRMWARE)
332 root, qmp_socket, pid, log_path = runtime(name)
333 root.mkdir(parents=True, exist_ok=True)
334 qmp_socket.unlink(missing_ok=True)
335 lab_socket = ensure_hub(VM_HOME)
336 command = [
337 executable("qemu-system-aarch64"),
338 "-name", "OneNote Linux Samba " + name,
339 "-machine", "virt,accel=hvf", "-cpu", "host",
340 "-smp", str(config["cpus"]), "-m", str(config["memory_mb"]),
341 "-bios", str(FIRMWARE),
342 "-drive", "if=none,file=%s,format=qcow2,id=root" % overlay_path(name),
343 "-device", "virtio-blk-pci,drive=root",
344 "-device", "virtio-scsi-pci,id=scsi",
345 "-drive", "if=none,file=%s,format=raw,media=cdrom,readonly=on,id=seed" % seed_path(name),
346 "-device", "scsi-cd,drive=seed",
347 "-netdev", ("user,id=wan,hostfwd=tcp:127.0.0.1:%d-:22,"
348 "hostfwd=tcp:127.0.0.1:%d-:445" %
349 (config["ssh_port"], config["samba_port"])),
350 "-device", "virtio-net-pci,netdev=wan,mac=%s" % config["wan_mac"],
351 "-netdev", "vde,id=lab,sock=%s" % lab_socket,
352 "-device", "virtio-net-pci,netdev=lab,mac=%s" % config["lab_mac"],
353 "-uuid", str(uuid.uuid5(uuid.NAMESPACE_URL, "onenote-linux:" + name)),
354 "-display", "none", "-serial", "stdio", "-monitor", "none",
355 "-qmp", "unix:%s,server=on,wait=off" % qmp_socket,
356 "-pidfile", str(pid),
357 ]
358 with log_path.open("ab") as log:
359 subprocess.Popen(command, stdin=subprocess.DEVNULL, stdout=log, stderr=log,
360 start_new_session=True)
361 for _ in range(50):
362 if running(name):
363 print("Linux VM opened: %s" % name)
364 return
365 time.sleep(0.1)
366 raise SystemExit("Linux VM did not open. Check: %s" % log_path)
367
368
369def ssh_argv(name, command=None):
370 config = load_instance(name)
371 known = INSTANCES / (name + ".known_hosts")
372 argv = ["ssh", "-p", str(config["ssh_port"]), "-i", str(key_path(name)),
373 "-o", "BatchMode=yes", "-o", "IdentitiesOnly=yes",
374 "-o", "StrictHostKeyChecking=accept-new",
375 "-o", 'UserKnownHostsFile="%s"' % known,
376 "-o", "ConnectTimeout=5", "agent@127.0.0.1"]
377 if command is not None:
378 argv.append(command)
379 return argv
380
381
382def run_ssh(name, command, timeout=60):
383 return subprocess.run(ssh_argv(name, command), capture_output=True, text=True,
384 timeout=timeout)
385
386
387def wait_instance(name, timeout):
388 deadline = time.monotonic() + timeout
389 while time.monotonic() < deadline:
390 try:
391 if run_ssh(name, "true", timeout=8).returncode == 0:
392 break
393 except subprocess.TimeoutExpired:
394 pass
395 time.sleep(1)
396 else:
397 raise SystemExit("SSH did not become ready within %d seconds: %s" % (timeout, name))
398 remaining = max(1, int(deadline - time.monotonic()))
399 try:
400 result = run_ssh(
401 name,
402 "sudo cloud-init status --wait && "
403 "command -v smbd dnsmasq mount.cifs smbclient fio >/dev/null && "
404 "systemctl is-active --quiet smbd dnsmasq",
405 timeout=remaining,
406 )
407 except subprocess.TimeoutExpired:
408 raise SystemExit("Cloud-init did not finish within %d seconds: %s" % (timeout, name))
409 if result.returncode:
410 raise SystemExit((result.stdout + result.stderr).strip() or
411 "Linux bootstrap validation failed: %s" % name)
412 config = load_instance(name)
413 print("Ready: %s ssh=127.0.0.1:%d smb=127.0.0.1:%d windows=//%s/agent" %
414 (name, config["ssh_port"], config["samba_port"], LAB_ADDRESS))
415
416
417def qmp(name, command):
418 with socket.socket(socket.AF_UNIX) as client:
419 client.settimeout(5)
420 client.connect(str(runtime(name)[1]))
421 stream = client.makefile("rwb", buffering=0)
422 stream.readline()
423 stream.write(b'{"execute":"qmp_capabilities"}\n')
424 while "return" not in json.loads(stream.readline()):
425 pass
426 stream.write((json.dumps({"execute": command}) + "\n").encode())
427 while True:
428 response = json.loads(stream.readline())
429 if "return" in response:
430 return response["return"]
431 if "error" in response:
432 raise SystemExit(response["error"]["desc"])
433
434
435def shutdown(name, timeout):
436 if not running(name):
437 raise SystemExit("Linux VM is not running: %s" % name)
438 try:
439 run_ssh(name, "sudo poweroff", timeout=10)
440 except (subprocess.TimeoutExpired, OSError):
441 qmp(name, "system_powerdown")
442 deadline = time.monotonic() + timeout
443 while time.monotonic() < deadline:
444 if not running(name):
445 print("Linux VM stopped: %s" % name)
446 return
447 time.sleep(1)
448 raise SystemExit("Linux VM did not stop within %d seconds: %s" % (timeout, name))
449
450
451def delete_instance(name):
452 require_vm_home()
453 load_instance(name)
454 if running(name):
455 raise SystemExit("Shut down Linux before deleting: %s" % name)
456 for path in (overlay_path(name), seed_path(name), key_path(name),
457 key_path(name).with_suffix(".key.pub"),
458 INSTANCES / (name + ".known_hosts"), instance_path(name)):
459 path.unlink(missing_ok=True)
460 shutil.rmtree(runtime(name)[0], ignore_errors=True)
461 print("Deleted Linux VM: %s" % name)
462
463
464def list_instances(name=None):
465 if name:
466 load_instance(name)
467 print("running" if running(name) else "stopped")
468 return
469 rows = configs()
470 if not rows:
471 print("No Linux VMs.")
472 return
473 for vm_name, config in rows:
474 state = "running" if running(vm_name) else "stopped"
475 print("%-24s %-24s %-7s ssh:%d smb:%d" %
476 (vm_name, config["hostname"], state, config["ssh_port"],
477 config["samba_port"]))
478
479
480def main():
481 parser = argparse.ArgumentParser(description="Run SSH-only OneNote Linux Samba VMs")
482 commands = parser.add_subparsers(dest="command", required=True)
483 commands.add_parser("fetch")
484 status = commands.add_parser("status")
485 status.add_argument("name", nargs="?")
486 up = commands.add_parser("up")
487 up.add_argument("name")
488 up.add_argument("--cpus", type=int, default=2)
489 up.add_argument("--memory", type=int, default=2048, dest="memory_mb")
490 up.add_argument("--disk", type=int, default=16, dest="disk_gb")
491 up.add_argument("--ssh-port", type=int)
492 up.add_argument("--samba-port", type=int)
493 up.add_argument("--wait", action="store_true")
494 up.add_argument("--timeout", type=int, default=600)
495 ssh = commands.add_parser("ssh")
496 ssh.add_argument("name")
497 ssh.add_argument("remote_command", nargs=argparse.REMAINDER)
498 down = commands.add_parser("down")
499 down.add_argument("name")
500 down.add_argument("--timeout", type=int, default=60)
501 down.add_argument("--preserve-machine", action="store_true")
502 args = parser.parse_args()
503 if args.command == "fetch":
504 fetch_base()
505 elif args.command == "up":
506 if not instance_path(args.name).exists():
507 create_instance(args.name, args.cpus, args.memory_mb, args.disk_gb,
508 args.ssh_port, args.samba_port)
509 if running(args.name):
510 print("Linux VM already running: %s" % args.name)
511 else:
512 launch(args.name)
513 if args.wait:
514 wait_instance(args.name, args.timeout)
515 elif args.command == "ssh":
516 command = args.remote_command
517 if command[:1] == ["--"]:
518 command = command[1:]
519 remote = command[0] if len(command) == 1 else shlex.join(command)
520 os.execvp("ssh", ssh_argv(args.name, remote if command else None))
521 elif args.command == "down":
522 if not instance_path(args.name).exists():
523 print("Linux VM absent: %s" % args.name)
524 else:
525 load_instance(args.name)
526 if running(args.name):
527 shutdown(args.name, args.timeout)
528 if args.preserve_machine:
529 print("Preserved Linux VM: %s" % args.name)
530 else:
531 delete_instance(args.name)
532 else:
533 if args.name and not instance_path(args.name).exists():
534 print("absent")
535 else:
536 list_instances(args.name)
537
538
539if __name__ == "__main__":
540 main()
tools/w7/mcp_linux.py created+160
...@@ -0,0 +1,160 @@
1#!/usr/bin/env python3
2"""MCP server for disposable SSH-only Linux Samba VMs."""
3
4import json
5from pathlib import Path
6import subprocess
7import sys
8
9
10ROOT = Path(__file__).resolve().parent
11VM = ROOT / "linux_vm.py"
12
13
14TOOLS = [
15 {
16 "name": "linux_vm_fetch",
17 "description": (
18 "Download and SHA-512 verify the official Debian 13 arm64 cloud base. "
19 "The immutable image is stored outside the repository."
20 ),
21 "inputSchema": {"type": "object", "properties": {}},
22 },
23 {
24 "name": "linux_vm_up",
25 "description": (
26 "Create a Linux clone when absent, then boot it headlessly. Creation settings "
27 "are ignored for an existing clone. Set wait to return after cloud-init and "
28 "Samba validation. One VM owns the shared lab address 192.168.77.1."
29 ),
30 "inputSchema": {
31 "type": "object",
32 "properties": {"name": {"type": "string",
33 "description": "Unique lowercase VM name."},
34 "cpus": {"type": "integer", "default": 2,
35 "minimum": 1, "maximum": 16},
36 "memory_mb": {"type": "integer", "default": 2048,
37 "minimum": 512, "maximum": 65536},
38 "disk_gb": {"type": "integer", "default": 16,
39 "minimum": 8, "maximum": 1024},
40 "ssh_port": {"type": "integer", "minimum": 1024,
41 "maximum": 65535},
42 "samba_port": {"type": "integer", "minimum": 1024,
43 "maximum": 65535},
44 "wait": {"type": "boolean", "default": False},
45 "timeout": {"type": "integer", "default": 600,
46 "minimum": 1, "maximum": 900}},
47 "required": ["name"],
48 },
49 },
50 {
51 "name": "linux_ssh",
52 "description": (
53 "Run a shell command over the clone's private SSH key. Use /srv/agent for "
54 "the Samba share exported to Windows as //192.168.77.1/agent."
55 ),
56 "inputSchema": {
57 "type": "object",
58 "properties": {"name": {"type": "string"},
59 "command": {"type": "string"},
60 "timeout": {"type": "integer", "default": 120,
61 "minimum": 1, "maximum": 900}},
62 "required": ["name", "command"],
63 },
64 },
65 {
66 "name": "linux_vm_down",
67 "description": (
68 "Cleanly stop one VM and delete its overlay, key, and metadata. Set "
69 "preserve_machine to keep the stopped VM for reproduction or reuse."
70 ),
71 "inputSchema": {
72 "type": "object",
73 "properties": {"name": {"type": "string"},
74 "timeout": {"type": "integer", "default": 60,
75 "minimum": 1, "maximum": 120},
76 "preserve_machine": {"type": "boolean", "default": False}},
77 "required": ["name"],
78 },
79 },
80 {
81 "name": "linux_vm_status",
82 "description": "List every Linux VM, or report whether one is absent, stopped, or running.",
83 "inputSchema": {"type": "object", "properties": {"name": {"type": "string"}}},
84 },
85]
86
87
88def run(argv, timeout=120):
89 process = subprocess.run([sys.executable, str(VM)] + argv, capture_output=True,
90 text=True, timeout=timeout)
91 output = (process.stdout + process.stderr).strip()
92 return [{"type": "text", "text": output or "ok"}], process.returncode != 0
93
94
95def call_tool(name, args):
96 if name == "linux_vm_fetch":
97 return run(["fetch"], 900)
98 if name == "linux_vm_up":
99 argv = ["up", args["name"]]
100 for key, option in (("cpus", "--cpus"), ("memory_mb", "--memory"),
101 ("disk_gb", "--disk"), ("ssh_port", "--ssh-port"),
102 ("samba_port", "--samba-port")):
103 if args.get(key) is not None:
104 argv += [option, str(args[key])]
105 timeout = args.get("timeout", 600)
106 if args.get("wait"):
107 argv += ["--wait", "--timeout", str(timeout)]
108 return run(argv, timeout + 15 if args.get("wait") else 120)
109 if name == "linux_ssh":
110 timeout = args.get("timeout", 120)
111 return run(["ssh", args["name"], "--", args["command"]], timeout)
112 if name == "linux_vm_down":
113 timeout = args.get("timeout", 60)
114 argv = ["down", args["name"], "--timeout", str(timeout)]
115 if args.get("preserve_machine"):
116 argv.append("--preserve-machine")
117 return run(argv, timeout + 15)
118 if name == "linux_vm_status":
119 return run(["status"] + ([args["name"]] if args.get("name") else []))
120 return [{"type": "text", "text": "unknown tool: %s" % name}], True
121
122
123def handle(method, params):
124 if method == "initialize":
125 return {"protocolVersion": "2025-06-18", "capabilities": {"tools": {}},
126 "serverInfo": {"name": "one-linux", "version": "1.0.0"}}
127 if method == "ping":
128 return {}
129 if method == "tools/list":
130 return {"tools": TOOLS}
131 if method == "tools/call":
132 content, is_error = call_tool(params.get("name"), params.get("arguments") or {})
133 result = {"content": content}
134 if is_error:
135 result["isError"] = True
136 return result
137 return None
138
139
140def serve():
141 for line in sys.stdin:
142 try:
143 message = json.loads(line)
144 if message.get("id") is None:
145 continue
146 result = handle(message.get("method"), message.get("params") or {})
147 if result is None:
148 reply = {"jsonrpc": "2.0", "id": message["id"],
149 "error": {"code": -32601, "message": "unknown method"}}
150 else:
151 reply = {"jsonrpc": "2.0", "id": message["id"], "result": result}
152 except Exception as e:
153 reply = {"jsonrpc": "2.0", "id": None,
154 "error": {"code": -32603, "message": "%s: %s" %
155 (type(e).__name__, e)}}
156 print(json.dumps(reply), flush=True)
157
158
159if __name__ == "__main__":
160 serve()
tools/w7/mcp_win7.py created+584
...@@ -0,0 +1,584 @@
1#!/usr/bin/env python3
2"""MCP server (stdio, newline-delimited JSON-RPC) and CLI for driving the
3Windows 7 box `wayback` through its AutoHotkey exec listener."""
4
5import base64
6import json
7import os
8from pathlib import Path
9import socket
10import subprocess
11import sys
12import urllib.error
13import urllib.request
14
15WAYBACK_BASE = os.environ.get("WIN7", "http://100.104.74.68:8777").rstrip("/")
16WAYBACK_TOKEN = os.environ.get("WIN7_TOKEN")
17DEFAULT_TARGET = os.environ.get("WIN7_TARGET", "wayback")
18TARGETS_PATH = Path(os.environ.get(
19 "WIN7_TARGETS_FILE", "/Volumes/Documents/OneNote VMs/targets.json"
20)).expanduser()
21VM = Path(__file__).with_name("vm.py")
22
23
24class Win7Error(Exception):
25 pass
26
27
28def resolve_target(name):
29 targets = {
30 "wayback": {"base": WAYBACK_BASE, "token": WAYBACK_TOKEN},
31 "local": {"base": "http://127.0.0.1:18777"},
32 }
33 if TARGETS_PATH.exists():
34 try:
35 configured = json.loads(TARGETS_PATH.read_text())
36 except (OSError, ValueError) as e:
37 raise Win7Error("Cannot read %s: %s" % (TARGETS_PATH, e))
38 if not isinstance(configured, dict):
39 raise Win7Error("Windows targets must be a JSON object: %s" % TARGETS_PATH)
40 targets.update(configured)
41 name = name or DEFAULT_TARGET
42 target = targets.get(name)
43 if not isinstance(target, dict) or not target.get("base"):
44 raise Win7Error(
45 "Unknown Windows target %r. Choose: %s"
46 % (name, ", ".join(sorted(targets)))
47 )
48 token = target.get("token")
49 if target.get("token_env"):
50 token = os.environ.get(target["token_env"])
51 return name, target["base"].rstrip("/"), token
52
53
54def request(path, payload, timeout_ms=15000, target=None):
55 """POST json to the listener (GET when payload is None). Raises Win7Error."""
56 name, base, token = resolve_target(target)
57 headers = {"Content-Type": "application/json"}
58 if token:
59 headers["X-Win7-Token"] = token
60 body = None if payload is None else json.dumps(payload).encode("utf-8")
61 req = urllib.request.Request(base + path, data=body, headers=headers)
62 try:
63 # The box owns the deadline; give the socket slack so its own timeout
64 # wins and we get a real stdout/stderr back instead of a dead socket.
65 with urllib.request.urlopen(req, timeout=timeout_ms / 1000.0 + 15) as resp:
66 raw = resp.read()
67 except urllib.error.HTTPError as e:
68 raise Win7Error("%s %s: HTTP %d %s" % (path, base, e.code, e.reason))
69 except (urllib.error.URLError, socket.timeout, OSError) as e:
70 reason = getattr(e, "reason", e)
71 raise Win7Error(
72 "Cannot reach %r at %s (%s). Start it and open the desktop agent."
73 % (name, base, reason)
74 )
75 try:
76 return json.loads(raw.decode("utf-8"))
77 except ValueError:
78 raise Win7Error("%s returned non-JSON: %r" % (path, raw[:200]))
79
80
81def do_health(target=None):
82 return request("/health", None, target=target)
83
84
85def do_shot(target=None):
86 return request("/shot", {}, target=target)
87
88
89def do_exec(script, shot_delay_ms=500, timeout_ms=60000, target=None):
90 return request(
91 "/exec",
92 {"script": script, "shot_delay_ms": shot_delay_ms, "timeout_ms": timeout_ms},
93 timeout_ms,
94 target,
95 )
96
97
98def do_cmd(command, timeout_ms=60000, target=None):
99 return request(
100 "/cmd", {"command": command, "timeout_ms": timeout_ms}, timeout_ms, target
101 )
102
103
104def do_spawn(command, target=None):
105 return request("/spawn", {"command": command}, target=target)
106
107
108def do_ui(target=None):
109 return request("/ui", {}, target=target)
110
111
112# The base64 stays inside this process on both transfers: a tool that took file
113# bytes as an argument would spend the whole file as context tokens.
114def do_put(local, remote, target=None):
115 with open(local, "rb") as f:
116 blob = f.read()
117 resp = request("/put", {"path": remote, "b64": base64.b64encode(blob).decode("ascii")},
118 120000, target)
119 resp.setdefault("bytes", len(blob))
120 return resp
121
122
123def do_get(remote, local, target=None):
124 resp = request("/get", {"path": remote}, 120000, target)
125 if resp.get("b64"):
126 with open(local, "wb") as f:
127 f.write(base64.b64decode(resp["b64"]))
128 return {"bytes": resp.get("bytes"), "path": os.path.abspath(local),
129 "error": resp.get("error")}
130
131
132# Raw string: this text is mostly about backslashes, and rendering it correctly
133# matters more than keeping the source lines joined.
134EXEC_DESCRIPTION = r"""Run an AutoHotkey v2 script on the Windows 7 desktop.
135Returns whatever the script printed, plus a screenshot taken shot_delay_ms
136after the script exits.
137
138Coordinates are screen-absolute and match the returned screenshot
139pixel-for-pixel (CoordMode Screen is already set; do not change it). The only
140way to send text back is FileAppend(text, "*") -- there is no implicit output.
141Put a whole sequence of actions in one script; one call per click is slow and
142blind.
143
144BACKSLASHES. AutoHotkey's escape character is the backtick, NOT the backslash,
145so a backslash inside an AHK string is already literal. You are emitting this
146script as a JSON string, so one literal backslash is written "\\" in the JSON
147and arrives in the script as "\". Never write "\\\\" -- that is what makes an
148app receive A:\\cute.png instead of A:\cute.png. Escape inside AHK with the
149backtick instead: `n newline, `t tab, `" quote.
150
151LITERAL TEXT. Send() reads ^ + ! # { } as Ctrl/Shift/Alt/Win and key groups.
152Use SendText() for anything literal -- paths, passwords, arbitrary content --
153and keep Send() for actual key combinations.
154
155CLEAN UP. When you finish a task, close the applications you opened (WinClose,
156or the app's own quit path). Leaving windows stacked makes later screenshots
157harder to read, and a forgotten modal swallows input from the next script.
158
159Click something, let the UI settle:
160 Click(512, 384)
161 Sleep(300)
162
163Type a literal path into the focused field:
164 SendText("A:\cute.png")
165 Send("{Enter}")
166
167Shortcut, then read the result out of the clipboard:
168 Send("^a^c")
169 ClipWait(1)
170 FileAppend(A_Clipboard, "*")
171
172Launch an app, wait for its window, and close it when done:
173 Run("mspaint.exe")
174 WinWait("Paint", , 10)
175 WinActivate()
176 WinClose("Paint")
177
178Raise timeout_ms when the script itself waits on the UI; raise shot_delay_ms
179when an animation or app launch needs longer to settle before the screenshot."""
180
181TARGET_PROPERTY = {
182 "type": "string",
183 "description": "Target name. Omit to use the configured default.",
184}
185
186TOOLS = [
187 {
188 "name": "win7_exec",
189 "description": EXEC_DESCRIPTION,
190 "inputSchema": {
191 "type": "object",
192 "properties": {
193 "target": TARGET_PROPERTY,
194 "script": {"type": "string", "description": "AutoHotkey v2 source."},
195 "shot_delay_ms": {
196 "type": "integer",
197 "default": 500,
198 "description": "Wait this long after the script ends, then screenshot.",
199 },
200 "timeout_ms": {
201 "type": "integer",
202 "default": 60000,
203 "description": "Kill the script after this long.",
204 },
205 },
206 "required": ["script"],
207 },
208 },
209 {
210 "name": "win7_cmd",
211 "description": (
212 "Run a command through cmd.exe on the Windows 7 box and return its output. "
213 "No screenshot -- use it to inspect files, launch programs and check state "
214 "without spending a screenshot on it."
215 ),
216 "inputSchema": {
217 "type": "object",
218 "properties": {
219 "target": TARGET_PROPERTY,
220 "command": {"type": "string", "description": "Passed to cmd.exe /c."},
221 "timeout_ms": {"type": "integer", "default": 60000},
222 },
223 "required": ["command"],
224 },
225 },
226 {
227 "name": "win7_spawn",
228 "description": (
229 "Start a detached Windows process and return immediately. Its standard "
230 "handles are closed, so a long-lived GUI or capture process cannot wedge "
231 "the control channel."
232 ),
233 "inputSchema": {
234 "type": "object",
235 "properties": {
236 "target": TARGET_PROPERTY,
237 "command": {"type": "string", "description": "Windows command line."},
238 },
239 "required": ["command"],
240 },
241 },
242 {
243 "name": "win7_put",
244 "description": (
245 "Copy a file from this Mac to the Windows 7 box. Give two paths; the bytes "
246 "never pass through the conversation, so file size costs nothing."
247 ),
248 "inputSchema": {
249 "type": "object",
250 "properties": {
251 "target": TARGET_PROPERTY,
252 "local": {"type": "string", "description": "Path on the Mac."},
253 "remote": {
254 "type": "string",
255 "description": "Windows path, e.g. C:\\\\work\\\\a.one.",
256 },
257 },
258 "required": ["local", "remote"],
259 },
260 },
261 {
262 "name": "win7_get",
263 "description": "Copy a file from the Windows 7 box back to this Mac.",
264 "inputSchema": {
265 "type": "object",
266 "properties": {
267 "target": TARGET_PROPERTY,
268 "remote": {"type": "string", "description": "Windows path."},
269 "local": {"type": "string", "description": "Path on the Mac."},
270 },
271 "required": ["remote", "local"],
272 },
273 },
274 {
275 "name": "win7_shot",
276 "description": "Screenshot the Windows 7 desktop without running anything.",
277 "inputSchema": {"type": "object", "properties": {"target": TARGET_PROPERTY}},
278 },
279 {
280 "name": "win7_ui",
281 "description": (
282 "Dump the foreground window's control tree as text -- class name, window "
283 "text and client rect (l,t,w,h) for the window and each child control. "
284 "It reads real Win32 controls, so it is excellent for dialogs, menus and "
285 "standard controls, and near-useless for custom-drawn canvases like "
286 "OneNote's page surface -- reach for a screenshot there instead."
287 ),
288 "inputSchema": {"type": "object", "properties": {"target": TARGET_PROPERTY}},
289 },
290]
291
292TOOLS += [
293 {
294 "name": "win7_vm_up",
295 "description": (
296 "Create a named Windows 7 clone when absent, then boot it. Creation settings "
297 "are ignored for an existing clone. Set wait to return only when its "
298 "authenticated desktop agent reports the expected hostname."
299 ),
300 "inputSchema": {
301 "type": "object",
302 "properties": {
303 "name": {"type": "string",
304 "description": "Unique 1-11 character lowercase VM name."},
305 "hostname": {"type": "string", "description": "Optional Windows hostname."},
306 "cpus": {"type": "integer", "default": 2, "minimum": 1, "maximum": 16},
307 "memory_mb": {"type": "integer", "default": 4096,
308 "minimum": 1024, "maximum": 65536},
309 "port": {"type": "integer", "minimum": 1024, "maximum": 65535},
310 "display": {"type": "boolean", "default": False},
311 "wait": {"type": "boolean", "default": False},
312 "timeout": {"type": "integer", "default": 300, "minimum": 1,
313 "maximum": 900},
314 },
315 "required": ["name"],
316 },
317 },
318 {
319 "name": "win7_vm_down",
320 "description": (
321 "Cleanly stop one clone and delete its overlay and metadata. Set "
322 "preserve_machine to keep the stopped clone for reproduction or reuse."
323 ),
324 "inputSchema": {
325 "type": "object",
326 "properties": {
327 "name": {"type": "string"},
328 "timeout": {"type": "integer", "default": 60, "minimum": 1,
329 "maximum": 110},
330 "preserve_machine": {"type": "boolean", "default": False},
331 },
332 "required": ["name"],
333 },
334 },
335 {
336 "name": "win7_vm_status",
337 "description": "List every clone, or report whether one named clone is absent, stopped, or running.",
338 "inputSchema": {
339 "type": "object",
340 "properties": {"name": {"type": "string"}},
341 },
342 },
343]
344
345
346def win_line(resp):
347 win = resp.get("win")
348 if not win or not (win.get("title") or win.get("class")):
349 return ""
350 tag = win.get("class") or ""
351 if win.get("dialog"):
352 tag = (tag + " dialog").strip()
353 return 'window: "%s" (%s)' % (win.get("title", ""), tag)
354
355
356def shot_blocks(resp, text_prefix=""):
357 text = text_prefix + "screen: %sx%s" % (resp.get("w"), resp.get("h"))
358 wl = win_line(resp)
359 if wl:
360 text += "\n" + wl
361 blocks = [{"type": "text", "text": text}]
362 png = resp.get("png_b64")
363 if png:
364 blocks.append({"type": "image", "data": png, "mimeType": "image/png"})
365 return blocks
366
367
368def text_result(resp):
369 lines = ["exit=%s" % resp.get("exit")]
370 for key in ("stdout", "stderr", "error"):
371 val = resp.get(key)
372 if val:
373 lines.append("%s:\n%s" % (key, val))
374 return "\n".join(lines)
375
376
377def vm_tool(name, args):
378 verb = name.removeprefix("win7_vm_")
379 if verb == "status":
380 argv = ["status"] + ([args["name"]] if args.get("name") else [])
381 elif verb == "up":
382 argv = ["up", args["name"]]
383 for key, option in (("hostname", "--hostname"), ("cpus", "--cpus"),
384 ("memory_mb", "--memory"), ("port", "--port")):
385 if args.get(key) is not None:
386 argv += [option, str(args[key])]
387 if args.get("display"):
388 argv.append("--display")
389 if args.get("wait"):
390 argv += ["--wait", "--timeout", str(args.get("timeout", 300))]
391 elif verb == "down":
392 argv = ["down", args["name"], "--timeout", str(args.get("timeout", 60))]
393 if args.get("preserve_machine"):
394 argv.append("--preserve-machine")
395 process = subprocess.run(
396 [sys.executable, str(VM)] + argv,
397 capture_output=True,
398 text=True,
399 timeout=args.get("timeout", 300) + 15 if verb == "up" and args.get("wait")
400 else 120,
401 )
402 output = (process.stdout + process.stderr).strip()
403 return [{"type": "text", "text": output or "ok"}], process.returncode != 0
404
405
406def call_tool(name, args):
407 if name.startswith("win7_vm_"):
408 return vm_tool(name, args)
409 target = args.get("target")
410 if name == "win7_shot":
411 return shot_blocks(do_shot(target)), False
412 if name == "win7_ui":
413 resp = do_ui(target)
414 wl = win_line(resp)
415 parts = [p for p in (wl, resp.get("controls"), resp.get("error") and
416 "error: %s" % resp["error"]) if p]
417 return [{"type": "text", "text": "\n".join(parts)}], False
418 if name == "win7_put":
419 resp = do_put(args["local"], args["remote"], target)
420 text = "wrote %s bytes to %s" % (resp.get("bytes"), resp.get("path"))
421 return [{"type": "text", "text": text}], False
422 if name == "win7_get":
423 resp = do_get(args["remote"], args["local"], target)
424 text = "read %s bytes to %s" % (resp.get("bytes"), resp.get("path"))
425 return [{"type": "text", "text": text}], False
426 if name == "win7_cmd":
427 command = args.get("command")
428 if not isinstance(command, str) or not command.strip():
429 return [{"type": "text", "text": "command is required"}], True
430 resp = do_cmd(command, args.get("timeout_ms", 60000), target)
431 return [{"type": "text", "text": text_result(resp)}], False
432 if name == "win7_spawn":
433 command = args.get("command")
434 if not isinstance(command, str) or not command.strip():
435 return [{"type": "text", "text": "command is required"}], True
436 resp = do_spawn(command, target)
437 return [{"type": "text", "text": "pid=%s" % resp.get("pid")}], False
438 if name == "win7_exec":
439 script = args.get("script")
440 if not isinstance(script, str) or not script.strip():
441 return [{"type": "text", "text": "script is required"}], True
442 resp = do_exec(
443 script,
444 args.get("shot_delay_ms", 500),
445 args.get("timeout_ms", 60000),
446 target,
447 )
448 return shot_blocks(resp, text_result(resp) + "\n"), False
449 raise Win7Error("unknown tool %r" % (name,))
450
451
452def handle(method, params):
453 if method == "initialize":
454 return {
455 "protocolVersion": "2025-06-18",
456 "capabilities": {"tools": {}},
457 "serverInfo": {"name": "win7", "version": "1.0.0"},
458 }
459 if method == "ping":
460 return {}
461 if method == "tools/list":
462 return {"tools": TOOLS}
463 if method == "tools/call":
464 try:
465 content, is_error = call_tool(params.get("name"), params.get("arguments") or {})
466 except Win7Error as e:
467 content, is_error = [{"type": "text", "text": str(e)}], True
468 # No structuredContent key, ever: Codex drops content[] outright when it
469 # is present (openai/codex#10334), which silently discards the screenshot.
470 result = {"content": content, "_meta": {"codex/imageDetail": "original"}}
471 if is_error:
472 result["isError"] = True
473 return result
474 return None
475
476
477def serve():
478 out = sys.stdout
479 for line in sys.stdin:
480 line = line.strip()
481 if not line:
482 continue
483 try:
484 msg = json.loads(line)
485 except ValueError:
486 print("win7: dropping unparseable line: %r" % line[:200], file=sys.stderr)
487 continue
488 mid = msg.get("id")
489 if mid is None:
490 continue # notification: a reply would itself be a protocol error
491 try:
492 result = handle(msg.get("method"), msg.get("params") or {})
493 except Exception as e: # a crash here would wedge the client forever
494 reply = {
495 "jsonrpc": "2.0",
496 "id": mid,
497 "error": {"code": -32603, "message": "%s: %s" % (type(e).__name__, e)},
498 }
499 else:
500 if result is None:
501 reply = {
502 "jsonrpc": "2.0",
503 "id": mid,
504 "error": {"code": -32601, "message": "unknown method %r" % msg.get("method")},
505 }
506 else:
507 reply = {"jsonrpc": "2.0", "id": mid, "result": result}
508 out.write(json.dumps(reply) + "\n")
509 out.flush()
510
511
512SHOT_PATH = "screenshot.png"
513
514
515def write_png(resp):
516 with open(SHOT_PATH, "wb") as f:
517 f.write(base64.b64decode(resp["png_b64"]))
518 print("%sx%s -> %s" % (resp.get("w"), resp.get("h"), SHOT_PATH))
519
520
521def cli(argv):
522 target = None
523 if argv[:1] == ["--target"]:
524 if len(argv) < 3:
525 raise Win7Error("usage: mcp_win7.py --target <name> <command>")
526 target, argv = argv[1], argv[2:]
527 verb = argv[0]
528 if verb == "health":
529 print(json.dumps(do_health(target), indent=2))
530 elif verb == "shot":
531 write_png(do_shot(target))
532 elif verb == "ui":
533 resp = do_ui(target)
534 wl = win_line(resp)
535 if wl:
536 print(wl)
537 print(resp.get("controls") or "")
538 if resp.get("error"):
539 print("error: %s" % resp["error"], file=sys.stderr)
540 elif verb in ("put", "get"):
541 if len(argv) < 3:
542 raise Win7Error("usage: mcp_win7.py put <local> <remote> | get <remote> <local>")
543 resp = (do_put(argv[1], argv[2], target) if verb == "put"
544 else do_get(argv[1], argv[2], target))
545 print("%s bytes -> %s" % (resp.get("bytes"), resp.get("path")))
546 elif verb in ("exec", "cmd", "spawn"):
547 if len(argv) < 2:
548 raise Win7Error("usage: mcp_win7.py %s '<text>'" % verb)
549 if verb == "exec":
550 resp = do_exec(argv[1], target=target)
551 elif verb == "cmd":
552 resp = do_cmd(argv[1], target=target)
553 else:
554 resp = do_spawn(argv[1], target=target)
555 print("pid=%s" % resp.get("pid"))
556 return
557 for stream, text in ((sys.stdout, resp.get("stdout")), (sys.stderr, resp.get("stderr"))):
558 if text:
559 stream.write(text if text.endswith("\n") else text + "\n")
560 if resp.get("error"):
561 print("error: %s" % resp["error"], file=sys.stderr)
562 print("exit=%s" % resp.get("exit"), file=sys.stderr)
563 if verb == "exec":
564 write_png(resp)
565 else:
566 raise Win7Error(
567 "usage: mcp_win7.py [--target <name>] "
568 "health|shot|ui|exec <ahk>|cmd <command>|spawn <command>|put <local> <remote>"
569 "|get <remote> <local>"
570 )
571
572
573if __name__ == "__main__":
574 if len(sys.argv) > 1:
575 try:
576 cli(sys.argv[1:])
577 except Win7Error as e:
578 print("win7: %s" % e, file=sys.stderr)
579 sys.exit(1)
580 else:
581 try:
582 serve()
583 except KeyboardInterrupt:
584 pass
tools/w7/payload/README.txt created+57
...@@ -0,0 +1,57 @@
1win7-agent -- remote computer-use listener for Windows 7 x64
2============================================================
3
4WHAT IT DOES
5 Listens on port 8777 and executes AutoHotkey scripts and shell commands sent
6 by the controller, returning their output plus a screenshot of this desktop.
7
8SETUP
9 1. Copy this whole folder anywhere on the machine, e.g. C:\win7-agent
10 (keep the vendor\ subfolder next to agent.py -- do not move pieces apart).
11 2. Double-click run.bat. A console window opens and prints "listening ...".
12 3. When Windows Firewall pops up, click "Allow access" so the controller can
13 reach port 8777.
14
15VM AUTOSTART
16 On the isolated QEMU build VM only, run install-autostart.cmd as administrator
17 and restart. It disables UAC, reads the clone hostname and token from its
18 instance CD, renames the guest on first boot, and starts this agent at login.
19 Do not use it on a physical or network-reachable Windows machine.
20
21IMPORTANT
22 - Must run in the interactive, logged-in desktop session (just double-click
23 it). Do NOT install it as a Windows service -- a service has no desktop and
24 AutoHotkey cannot move the mouse or type.
25 - The agent holds the display and the machine awake by itself while it runs,
26 so you do not need to change the power plan. Two things it CANNOT hold off,
27 which will silently break every screenshot and keystroke until someone logs
28 back in -- turn both off once:
29 * Screen saver: right-click desktop > Personalize > Screen Saver, set
30 "(None)", and clear "On resume, display logon screen".
31 * Lock: do not press Win+L, and if the machine is on a domain policy that
32 locks it, that policy has to go.
33 A locked session moves the desktop to Winlogon, where nothing this agent
34 does can reach. The monitor merely powering off is fine -- screenshots
35 still work with the screen dark.
36 - Set display scaling to 100%: Control Panel > Display > "Smaller - 100%",
37 then log out and back in. Any other scaling shifts screenshot pixels away
38 from click coordinates and every click lands in the wrong place.
39 - If python.exe fails complaining about api-ms-win-crt-runtime-l1-1-0.dll,
40 run vendor\vc_redist.x64.exe once, then start run.bat again.
41 - Leave the console window open; closing it stops the agent. A crash leaves
42 the window up (pause) so you can read the error.
43 - Everything is also written to agent.log beside agent.py: one timestamped
44 line per request, followed by the exact AutoHotkey script or cmd command
45 that ran, indented with "|". It appends forever and is never rotated, so
46 delete it yourself if it gets large.
47
48SHARE (needed for the OneNote work)
49 Map the NAS share to A: once, from a normal cmd window:
50 net use A: \\zenith\agent /user:agent agent /persistent:yes
51 If the hostname does not resolve, use \\10.0.0.1\agent instead. Check it
52 stuck with: net use
53
54TOKEN (optional)
55 To require a shared secret, put it in a file named token.txt beside run.bat
56 (single line). The controller must then send the same value. No file means
57 no authentication.
tools/w7/payload/agent.py created+440
...@@ -0,0 +1,440 @@
1import base64
2import ctypes
3import hashlib
4import json
5import os
6import struct
7import subprocess
8import sys
9import tempfile
10import threading
11import time
12import zlib
13from ctypes import wintypes
14from http.server import ThreadingHTTPServer, BaseHTTPRequestHandler
15
16BASE = os.path.dirname(os.path.abspath(__file__))
17with open(__file__, 'rb') as source:
18 AGENT_SHA256 = hashlib.sha256(source.read()).hexdigest()
19LOCK = threading.Lock()
20
21user32 = ctypes.windll.user32
22gdi32 = ctypes.windll.gdi32
23
24SRCCOPY = 0x00CC0020
25CAPTUREBLT = 0x40000000
26BI_RGB = 0
27DIB_RGB_COLORS = 0
28
29# restype must be set on x64: the default c_int return truncates a 64-bit HANDLE.
30user32.GetDC.restype = wintypes.HDC
31user32.GetDC.argtypes = [wintypes.HWND]
32user32.ReleaseDC.restype = ctypes.c_int
33user32.ReleaseDC.argtypes = [wintypes.HWND, wintypes.HDC]
34user32.GetSystemMetrics.restype = ctypes.c_int
35user32.GetSystemMetrics.argtypes = [ctypes.c_int]
36gdi32.CreateCompatibleDC.restype = wintypes.HDC
37gdi32.CreateCompatibleDC.argtypes = [wintypes.HDC]
38gdi32.CreateCompatibleBitmap.restype = wintypes.HBITMAP
39gdi32.CreateCompatibleBitmap.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int]
40gdi32.SelectObject.restype = wintypes.HGDIOBJ
41gdi32.SelectObject.argtypes = [wintypes.HDC, wintypes.HGDIOBJ]
42gdi32.BitBlt.restype = wintypes.BOOL
43gdi32.BitBlt.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int, ctypes.c_int,
44 ctypes.c_int, wintypes.HDC, ctypes.c_int, ctypes.c_int,
45 wintypes.DWORD]
46gdi32.GetDIBits.restype = ctypes.c_int
47gdi32.GetDIBits.argtypes = [wintypes.HDC, wintypes.HBITMAP, wintypes.UINT,
48 wintypes.UINT, ctypes.c_void_p, ctypes.c_void_p,
49 wintypes.UINT]
50gdi32.DeleteObject.restype = wintypes.BOOL
51gdi32.DeleteObject.argtypes = [wintypes.HGDIOBJ]
52gdi32.DeleteDC.restype = wintypes.BOOL
53gdi32.DeleteDC.argtypes = [wintypes.HDC]
54
55WNDENUMPROC = ctypes.WINFUNCTYPE(wintypes.BOOL, wintypes.HWND, wintypes.LPARAM)
56user32.GetForegroundWindow.restype = wintypes.HWND
57user32.GetForegroundWindow.argtypes = []
58user32.GetWindowTextW.restype = ctypes.c_int
59user32.GetWindowTextW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int]
60user32.GetClassNameW.restype = ctypes.c_int
61user32.GetClassNameW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int]
62user32.GetClientRect.restype = wintypes.BOOL
63user32.GetClientRect.argtypes = [wintypes.HWND, ctypes.POINTER(wintypes.RECT)]
64user32.EnumChildWindows.restype = wintypes.BOOL
65user32.EnumChildWindows.argtypes = [wintypes.HWND, WNDENUMPROC, wintypes.LPARAM]
66
67
68class BITMAPINFOHEADER(ctypes.Structure):
69 _fields_ = [("biSize", wintypes.DWORD),
70 ("biWidth", wintypes.LONG),
71 ("biHeight", wintypes.LONG),
72 ("biPlanes", wintypes.WORD),
73 ("biBitCount", wintypes.WORD),
74 ("biCompression", wintypes.DWORD),
75 ("biSizeImage", wintypes.DWORD),
76 ("biXPelsPerMeter", wintypes.LONG),
77 ("biYPelsPerMeter", wintypes.LONG),
78 ("biClrUsed", wintypes.DWORD),
79 ("biClrImportant", wintypes.DWORD)]
80
81
82PREAMBLE = (
83 "#Requires AutoHotkey v2.0\n"
84 "#SingleInstance Off\n"
85 "#Warn All, Off\n"
86 'FileEncoding "UTF-8-RAW"\n'
87 'SendMode "Input"\n'
88 "SetWorkingDir A_ScriptDir\n"
89 'CoordMode "Mouse", "Screen"\n'
90 'CoordMode "Pixel", "Screen"\n'
91 'CoordMode "ToolTip", "Screen"\n'
92 "SetTitleMatchMode 2\n"
93 "DetectHiddenWindows true\n"
94)
95
96
97def ahk_path():
98 u64 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey64.exe")
99 u32 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey32.exe")
100 return u64 if os.path.exists(u64) else u32
101
102
103def _chunk(tag, data):
104 return (struct.pack(">I", len(data)) + tag + data +
105 struct.pack(">I", zlib.crc32(tag + data) & 0xffffffff))
106
107
108def _to_png(bgra, w, h):
109 arr = bytearray(bgra)
110 r = arr[2::4]
111 arr[2::4] = arr[0::4]
112 arr[0::4] = r
113 del arr[3::4]
114 stride = w * 3
115 mv = memoryview(arr)
116 raw = bytearray()
117 for y in range(h):
118 raw.append(0)
119 raw += mv[y * stride:(y + 1) * stride]
120 ihdr = struct.pack(">IIBBBBB", w, h, 8, 2, 0, 0, 0)
121 return (b"\x89PNG\r\n\x1a\n" + _chunk(b"IHDR", ihdr) +
122 _chunk(b"IDAT", zlib.compress(bytes(raw))) + _chunk(b"IEND", b""))
123
124
125def capture():
126 w = user32.GetSystemMetrics(0)
127 h = user32.GetSystemMetrics(1)
128 hdc = user32.GetDC(None)
129 mem = None
130 hbm = None
131 try:
132 mem = gdi32.CreateCompatibleDC(hdc)
133 hbm = gdi32.CreateCompatibleBitmap(hdc, w, h)
134 old = gdi32.SelectObject(mem, hbm)
135 gdi32.BitBlt(mem, 0, 0, w, h, hdc, 0, 0, SRCCOPY | CAPTUREBLT)
136 gdi32.SelectObject(mem, old)
137 bmi = BITMAPINFOHEADER()
138 bmi.biSize = ctypes.sizeof(BITMAPINFOHEADER)
139 bmi.biWidth = w
140 bmi.biHeight = -h # negative => top-down rows, matches screenshot orientation
141 bmi.biPlanes = 1
142 bmi.biBitCount = 32
143 bmi.biCompression = BI_RGB
144 buf = ctypes.create_string_buffer(w * h * 4)
145 if gdi32.GetDIBits(mem, hbm, 0, h, buf, ctypes.byref(bmi),
146 DIB_RGB_COLORS) == 0:
147 raise RuntimeError("GetDIBits failed")
148 data = buf.raw
149 finally:
150 if hbm:
151 gdi32.DeleteObject(hbm)
152 if mem:
153 gdi32.DeleteDC(mem)
154 user32.ReleaseDC(None, hdc)
155 return _to_png(data, w, h), w, h
156
157
158def _win_text(fn, hwnd, n=512):
159 buf = ctypes.create_unicode_buffer(n)
160 fn(hwnd, buf, n)
161 return buf.value
162
163
164def active_window():
165 hwnd = user32.GetForegroundWindow()
166 if not hwnd:
167 return {"title": "", "class": "", "dialog": False}
168 cls = _win_text(user32.GetClassNameW, hwnd)
169 return {"title": _win_text(user32.GetWindowTextW, hwnd),
170 "class": cls, "dialog": cls == "#32770"}
171
172
173def control_tree():
174 hwnd = user32.GetForegroundWindow()
175 rows = []
176
177 def add(h):
178 rect = wintypes.RECT()
179 user32.GetClientRect(h, ctypes.byref(rect))
180 rows.append((_win_text(user32.GetClassNameW, h),
181 _win_text(user32.GetWindowTextW, h),
182 rect.left, rect.top,
183 rect.right - rect.left, rect.bottom - rect.top))
184
185 if hwnd:
186 add(hwnd)
187
188 def cb(child, _lparam):
189 add(child)
190 return True
191 user32.EnumChildWindows(hwnd, WNDENUMPROC(cb), 0)
192 lines = ["%-24s %-28s %s" % ("class", "text", "l,t,w,h")]
193 for cls, text, l, t, w, h in rows:
194 lines.append("%-24s %-28s %d,%d,%d,%d" % (cls, text, l, t, w, h))
195 return "\n".join(lines)
196
197
198def _run(argv, timeout_ms, encoding, on_timeout=None):
199 def dec(b):
200 return b.decode(encoding, "replace") if b else ""
201
202 p = subprocess.Popen(argv, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
203 try:
204 out, err = p.communicate(timeout=timeout_ms / 1000.0)
205 return p.returncode, dec(out), dec(err), None
206 except subprocess.TimeoutExpired:
207 if on_timeout:
208 on_timeout()
209 subprocess.call(["taskkill", "/F", "/T", "/PID", str(p.pid)])
210 try:
211 # A process the script launched can outlive taskkill still holding the
212 # inherited stdout pipe; an unbounded wait here wedges the agent's lock.
213 out, err = p.communicate(timeout=5)
214 except subprocess.TimeoutExpired:
215 out = err = b""
216 for pipe in (p.stdout, p.stderr):
217 if pipe:
218 pipe.close()
219 msg = "timed out after %d ms, process killed" % timeout_ms
220 return None, dec(out), dec(err), msg
221
222
223def run_ahk(script, timeout_ms, on_timeout=None):
224 fd, path = tempfile.mkstemp(suffix=".ahk")
225 os.close(fd)
226 # AutoHotkey (Unicode-only) needs a UTF-8 BOM to read the file as UTF-8.
227 with open(path, "wb") as f:
228 f.write(b"\xef\xbb\xbf" + (PREAMBLE + script).encode("utf-8"))
229 try:
230 # /ErrorStdOut sends syntax errors to stderr instead of a blocking modal.
231 code, out, err, error = _run([ahk_path(), "/ErrorStdOut", path], timeout_ms,
232 "utf-8", on_timeout)
233 finally:
234 os.remove(path)
235 if error:
236 error = "script " + error
237 return code, out, err, error
238
239
240def _safe_capture(error):
241 try:
242 png, w, h = capture()
243 return base64.b64encode(png).decode("ascii"), w, h, error
244 except Exception as e:
245 note = "screenshot failed: " + repr(e)
246 return "", 0, 0, (error + "; " + note if error else note)
247
248
249LOG_PATH = os.path.join(BASE, "agent.log")
250LOG_LOCK = threading.Lock()
251
252
253def log(text, stamp=True):
254 """Console and agent.log, so a session can be reconstructed after the fact."""
255 line = time.strftime("%Y-%m-%d %H:%M:%S ") + text if stamp else text
256 with LOG_LOCK:
257 print(line, end="" if line.endswith("\n") else "\n", flush=True)
258 try:
259 with open(LOG_PATH, "a", encoding="utf-8") as f:
260 f.write(line if line.endswith("\n") else line + "\n")
261 except OSError:
262 pass # a log that cannot be written must not take the agent down
263
264
265class Handler(BaseHTTPRequestHandler):
266 def log_message(self, *a):
267 pass
268
269 def _send(self, code, obj):
270 body = json.dumps(obj).encode("utf-8")
271 self.send_response(code)
272 self.send_header("Content-Type", "application/json")
273 self.send_header("Content-Length", str(len(body)))
274 self.end_headers()
275 self.wfile.write(body)
276
277 def _log(self, start, code, body=None):
278 log("%s %s %dms exit=%s" % (self.command, self.path,
279 int((time.time() - start) * 1000), code))
280 if body:
281 log("".join(" | %s\n" % l for l in body.splitlines()), stamp=False)
282
283 def _auth_ok(self):
284 token = os.environ.get("WIN7_TOKEN")
285 return not token or self.headers.get("X-Win7-Token") == token
286
287 def _body(self):
288 n = int(self.headers.get("Content-Length") or 0)
289 raw = self.rfile.read(n) if n else b""
290 return json.loads(raw.decode("utf-8")) if raw else {}
291
292 def do_GET(self):
293 start = time.time()
294 if not self._auth_ok():
295 self._send(401, {"error": "bad token"})
296 elif self.path == "/health":
297 self._send(200, {"ok": True, "w": user32.GetSystemMetrics(0),
298 "h": user32.GetSystemMetrics(1),
299 "hostname": os.environ.get("COMPUTERNAME", ""),
300 "utc_us": int(time.time() * 1000000),
301 "ahk": ahk_path(), "python": sys.executable,
302 "agent_sha256": AGENT_SHA256})
303 else:
304 self._send(404, {"error": "not found"})
305 self._log(start, None)
306
307 def do_POST(self):
308 start = time.time()
309 code = None
310 if not self._auth_ok():
311 self._send(401, {"error": "bad token"})
312 self._log(start, None)
313 return
314 try:
315 data = self._body()
316 except Exception:
317 self._send(400, {"error": "bad json"})
318 self._log(start, None)
319 return
320 body = {"/exec": data.get("script"), "/cmd": data.get("command"),
321 "/spawn": data.get("command"),
322 "/put": data.get("path"), "/get": data.get("path")}.get(self.path)
323 try:
324 if self.path == "/exec":
325 resp = self._exec(data)
326 code = resp["exit"]
327 elif self.path == "/cmd":
328 resp = self._cmd(data)
329 code = resp["exit"]
330 elif self.path == "/spawn":
331 resp = self._spawn(data)
332 code = 0
333 elif self.path == "/put":
334 resp = self._put(data)
335 elif self.path == "/get":
336 resp = self._get(data)
337 elif self.path == "/shot":
338 resp = self._shot()
339 elif self.path == "/ui":
340 resp = self._ui()
341 else:
342 self._send(404, {"error": "not found"})
343 self._log(start, None)
344 return
345 self._send(200, resp)
346 except Exception as e:
347 self._send(200, {"error": repr(e), "exit": None, "stdout": "",
348 "stderr": "", "png_b64": "", "w": 0, "h": 0})
349 self._log(start, code, body)
350
351 def _exec(self, data):
352 pre = []
353
354 def grab(): # capture before taskkill so the blocker is still on screen
355 pre.append((_safe_capture(None), active_window()))
356
357 with LOCK:
358 code, out, err, error = run_ahk(data.get("script", ""),
359 data.get("timeout_ms", 60000), grab)
360 if pre:
361 (b64, w, h, note), win = pre[0]
362 else:
363 time.sleep(data.get("shot_delay_ms", 500) / 1000.0)
364 b64, w, h, note = _safe_capture(None)
365 win = active_window()
366 if note:
367 error = error + "; " + note if error else note
368 return {"exit": code, "stdout": out, "stderr": err, "png_b64": b64,
369 "w": w, "h": h, "error": error, "win": win}
370
371 def _put(self, data):
372 path = data.get("path", "")
373 blob = base64.b64decode(data.get("b64", ""))
374 parent = os.path.dirname(path)
375 if parent and not os.path.isdir(parent):
376 os.makedirs(parent)
377 with open(path, "wb") as f:
378 f.write(blob)
379 return {"bytes": len(blob), "path": os.path.abspath(path), "error": None}
380
381 def _get(self, data):
382 with open(data.get("path", ""), "rb") as f:
383 blob = f.read()
384 return {"b64": base64.b64encode(blob).decode("ascii"), "bytes": len(blob),
385 "error": None}
386
387 def _cmd(self, data):
388 with LOCK:
389 # A raw command-line string, not a list: on Windows list2cmdline would
390 # backslash-escape the embedded quotes before cmd.exe ever sees them.
391 code, out, err, error = _run("cmd.exe /c " + data.get("command", ""),
392 data.get("timeout_ms", 60000), "oem")
393 return {"exit": code, "stdout": out, "stderr": err, "error": error}
394
395 def _spawn(self, data):
396 flags = subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS
397 process = subprocess.Popen(data.get("command", ""), stdin=subprocess.DEVNULL,
398 stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL,
399 close_fds=True, creationflags=flags)
400 return {"pid": process.pid, "error": None}
401
402 def _shot(self):
403 b64, w, h, error = _safe_capture(None)
404 win = active_window()
405 return {"png_b64": b64, "w": w, "h": h, "error": error, "win": win}
406
407 def _ui(self):
408 win = active_window()
409 controls = control_tree()
410 return {"win": win, "controls": controls, "error": None}
411
412
413def keep_awake():
414 """Hold the display and system awake for as long as this process lives.
415
416 Screen blanking alone is harmless -- BitBlt still captures the composited
417 desktop -- but sleep kills the agent outright, and a locked session moves
418 the desktop to Winlogon where neither AutoHotkey nor the capture can reach.
419 """
420 ES_CONTINUOUS, ES_SYSTEM_REQUIRED, ES_DISPLAY_REQUIRED = 0x80000000, 0x1, 0x2
421 kernel32 = ctypes.windll.kernel32
422 kernel32.SetThreadExecutionState.restype = wintypes.DWORD
423 kernel32.SetThreadExecutionState.argtypes = [wintypes.DWORD]
424 return kernel32.SetThreadExecutionState(
425 ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED)
426
427
428def main():
429 user32.SetProcessDPIAware()
430 awake = keep_awake()
431 port = int(os.environ.get("WIN7_PORT", "8777"))
432 srv = ThreadingHTTPServer(("0.0.0.0", port), Handler)
433 log("win7-agent listening on 0.0.0.0:%d ahk=%s log=%s%s"
434 % (port, ahk_path(), LOG_PATH,
435 "" if awake else " (WARNING: could not inhibit sleep)"))
436 srv.serve_forever()
437
438
439if __name__ == "__main__":
440 main()
tools/w7/payload/bootstrap.cmd created+16
...@@ -0,0 +1,16 @@
1@echo off
2setlocal EnableExtensions
3set "ONEVM_HOSTNAME="
4for %%D in (D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist "%%D:\onenote-vm.ini" for /f "usebackq tokens=1,* delims==" %%A in ("%%D:\onenote-vm.ini") do (
5 if /i "%%A"=="HOSTNAME" set "ONEVM_HOSTNAME=%%B"
6 if /i "%%A"=="TOKEN" set "WIN7_TOKEN=%%B"
7)
8if not defined ONEVM_HOSTNAME goto agent
9if /i "%COMPUTERNAME%"=="%ONEVM_HOSTNAME%" goto agent
10wmic computersystem where name="%COMPUTERNAME%" call rename name="%ONEVM_HOSTNAME%" >"%~dp0bootstrap.log" 2>&1
11find "ReturnValue = 0;" "%~dp0bootstrap.log" >nul || exit /b 1
12shutdown /r /t 0
13exit /b
14
15:agent
16call "%~dp0run.bat"
tools/w7/payload/install-autostart.cmd created+4
...@@ -0,0 +1,4 @@
1@echo off
2reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v EnableLUA /t REG_DWORD /d 0 /f || exit /b 1
3reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v OneNoteWin7Agent /t REG_SZ /d "cmd.exe /c C:\win7-agent\bootstrap.cmd" /f || exit /b 1
4echo Restart Windows to finish.
tools/w7/payload/run.bat created+4
...@@ -0,0 +1,4 @@
1@echo off
2cd /d "%~dp0"
3if not defined WIN7_TOKEN if exist "token.txt" set /p WIN7_TOKEN=<token.txt
4start "win7-agent" /min "%~dp0vendor\python\python.exe" "%~dp0agent.py"
tools/w7/restart_agent.py created+35
...@@ -0,0 +1,35 @@
1"""Run through the old agent's detached spawn endpoint in a disposable clone."""
2import os
3import ctypes
4from ctypes import wintypes
5import subprocess
6import sys
7import time
8
9if len(sys.argv) != 2 or not sys.argv[1].startswith('ONE-M6-') or os.environ.get('COMPUTERNAME') != sys.argv[1]:
10 raise SystemExit('The disposable clone hostname does not match.')
11parent = os.getppid()
12kernel = ctypes.WinDLL('kernel32', use_last_error=True)
13kernel.OpenProcess.argtypes = (wintypes.DWORD, wintypes.BOOL, wintypes.DWORD)
14kernel.OpenProcess.restype = wintypes.HANDLE
15kernel.TerminateProcess.argtypes = (wintypes.HANDLE, wintypes.UINT)
16kernel.TerminateProcess.restype = wintypes.BOOL
17kernel.WaitForSingleObject.argtypes = (wintypes.HANDLE, wintypes.DWORD)
18kernel.WaitForSingleObject.restype = wintypes.DWORD
19kernel.CloseHandle.argtypes = (wintypes.HANDLE,)
20kernel.CloseHandle.restype = wintypes.BOOL
21handle = kernel.OpenProcess(0x100001, False, parent)
22if not handle:
23 raise ctypes.WinError(ctypes.get_last_error())
24time.sleep(0.5)
25try:
26 if not kernel.TerminateProcess(handle, 0):
27 raise ctypes.WinError(ctypes.get_last_error())
28 if kernel.WaitForSingleObject(handle, 5000) != 0:
29 raise RuntimeError('The old agent did not terminate.')
30finally:
31 kernel.CloseHandle(handle)
32with open(r'C:\one-tests\agent-restart.log', 'ab') as log:
33 subprocess.Popen([sys.executable, r'C:\win7-agent\agent.py'], stdin=subprocess.DEVNULL,
34 stdout=log, stderr=log, close_fds=True,
35 creationflags=subprocess.DETACHED_PROCESS | subprocess.CREATE_NEW_PROCESS_GROUP)
tools/w7/test_crash.py created+46
...@@ -0,0 +1,46 @@
1from pathlib import Path
2import signal
3import unittest
4from unittest.mock import Mock, patch
5
6import crash
7
8
9class AbruptStopTest(unittest.TestCase):
10 def backend(self):
11 backend = Mock()
12 backend.runtime.return_value = (Path('/lab/owned'), Path('/lab/owned/qmp.sock'), Mock(), None)
13 backend.runtime.return_value[2].read_text.return_value = '1234'
14 backend.qmp.return_value = {'name': 'OneNote Windows 7 owned'}
15 backend.running.side_effect = [True, False, False]
16 backend.instance_path.return_value.exists.return_value = True
17 return backend
18
19 def test_stops_identified_clone_and_preserves_machine(self):
20 backend = self.backend()
21 with patch.object(crash, 'vm', backend), patch.object(crash.subprocess, 'check_output', return_value='qemu-system-x86_64 -qmp unix:/lab/owned/qmp.sock'), patch.object(crash.os, 'kill') as stop:
22 result = crash.stop('windows', 'owned')
23 stop.assert_called_once_with(1234, signal.SIGKILL)
24 backend.load_instance.assert_called_once_with('owned')
25 backend.delete_instance.assert_not_called()
26 backend.shutdown.assert_not_called()
27 self.assertTrue(result['machine_preserved'])
28
29 def test_refuses_mismatched_vm_identity(self):
30 backend = self.backend()
31 backend.qmp.return_value = {'name': 'OneNote Windows 7 another'}
32 with patch.object(crash, 'vm', backend), patch.object(crash.os, 'kill') as stop:
33 with self.assertRaisesRegex(ValueError, 'identity'):
34 crash.stop('windows', 'owned')
35 stop.assert_not_called()
36
37 def test_refuses_pid_belonging_to_another_process(self):
38 backend = self.backend()
39 with patch.object(crash, 'vm', backend), patch.object(crash.subprocess, 'check_output', return_value='qemu-system-x86_64 -qmp unix:/lab/other/qmp.sock'), patch.object(crash.os, 'kill') as stop:
40 with self.assertRaisesRegex(ValueError, 'registered process'):
41 crash.stop('windows', 'owned')
42 stop.assert_not_called()
43
44
45if __name__ == '__main__':
46 unittest.main()
tools/w7/test_linux_vm.py created+69
...@@ -0,0 +1,69 @@
1import contextlib
2import io
3import json
4from pathlib import Path
5import subprocess
6import tempfile
7import unittest
8
9import linux_vm
10
11
12class LinuxVmLifecycleTest(unittest.TestCase):
13 def setUp(self):
14 names = ("VM_HOME", "LINUX_HOME", "IMAGES", "INSTANCES", "RUN", "BASE",
15 "BASE_MANIFEST")
16 self.original = {name: getattr(linux_vm, name) for name in names}
17 self.temporary = tempfile.TemporaryDirectory(prefix="one-linux-test-")
18 home = Path(self.temporary.name)
19 linux_vm.VM_HOME = home
20 linux_vm.LINUX_HOME = home / "linux"
21 linux_vm.IMAGES = linux_vm.LINUX_HOME / "images"
22 linux_vm.INSTANCES = linux_vm.LINUX_HOME / "instances"
23 linux_vm.RUN = linux_vm.LINUX_HOME / "run"
24 linux_vm.BASE = linux_vm.IMAGES / "base.qcow2"
25 linux_vm.BASE_MANIFEST = linux_vm.IMAGES / "base.json"
26 linux_vm.IMAGES.mkdir(parents=True)
27 subprocess.run([
28 linux_vm.executable("qemu-img"), "create", "-q", "-f", "qcow2",
29 str(linux_vm.BASE), "64M",
30 ], check=True)
31 linux_vm.BASE_MANIFEST.write_text("{}\n")
32
33 def tearDown(self):
34 self.temporary.cleanup()
35 for name, value in self.original.items():
36 setattr(linux_vm, name, value)
37
38 def test_clone_has_unique_ports_keys_network_and_removable_overlay(self):
39 with contextlib.redirect_stdout(io.StringIO()):
40 linux_vm.create_instance("samba")
41 linux_vm.create_instance("other")
42 config = json.loads(linux_vm.instance_path("samba").read_text())
43 other = json.loads(linux_vm.instance_path("other").read_text())
44 self.assertEqual(config["hostname"], "one-samba")
45 self.assertEqual(config["lab_address"], "192.168.77.1")
46 self.assertNotEqual(config["ssh_port"], other["ssh_port"])
47 self.assertNotEqual(config["samba_port"], other["samba_port"])
48 self.assertNotEqual(config["lab_mac"], other["lab_mac"])
49 self.assertEqual(linux_vm.key_path("samba").stat().st_mode & 0o777, 0o600)
50 known_hosts = next(
51 value for value in linux_vm.ssh_argv("samba")
52 if value.startswith("UserKnownHostsFile=")
53 )
54 self.assertEqual(known_hosts, 'UserKnownHostsFile="%s"' %
55 (linux_vm.INSTANCES / "samba.known_hosts"))
56 self.assertTrue(linux_vm.overlay_path("samba").is_file())
57 self.assertTrue(linux_vm.seed_path("samba").is_file())
58 with contextlib.redirect_stdout(io.StringIO()):
59 linux_vm.delete_instance("samba")
60 linux_vm.delete_instance("other")
61 self.assertFalse(linux_vm.instance_path("samba").exists())
62
63 def test_invalid_name_is_rejected(self):
64 with self.assertRaisesRegex(SystemExit, "lowercase"):
65 linux_vm.create_instance("Bad Name")
66
67
68if __name__ == "__main__":
69 unittest.main()
tools/w7/test_mcp.py created+34
...@@ -0,0 +1,34 @@
1import unittest
2
3import mcp_linux
4import mcp_win7
5
6
7class McpSurfaceTest(unittest.TestCase):
8 def test_windows_lifecycle_is_up_down_status(self):
9 tools = {tool["name"]: tool for tool in mcp_win7.TOOLS}
10 lifecycle = {name for name in tools if name.startswith("win7_vm_")}
11 self.assertEqual(lifecycle, {
12 "win7_vm_up", "win7_vm_down", "win7_vm_status",
13 })
14 self.assertIn("wait", tools["win7_vm_up"]["inputSchema"]["properties"])
15 self.assertIn(
16 "preserve_machine",
17 tools["win7_vm_down"]["inputSchema"]["properties"],
18 )
19
20 def test_linux_lifecycle_is_fetch_up_down_status(self):
21 tools = {tool["name"]: tool for tool in mcp_linux.TOOLS}
22 lifecycle = {name for name in tools if name.startswith("linux_vm_")}
23 self.assertEqual(lifecycle, {
24 "linux_vm_fetch", "linux_vm_up", "linux_vm_down", "linux_vm_status",
25 })
26 self.assertIn("wait", tools["linux_vm_up"]["inputSchema"]["properties"])
27 self.assertIn(
28 "preserve_machine",
29 tools["linux_vm_down"]["inputSchema"]["properties"],
30 )
31
32
33if __name__ == "__main__":
34 unittest.main()
tools/w7/test_vm.py created+72
...@@ -0,0 +1,72 @@
1import contextlib
2import io
3import json
4from pathlib import Path
5import subprocess
6import tempfile
7import unittest
8
9import vm
10
11
12class VmLifecycleTest(unittest.TestCase):
13 def setUp(self):
14 self.original = {name: getattr(vm, name) for name in (
15 "VM_HOME", "IMAGES", "MEDIA", "INSTANCES", "RUN", "DISK",
16 "BASE_DISK", "BASE_MANIFEST", "AGENT_ISO", "TARGETS",
17 )}
18 self.temporary = tempfile.TemporaryDirectory(prefix="one-vm-test-")
19 home = Path(self.temporary.name)
20 vm.VM_HOME = home
21 vm.IMAGES = home / "images"
22 vm.MEDIA = home / "media"
23 vm.INSTANCES = home / "instances"
24 vm.RUN = home / "run"
25 vm.DISK = vm.IMAGES / "win7-office-build.qcow2"
26 vm.BASE_DISK = vm.IMAGES / "win7-office-base.qcow2"
27 vm.BASE_MANIFEST = vm.IMAGES / "win7-office-base.json"
28 vm.AGENT_ISO = vm.MEDIA / "win7-agent.iso"
29 vm.TARGETS = home / "targets.json"
30 vm.IMAGES.mkdir(parents=True)
31 subprocess.run([
32 vm.qemu("qemu-img"), "create", "-q", "-f", "qcow2", str(vm.DISK), "64M"
33 ], check=True)
34 with contextlib.redirect_stdout(io.StringIO()):
35 vm.seal()
36
37 def tearDown(self):
38 self.temporary.cleanup()
39 for name, value in self.original.items():
40 setattr(vm, name, value)
41
42 def test_clone_has_unique_identity_and_removable_overlay(self):
43 output = io.StringIO()
44 with contextlib.redirect_stdout(output):
45 vm.create_instance("alpha")
46 vm.create_instance("beta")
47 config = json.loads(vm.instance_path("alpha").read_text())
48 other = json.loads(vm.instance_path("beta").read_text())
49 targets = json.loads(vm.TARGETS.read_text())
50 self.assertEqual(config["hostname"], "ONE-ALPHA")
51 self.assertEqual(targets["alpha"]["base"],
52 "http://127.0.0.1:%d" % config["port"])
53 self.assertEqual(targets["alpha"]["token"], config["token"])
54 self.assertNotEqual(config["hostname"], other["hostname"])
55 self.assertNotEqual(config["port"], other["port"])
56 self.assertNotEqual(config["token"], other["token"])
57 self.assertNotIn(config["token"], output.getvalue())
58 self.assertTrue((vm.IMAGES / "instances" / "alpha.qcow2").is_file())
59 self.assertTrue((vm.MEDIA / "instances" / "alpha.iso").is_file())
60 with contextlib.redirect_stdout(io.StringIO()):
61 vm.delete_instance("alpha")
62 vm.delete_instance("beta")
63 self.assertFalse(vm.instance_path("alpha").exists())
64 self.assertNotIn("alpha", json.loads(vm.TARGETS.read_text()))
65
66 def test_reserved_target_name_is_rejected(self):
67 with self.assertRaisesRegex(SystemExit, "reserved"):
68 vm.create_instance("local")
69
70
71if __name__ == "__main__":
72 unittest.main()
tools/w7/vm.py created+552
...@@ -0,0 +1,552 @@
1#!/usr/bin/env python3
2
3import argparse
4import fcntl
5import hashlib
6import json
7import os
8from pathlib import Path
9import re
10import secrets
11import shutil
12import socket
13import subprocess
14import tempfile
15import time
16import urllib.parse
17import urllib.error
18import urllib.request
19import uuid
20
21from lab_network import ensure_hub
22
23
24VM_HOME = Path(os.environ.get(
25 "ONE_VM_HOME", "/Volumes/Documents/OneNote VMs"
26)).expanduser()
27ISO = Path(os.environ.get(
28 "ONE_WIN7_ISO",
29 "/Volumes/clover/Documents/Windows7/Windows 7 Professional.ISO",
30))
31IMAGES = VM_HOME / "images"
32MEDIA = VM_HOME / "media"
33INSTANCES = VM_HOME / "instances"
34RUN = VM_HOME / "run"
35DISK = IMAGES / "win7-office-build.qcow2"
36BASE_DISK = IMAGES / "win7-office-base.qcow2"
37BASE_MANIFEST = IMAGES / "win7-office-base.json"
38AGENT_ISO = MEDIA / "win7-agent.iso"
39TARGETS = VM_HOME / "targets.json"
40BUILD = "win7-build"
41NAME = re.compile(r"[a-z0-9](?:[a-z0-9-]{0,9}[a-z0-9])?")
42HOSTNAME = re.compile(r"[A-Z0-9](?:[A-Z0-9-]{0,13}[A-Z0-9])?")
43
44
45def qemu(name):
46 path = shutil.which(name) or "/opt/homebrew/bin/" + name
47 if not Path(path).is_file():
48 raise SystemExit("Install QEMU with: /opt/homebrew/bin/brew install qemu")
49 return path
50
51
52def require_vm_home():
53 if len(VM_HOME.parts) > 2 and VM_HOME.parts[1] == "Volumes":
54 volume = Path("/Volumes") / VM_HOME.parts[2]
55 if not os.path.ismount(volume):
56 raise SystemExit("VM volume is not mounted: %s" % volume)
57
58
59def runtime(name):
60 root = RUN / name
61 return root, root / "qmp.sock", root / "qemu.pid", root / "qemu.log", root / "screen.png"
62
63
64def running(name=BUILD):
65 try:
66 os.kill(int(runtime(name)[2].read_text()), 0)
67 return True
68 except (FileNotFoundError, ProcessLookupError, ValueError):
69 return False
70
71
72def qmp(name, command, arguments=None):
73 qmp_socket = runtime(name)[1]
74 with socket.socket(socket.AF_UNIX) as client:
75 client.settimeout(5)
76 client.connect(str(qmp_socket))
77 stream = client.makefile("rwb", buffering=0)
78 stream.readline()
79 stream.write(b'{"execute":"qmp_capabilities"}\n')
80 while "return" not in json.loads(stream.readline()):
81 pass
82 request = {"execute": command}
83 if arguments:
84 request["arguments"] = arguments
85 stream.write((json.dumps(request) + "\n").encode())
86 while True:
87 response = json.loads(stream.readline())
88 if "return" in response:
89 return response["return"]
90 if "error" in response:
91 raise SystemExit(response["error"]["desc"])
92
93
94def launch(name, disk, port, mac, cpus, memory_mb, display, drives):
95 require_vm_home()
96 if running(name):
97 raise SystemExit("Windows is already running: %s" % name)
98 root, qmp_socket, pid, log_path, _shot = runtime(name)
99 root.mkdir(parents=True, exist_ok=True)
100 qmp_socket.unlink(missing_ok=True)
101 lab_socket = ensure_hub(VM_HOME)
102 command = [
103 qemu("qemu-system-x86_64"),
104 "-name", "OneNote Windows 7 " + name,
105 "-machine", "pc",
106 "-accel", "tcg,thread=multi",
107 "-cpu", "qemu64",
108 "-smp", str(cpus),
109 "-m", str(memory_mb),
110 "-drive", "file=%s,if=ide,format=qcow2,cache=writeback" % disk,
111 "-vga", "std",
112 "-display", display,
113 "-usb",
114 "-device", "usb-tablet",
115 "-netdev", "user,id=control,hostfwd=tcp:127.0.0.1:%d-:8777" % port,
116 "-device", "e1000,netdev=control,mac=%s" % mac,
117 "-netdev", "vde,id=lab,sock=%s" % lab_socket,
118 "-device", "e1000,netdev=lab,mac=%s" % lab_mac(name),
119 "-uuid", uuid_for(name),
120 "-rtc", "base=localtime,clock=host,driftfix=slew",
121 "-qmp", "unix:%s,server=on,wait=off" % qmp_socket,
122 "-pidfile", str(pid),
123 ]
124 for drive in drives:
125 command += ["-drive", drive]
126 with log_path.open("ab") as log:
127 subprocess.Popen(
128 command,
129 stdin=subprocess.DEVNULL,
130 stdout=log,
131 stderr=log,
132 start_new_session=True,
133 )
134 for _ in range(50):
135 if running(name):
136 print("Windows opened: %s" % name)
137 return
138 time.sleep(0.1)
139 raise SystemExit("Windows did not open. Check: %s" % log_path)
140
141
142def start_build(install):
143 if install and not ISO.is_file():
144 raise SystemExit("Windows ISO not found: %s" % ISO)
145 if not DISK.exists():
146 if not install:
147 raise SystemExit("No Windows disk found. Run: ./vm.py install")
148 IMAGES.mkdir(parents=True, exist_ok=True)
149 subprocess.run(
150 [qemu("qemu-img"), "create", "-f", "qcow2", str(DISK), "64G"],
151 check=True,
152 )
153 drives = []
154 if install:
155 drives.append("file=%s,file.locking=off,if=ide,media=cdrom,readonly=on" % ISO)
156 elif AGENT_ISO.exists():
157 drives.append("file=%s,file.locking=off,if=ide,media=cdrom,readonly=on" % AGENT_ISO)
158 launch(BUILD, DISK, 18777, "52:54:00:10:77:01", 4, 4096, "cocoa", drives)
159
160
161def instance_path(name):
162 return INSTANCES / (name + ".json")
163
164
165def validate_name(name):
166 if not NAME.fullmatch(name):
167 raise SystemExit("VM name must be 1-11 lowercase letters, digits, or hyphens")
168
169
170def load_instance(name):
171 validate_name(name)
172 try:
173 return json.loads(instance_path(name).read_text())
174 except FileNotFoundError:
175 raise SystemExit("VM does not exist: %s" % name)
176 except (OSError, ValueError) as e:
177 raise SystemExit("Cannot read VM %s: %s" % (name, e))
178
179
180def atomic_json(path, value):
181 path.parent.mkdir(parents=True, exist_ok=True)
182 temporary = path.with_suffix(path.suffix + ".tmp")
183 temporary.write_text(json.dumps(value, indent=2, sort_keys=True) + "\n")
184 temporary.replace(path)
185
186
187def configs():
188 if not INSTANCES.exists():
189 return []
190 rows = []
191 for path in sorted(INSTANCES.glob("*.json")):
192 try:
193 rows.append((path.stem, json.loads(path.read_text())))
194 except (OSError, ValueError) as e:
195 raise SystemExit("Cannot read VM manifest %s: %s" % (path, e))
196 return rows
197
198
199def available_port(requested=None):
200 used = {18777}
201 used.update(config["port"] for _name, config in configs())
202 candidates = [requested] if requested else range(18778, 18878)
203 for port in candidates:
204 if port is None or port < 1024 or port > 65535 or port in used:
205 continue
206 with socket.socket() as probe:
207 try:
208 probe.bind(("127.0.0.1", port))
209 except OSError:
210 continue
211 return port
212 raise SystemExit("No unused control port is available")
213
214
215def mac_for(port):
216 return "52:54:00:01:%02x:%02x" % (port >> 8, port & 0xff)
217
218
219def uuid_for(name):
220 return str(uuid.uuid5(uuid.NAMESPACE_URL, "onenote-vm:" + name))
221
222
223def lab_mac(name):
224 tail = uuid.UUID(uuid_for(name)).bytes[-3:]
225 return "52:54:02:%02x:%02x:%02x" % tuple(tail)
226
227
228def make_instance_iso(path, hostname, token):
229 path.parent.mkdir(parents=True, exist_ok=True)
230 with tempfile.TemporaryDirectory(prefix="one-vm-") as temporary:
231 root = Path(temporary)
232 (root / "onenote-vm.ini").write_text(
233 "HOSTNAME=%s\r\nTOKEN=%s\r\n" % (hostname, token)
234 )
235 subprocess.run([
236 "hdiutil", "makehybrid", "-quiet", "-iso", "-joliet",
237 "-default-volume-name", "ONEVM", "-o", str(path), str(root),
238 ], check=True)
239
240
241def build_agent_iso():
242 require_vm_home()
243 MEDIA.mkdir(parents=True, exist_ok=True)
244 temporary = AGENT_ISO.with_suffix(".tmp.iso")
245 temporary.unlink(missing_ok=True)
246 try:
247 subprocess.run([
248 "hdiutil", "makehybrid", "-quiet", "-iso", "-joliet",
249 "-default-volume-name", "WIN7_AGENT", "-o", str(temporary),
250 str(Path(__file__).with_name("payload")),
251 ], check=True)
252 temporary.replace(AGENT_ISO)
253 except Exception:
254 temporary.unlink(missing_ok=True)
255 raise
256 print(AGENT_ISO)
257
258
259def update_target(name, port=None, token=None):
260 try:
261 targets = json.loads(TARGETS.read_text())
262 except FileNotFoundError:
263 targets = {}
264 except (OSError, ValueError) as e:
265 raise SystemExit("Cannot read %s: %s" % (TARGETS, e))
266 if port is None:
267 targets.pop(name, None)
268 else:
269 targets[name] = {"base": "http://127.0.0.1:%d" % port, "token": token}
270 atomic_json(TARGETS, targets)
271 TARGETS.chmod(0o600)
272
273
274def create_instance(name, hostname=None, cpus=2, memory_mb=4096, port=None):
275 require_vm_home()
276 validate_name(name)
277 if name in ("local", "wayback", BUILD):
278 raise SystemExit("VM name is reserved: %s" % name)
279 hostname = (hostname or ("ONE-" + name)).upper()
280 if not HOSTNAME.fullmatch(hostname):
281 raise SystemExit("Hostname must be 1-15 letters, digits, or hyphens")
282 if not 1 <= cpus <= 16:
283 raise SystemExit("CPU count must be between 1 and 16")
284 if not 1024 <= memory_mb <= 65536:
285 raise SystemExit("Memory must be between 1024 and 65536 MiB")
286 if not BASE_DISK.is_file() or not BASE_MANIFEST.is_file():
287 raise SystemExit("No sealed base image. Finish the build, then run: ./vm.py seal")
288 VM_HOME.mkdir(parents=True, exist_ok=True)
289 with (VM_HOME / ".lock").open("a") as lock:
290 fcntl.flock(lock, fcntl.LOCK_EX)
291 if instance_path(name).exists():
292 raise SystemExit("VM already exists: %s" % name)
293 if any(c.get("hostname", "").upper() == hostname.upper() for _n, c in configs()):
294 raise SystemExit("Hostname is already in use: %s" % hostname)
295 port = available_port(port)
296 token = secrets.token_urlsafe(24)
297 overlay = IMAGES / "instances" / (name + ".qcow2")
298 instance_iso = MEDIA / "instances" / (name + ".iso")
299 if overlay.exists() or instance_iso.exists():
300 raise SystemExit("VM artifacts already exist without a manifest: %s" % name)
301 overlay.parent.mkdir(parents=True, exist_ok=True)
302 temporary = overlay.with_suffix(".tmp.qcow2")
303 try:
304 subprocess.run([
305 qemu("qemu-img"), "create", "-f", "qcow2", "-F", "qcow2",
306 "-b", str(BASE_DISK), str(temporary),
307 ], check=True)
308 make_instance_iso(instance_iso, hostname, token)
309 instance_iso.chmod(0o600)
310 temporary.replace(overlay)
311 config = {"cpus": cpus, "hostname": hostname, "memory_mb": memory_mb,
312 "port": port, "token": token}
313 atomic_json(instance_path(name), config)
314 instance_path(name).chmod(0o600)
315 update_target(name, port, token)
316 except Exception:
317 temporary.unlink(missing_ok=True)
318 instance_iso.unlink(missing_ok=True)
319 overlay.unlink(missing_ok=True)
320 instance_path(name).unlink(missing_ok=True)
321 raise
322 print(json.dumps({"cpus": cpus, "hostname": hostname, "memory_mb": memory_mb,
323 "name": name, "port": port}, sort_keys=True))
324
325
326def start_instance(name, display=False):
327 config = load_instance(name)
328 overlay = IMAGES / "instances" / (name + ".qcow2")
329 instance_iso = MEDIA / "instances" / (name + ".iso")
330 if not overlay.is_file() or not instance_iso.is_file():
331 raise SystemExit("VM artifacts are incomplete: %s" % name)
332 drives = []
333 for drive in (AGENT_ISO, instance_iso):
334 if drive.is_file():
335 drives.append("file=%s,file.locking=off,if=ide,media=cdrom,readonly=on" % drive)
336 launch(name, overlay, config["port"], mac_for(config["port"]), config["cpus"],
337 config["memory_mb"], "cocoa" if display else "none", drives)
338
339
340def wait_instance(name, timeout):
341 config = load_instance(name)
342 deadline = time.monotonic() + timeout
343 request = urllib.request.Request(
344 "http://127.0.0.1:%d/health" % config["port"],
345 headers={"X-Win7-Token": config["token"]},
346 )
347 while time.monotonic() < deadline:
348 try:
349 with urllib.request.urlopen(request, timeout=2) as response:
350 health = json.load(response)
351 if health.get("hostname", "").upper() == config["hostname"]:
352 print("Ready: %s (%s)" % (name, config["hostname"]))
353 return
354 except (urllib.error.URLError, OSError, ValueError):
355 pass
356 time.sleep(1)
357 raise SystemExit("VM did not become ready within %d seconds: %s" % (timeout, name))
358
359
360def poweroff(name=BUILD):
361 if not running(name):
362 raise SystemExit("Windows is not running: %s" % name)
363 qmp(name, "system_powerdown")
364 print("Windows is shutting down: %s" % name)
365
366
367def shutdown(name, timeout):
368 poweroff(name)
369 deadline = time.monotonic() + timeout
370 while time.monotonic() < deadline:
371 if not running(name):
372 print("Windows stopped: %s" % name)
373 return
374 time.sleep(1)
375 raise SystemExit("Windows did not stop within %d seconds: %s" % (timeout, name))
376
377
378def screenshot(name=BUILD):
379 if not running(name):
380 raise SystemExit("Windows is not running: %s" % name)
381 shot = runtime(name)[4]
382 qmp(name, "screendump", {"filename": str(shot), "format": "png"})
383 print(shot)
384
385
386def delete_instance(name):
387 require_vm_home()
388 with (VM_HOME / ".lock").open("a") as lock:
389 fcntl.flock(lock, fcntl.LOCK_EX)
390 load_instance(name)
391 if running(name):
392 raise SystemExit("Shut down Windows before deleting: %s" % name)
393 (IMAGES / "instances" / (name + ".qcow2")).unlink(missing_ok=True)
394 (MEDIA / "instances" / (name + ".iso")).unlink(missing_ok=True)
395 instance_path(name).unlink()
396 shutil.rmtree(runtime(name)[0], ignore_errors=True)
397 update_target(name)
398 print("Deleted VM: %s" % name)
399
400
401def seal():
402 require_vm_home()
403 if running(BUILD):
404 raise SystemExit("Shut down Windows before sealing the base image")
405 if not DISK.exists():
406 raise SystemExit("No Windows build disk found")
407 temporary = BASE_DISK.with_suffix(".tmp.qcow2")
408 if BASE_DISK.exists() or temporary.exists():
409 raise SystemExit("Move the existing base image before sealing another")
410 subprocess.run([qemu("qemu-img"), "check", str(DISK)], check=True)
411 subprocess.run([qemu("qemu-img"), "convert", "-p", "-O", "qcow2",
412 "-o", "lazy_refcounts=off", str(DISK), str(temporary)], check=True)
413 subprocess.run([qemu("qemu-img"), "check", str(temporary)], check=True)
414 temporary.replace(BASE_DISK)
415 digest = hashlib.sha256()
416 with BASE_DISK.open("rb") as image:
417 while chunk := image.read(8 * 1024 * 1024):
418 digest.update(chunk)
419 info = json.loads(subprocess.check_output([
420 qemu("qemu-img"), "info", "--output=json", str(BASE_DISK),
421 ]))
422 atomic_json(BASE_MANIFEST, {"file": BASE_DISK.name, "format": info["format"],
423 "sha256": digest.hexdigest(),
424 "virtual_size": info["virtual-size"]})
425 BASE_DISK.chmod(0o444)
426 print(BASE_MANIFEST)
427
428
429def fetch_base(manifest_url):
430 require_vm_home()
431 if BASE_DISK.exists() or BASE_MANIFEST.exists():
432 raise SystemExit("Move the existing base image before fetching another")
433 headers = {}
434 if os.environ.get("ONE_VM_AUTHORIZATION"):
435 headers["Authorization"] = os.environ["ONE_VM_AUTHORIZATION"]
436 with urllib.request.urlopen(urllib.request.Request(manifest_url, headers=headers)) as response:
437 manifest = json.load(response)
438 expected = manifest.get("sha256", "").lower()
439 if not re.fullmatch(r"[0-9a-f]{64}", expected):
440 raise SystemExit("Base manifest has no valid SHA-256")
441 image_url = urllib.parse.urljoin(manifest_url, manifest.get("file", ""))
442 IMAGES.mkdir(parents=True, exist_ok=True)
443 temporary = BASE_DISK.with_suffix(".download.qcow2")
444 digest = hashlib.sha256()
445 try:
446 with urllib.request.urlopen(urllib.request.Request(image_url, headers=headers)) as response:
447 with temporary.open("wb") as output:
448 while chunk := response.read(8 * 1024 * 1024):
449 output.write(chunk)
450 digest.update(chunk)
451 if digest.hexdigest() != expected:
452 temporary.unlink(missing_ok=True)
453 raise SystemExit("Downloaded base image failed SHA-256 verification")
454 subprocess.run([qemu("qemu-img"), "check", str(temporary)], check=True)
455 temporary.replace(BASE_DISK)
456 BASE_DISK.chmod(0o444)
457 atomic_json(BASE_MANIFEST, dict(manifest, file=BASE_DISK.name))
458 except Exception:
459 temporary.unlink(missing_ok=True)
460 raise
461 print(BASE_MANIFEST)
462
463
464def list_instances():
465 rows = configs()
466 if not rows:
467 print("No Windows VMs.")
468 return
469 for name, config in rows:
470 state = "running" if running(name) else "stopped"
471 print("%-11s %-15s %-7s http://127.0.0.1:%d" %
472 (name, config["hostname"], state, config["port"]))
473
474
475def main():
476 parser = argparse.ArgumentParser(description="Run OneNote Windows 7 VMs")
477 commands = parser.add_subparsers(dest="command", required=True)
478 commands.add_parser("install")
479 commands.add_parser("run")
480 status = commands.add_parser("status")
481 status.add_argument("name", nargs="?")
482 power = commands.add_parser("poweroff")
483 power.add_argument("name", nargs="?", default=BUILD)
484 shot = commands.add_parser("screenshot")
485 shot.add_argument("name", nargs="?", default=BUILD)
486 commands.add_parser("seal")
487 commands.add_parser("media")
488 up = commands.add_parser("up")
489 up.add_argument("name")
490 up.add_argument("--hostname")
491 up.add_argument("--cpus", type=int, default=2)
492 up.add_argument("--memory", type=int, default=4096, dest="memory_mb")
493 up.add_argument("--port", type=int)
494 up.add_argument("--display", action="store_true")
495 up.add_argument("--wait", action="store_true")
496 up.add_argument("--timeout", type=int, default=300)
497 down = commands.add_parser("down")
498 down.add_argument("name")
499 down.add_argument("--timeout", type=int, default=60)
500 down.add_argument("--preserve-machine", action="store_true")
501 fetch = commands.add_parser("fetch")
502 fetch.add_argument("manifest_url")
503 args = parser.parse_args()
504 if args.command == "install":
505 start_build(True)
506 elif args.command == "run":
507 start_build(False)
508 elif args.command == "status":
509 if args.name:
510 if args.name == BUILD:
511 print("running" if running(args.name) else "stopped")
512 elif not instance_path(args.name).exists():
513 print("absent")
514 else:
515 load_instance(args.name)
516 print("running" if running(args.name) else "stopped")
517 else:
518 list_instances()
519 elif args.command == "poweroff":
520 poweroff(args.name)
521 elif args.command == "screenshot":
522 screenshot(args.name)
523 elif args.command == "seal":
524 seal()
525 elif args.command == "media":
526 build_agent_iso()
527 elif args.command == "up":
528 if not instance_path(args.name).exists():
529 create_instance(args.name, args.hostname, args.cpus, args.memory_mb, args.port)
530 if running(args.name):
531 print("Windows already running: %s" % args.name)
532 else:
533 start_instance(args.name, args.display)
534 if args.wait:
535 wait_instance(args.name, args.timeout)
536 elif args.command == "down":
537 if not instance_path(args.name).exists():
538 print("VM absent: %s" % args.name)
539 else:
540 load_instance(args.name)
541 if running(args.name):
542 shutdown(args.name, args.timeout)
543 if args.preserve_machine:
544 print("Preserved VM: %s" % args.name)
545 else:
546 delete_instance(args.name)
547 else:
548 fetch_base(args.manifest_url)
549
550
551if __name__ == "__main__":
552 main()
tools/zenith-locks created+132
...@@ -0,0 +1,132 @@
1#!/usr/bin/env python3
2"""Watch SMB byte-range locks on zenith (TrueNAS) as OneNote takes and drops them."""
3import json
4import os
5import subprocess
6import sys
7import time
8
9HOST = "10.0.0.1"
10SSH = ["ssh", "-o", "BatchMode=yes", "-o", "ControlMaster=auto",
11 "-o", "ControlPath=/tmp/zenith-locks-%r@%h:%p", "-o", "ControlPersist=30s", HOST]
12SEP = "--%%--"
13
14
15def agent_socket():
16 """SSH_AUTH_SOCK is usually absent here; find a live agent that holds an identity."""
17 pids = subprocess.run(["pgrep", "ssh-agent"], capture_output=True, text=True).stdout.split()
18 for pid in pids:
19 out = subprocess.run(["lsof", "-a", "-U", "-p", pid], capture_output=True, text=True).stdout
20 for word in out.split():
21 if "/agent." not in word:
22 continue
23 env = dict(os.environ, SSH_AUTH_SOCK=word)
24 if subprocess.run(["ssh-add", "-l"], env=env, capture_output=True).returncode == 0:
25 return word
26 return None
27
28
29def connect():
30 if subprocess.run(SSH + ["true"], capture_output=True).returncode == 0:
31 return
32 sock = agent_socket()
33 if sock is None:
34 sys.exit("no ssh-agent with a loaded identity; cannot reach %s" % HOST)
35 os.environ["SSH_AUTH_SOCK"] = sock
36 if subprocess.run(SSH + ["true"], capture_output=True).returncode != 0:
37 sys.exit("ssh %s failed even with agent %s" % (HOST, sock))
38
39
40def status(*views):
41 cmd = (" ; echo %s ; " % SEP).join("midclt call smb.status " + v for v in views)
42 out = subprocess.run(SSH + [cmd], capture_output=True, text=True)
43 if out.returncode != 0:
44 sys.exit(out.stderr.strip() or "ssh failed")
45 return [json.loads(chunk) for chunk in out.stdout.split(SEP + "\n")]
46
47
48def locks(byterange):
49 """(share_path, file, pid, type, start, size) per held range."""
50 for entry in byterange:
51 for lk in entry["locks"]:
52 yield (entry["share_path"], entry["file_name"], lk["server_id"]["pid"],
53 lk["type"], lk["start"], lk["size"])
54
55
56def table(rows, headers):
57 rows = [[str(c) for c in r] for r in rows]
58 width = [max(len(h), *(len(r[i]) for r in rows)) for i, h in enumerate(headers)]
59 for r in [headers] + rows:
60 print(" ".join(c.ljust(w) for c, w in zip(r, width)).rstrip())
61
62
63def show_locks():
64 byterange, openfiles, shares = status("BYTERANGE", "LOCKS", "SHARES")
65 held = sorted(locks(byterange))
66 if not held:
67 print("no byte-range locks held")
68 return
69 machine = {s["server_id"]["pid"]: s["machine"] for s in shares}
70 user = {}
71 for f in openfiles:
72 for o in f["opens"].values():
73 user[(f["service_path"], f["filename"], o["server_id"]["pid"])] = o["username"]
74 rows = []
75 for share, name, pid, typ, start, size in held:
76 who = user.get((share, name, pid), "?")
77 rows.append(["%s/%s" % (os.path.basename(share), os.path.basename(name)), pid, who,
78 machine.get(pid, "?"), start, size,
79 {"W": "write", "R": "read"}.get(typ, typ)])
80 table(rows, ["FILE", "PID", "USER", "CLIENT", "OFFSET", "LENGTH", "TYPE"])
81
82
83def show_opens():
84 openfiles, shares = status("LOCKS", "SHARES")
85 machine = {s["server_id"]["pid"]: s["machine"] for s in shares}
86 rows = []
87 for f in openfiles:
88 share = os.path.basename(f["service_path"])
89 for o in f["opens"].values():
90 pid = o["server_id"]["pid"]
91 rows.append(["%s/%s" % (share, f["filename"]), pid, o["username"],
92 machine.get(pid, "?"), o["access_mask"]["text"] or "-",
93 o["sharemode"]["text"] or "-", o["opened_at"][11:23]])
94 if not rows:
95 print("no open files")
96 return
97 table(sorted(rows), ["FILE", "PID", "USER", "CLIENT", "ACCESS", "SHAREMODE", "OPENED"])
98
99
100def watch(interval):
101 prev = set()
102 while True:
103 now = set(locks(status("BYTERANGE")[0]))
104 t = time.time()
105 stamp = time.strftime("%H:%M:%S", time.localtime(t)) + ".%03d" % (t % 1 * 1000)
106 for sign, changed in (("-", prev - now), ("+", now - prev)):
107 for share, name, pid, typ, start, size in sorted(changed):
108 print("%s %s %s/%s pid=%s %s %d+%d" %
109 (stamp, sign, os.path.basename(share), os.path.basename(name), pid,
110 {"W": "write", "R": "read"}.get(typ, typ), start, size), flush=True)
111 prev = now
112 time.sleep(interval)
113
114
115def main():
116 args = sys.argv[1:]
117 connect()
118 if args and args[0] == "--watch":
119 watch(float(args[1]) if len(args) > 1 else 0.5)
120 elif args == ["--opens"]:
121 show_opens()
122 elif not args:
123 show_locks()
124 else:
125 sys.exit("usage: zenith-locks [--watch [SECONDS] | --opens]")
126
127
128if __name__ == "__main__":
129 try:
130 main()
131 except KeyboardInterrupt:
132 pass