From 6f17efcb9856f57cde82d268226e721da685a48c Mon Sep 17 00:00:00 2001 From: Yilin Jing Date: Mon, 7 Sep 2026 07:26:46 -0400 Subject: [PATCH 1/2] flashcard-onboarding: four screens cloned from a screen recording The first canvas in this repo whose only source is a video rather than a screenshot, and the README is written around what that changes. Four onboarding screens of a flashcard app, from a clip posted on X, in 13 boards: a token board for 28 tokens, three evidence boards, an art board for the seven crops, the four replicas, and the video frame parked under each one column-for-column. A fresh clone builds nine of those; the ref-* boards are gitignored and layout.json names them either way, because the canvas drops a row entry whose file it cannot find. Mean absolute delta 6.17-7.05 levels of 255. That is two to four times duolingo-ios', and it is the medium, not the geometry: at 1.337 capture px per design pt every glyph is three pixels tall through an H.264 encoder, so the cropped hero art scores 1.0-3.5 while the type zone scores 7.7-14.2 with every string inside 1.5pt of its reference ink box. Three findings cost the most and are documented: - letter-spacing inherits as a computed length, not a ratio. An em set on body reaches a 36px title as body's own -0.4px, which reads exactly like a display size that wants its own token. Setting the same var on each type rule took the four screens from 8.20/8.18/7.01/7.66 to 6.09/6.23/5.77/6.66 and deleted the second tracking token. - The face is SF Pro tracked at a single -.025em, settled by character count rather than by width: tracking sheds width per gap, a narrower face sheds it per width, and the observed ratio 0.391 matches 0.371 against 0.533. - LANCZOS undershoot in the downscale step read as a 20-level ink-core error. Image.BOX took the 13 colour probes from mean dmax 4.6 to 0.9. The chrome is the repo's, not the source's, and both halves of that are priced rather than asserted: the phone frame at 1.00 delta per screen and the template's status bar at a flat 0.42, the same figure on all four. Co-Authored-By: Claude Opus 5 --- mockups/canvases/README.md | 22 + .../00-design-tokens.html | 102 +++ .../flashcard-onboarding/00b-evidence.html | 102 +++ .../flashcard-onboarding/00c-evidence.html | 102 +++ .../flashcard-onboarding/00d-evidence.html | 102 +++ .../flashcard-onboarding/00e-art.html | 123 ++++ .../flashcard-onboarding/01-learn.html | 99 +++ .../flashcard-onboarding/02-challenges.html | 99 +++ .../flashcard-onboarding/03-rankings.html | 99 +++ .../flashcard-onboarding/04-master.html | 99 +++ .../canvases/flashcard-onboarding/README.md | 189 ++++++ .../assets/art/01-hero.png | Bin 0 -> 159227 bytes .../assets/art/01-path.png | Bin 0 -> 7129 bytes .../assets/art/02-hero.png | Bin 0 -> 106815 bytes .../assets/art/02-path.png | Bin 0 -> 8835 bytes .../assets/art/03-hero.png | Bin 0 -> 95383 bytes .../assets/art/03-path.png | Bin 0 -> 10955 bytes .../assets/art/04-cup.png | Bin 0 -> 55609 bytes .../canvases/flashcard-onboarding/crops.json | 52 ++ mockups/canvases/flashcard-onboarding/gen.py | 598 ++++++++++++++++++ .../canvases/flashcard-onboarding/layout.json | 74 +++ .../canvases/flashcard-onboarding/probes.json | 408 ++++++++++++ 22 files changed, 2270 insertions(+) create mode 100644 mockups/canvases/flashcard-onboarding/00-design-tokens.html create mode 100644 mockups/canvases/flashcard-onboarding/00b-evidence.html create mode 100644 mockups/canvases/flashcard-onboarding/00c-evidence.html create mode 100644 mockups/canvases/flashcard-onboarding/00d-evidence.html create mode 100644 mockups/canvases/flashcard-onboarding/00e-art.html create mode 100644 mockups/canvases/flashcard-onboarding/01-learn.html create mode 100644 mockups/canvases/flashcard-onboarding/02-challenges.html create mode 100644 mockups/canvases/flashcard-onboarding/03-rankings.html create mode 100644 mockups/canvases/flashcard-onboarding/04-master.html create mode 100644 mockups/canvases/flashcard-onboarding/README.md create mode 100644 mockups/canvases/flashcard-onboarding/assets/art/01-hero.png create mode 100644 mockups/canvases/flashcard-onboarding/assets/art/01-path.png create mode 100644 mockups/canvases/flashcard-onboarding/assets/art/02-hero.png create mode 100644 mockups/canvases/flashcard-onboarding/assets/art/02-path.png create mode 100644 mockups/canvases/flashcard-onboarding/assets/art/03-hero.png create mode 100644 mockups/canvases/flashcard-onboarding/assets/art/03-path.png create mode 100644 mockups/canvases/flashcard-onboarding/assets/art/04-cup.png create mode 100644 mockups/canvases/flashcard-onboarding/crops.json create mode 100644 mockups/canvases/flashcard-onboarding/gen.py create mode 100644 mockups/canvases/flashcard-onboarding/layout.json create mode 100644 mockups/canvases/flashcard-onboarding/probes.json diff --git a/mockups/canvases/README.md b/mockups/canvases/README.md index b0a304a1..e361c2f8 100644 --- a/mockups/canvases/README.md +++ b/mockups/canvases/README.md @@ -273,6 +273,28 @@ folder are invisible to it. painted over five text classes without an error. `assets/art/` and `assets/art-gen/` are committed; the eight `ref-*` boards are gitignored, so a fresh clone has 13. +- `flashcard-onboarding/`: the run to read when the only source is a **screen + recording**. Four onboarding screens of a flashcard app, from a clip posted + on X, in 13 boards across three rows: a token board, three evidence boards + for 28 tokens, an art board for 7 crops, the four replicas, and the video + frame behind each one column-for-column underneath. Mean absolute delta is + 6.17-7.05 levels (of 255), two to four times `duolingo-ios`', and the gap is + the medium: at 1.337 capture px per design pt a glyph is three pixels tall + through an H.264 encoder, so a sharp render scores an error the geometry + does not contain - the cropped hero art sits at 1.0-3.5 while the type zone + sits at 7.7-14.2 with every string inside 1.5pt of its reference box. Its + `README.md` carries the three findings that cost the most: + **`letter-spacing` inherits as a computed length**, so an `em` set on `body` + reaches a 36px title as body's own -0.4px and tracks it at a third of the + intent, which reads exactly like a display size that wants its own value; + the whole design is tracked at a single **-.025em**, proved by character + count rather than by width, which is also what told SF Pro from SF Pro + Rounded; and **LANCZOS undershoot** in the downscale step, which read as a + 20-level ink-core error until the resample became an area average. It also + prices the one deliberate deviation - the source's phone frame is a mockup + asset, with a 118 x 4.5 home indicator at bottom 2.5 - at exactly 1.00 delta + per screen. `assets/art/` is committed; the four `ref-*` boards are + gitignored, so a fresh clone has 9. - `spotify-ios/`: the run to read when the brand face is unavailable and the screens are mostly type. Five screens of the Spotify iOS app - the home feed at two scroll positions, two full-screen promo modals and the Spotify diff --git a/mockups/canvases/flashcard-onboarding/00-design-tokens.html b/mockups/canvases/flashcard-onboarding/00-design-tokens.html new file mode 100644 index 00000000..b709d210 --- /dev/null +++ b/mockups/canvases/flashcard-onboarding/00-design-tokens.html @@ -0,0 +1,102 @@ + + + + +Flashcard Onboarding - Design Tokens + + + +

Flashcard Onboarding

Four onboarding screens, measured off a 1080 × 1350 video at 1.337 capture px per design pt. Every value below is a measurement; the row that justifies it is on 00b, and the probe that produced it is in probes.json.

Colour

--f-bg#FFFFFF
--f-card#FDFAF4
--f-track#F4F4F4
--f-pill-off#C1C1C1
--f-hairline#EFEFEF
--f-ink#000000
--f-ink-mid#3A3A3A
--f-ink-2#7E7E7E
--f-ink-inv#FFFFFF
--f-accent#F39D05
--f-pill-darklinear-gradient(180deg,#8A8A8A 0,#3C3C3C 6.8px,#141414 15.7px,#0F0F0F 30px,#090909 41px,#040404 100%)
--f-pill-greylinear-gradient(180deg,#DADADA 0,#D2D2D2 4.5px,#C4C4C4 9.8px,#C1C1C1 30px,#C1C1C1 100%)
--f-btn-darklinear-gradient(180deg,#8A8A8A 0,#3C3C3C 5px,#000000 12px,#000000 100%)

Radius

999px

Type

Grumpy wizards--f-t-eyebrow · 600 15px/18px
Grumpy wizards--f-t-title · 700 36px/42.3px
Grumpy wizards--f-t-sub · 400 15px/18.7px
Grumpy wizards--f-t-btn · 600 20px/24px
Grumpy wizards--f-t-legal · 400 13px/17.2px
Grumpy wizards--f-t-time · 590 17px/22px

Metrics

--f-w: 393px
--f-h: 852px
--f-status: 54px
--f-nav-y: 768.7px
--f-nav-h: 56.8px
+ + diff --git a/mockups/canvases/flashcard-onboarding/00b-evidence.html b/mockups/canvases/flashcard-onboarding/00b-evidence.html new file mode 100644 index 00000000..6cac0f10 --- /dev/null +++ b/mockups/canvases/flashcard-onboarding/00b-evidence.html @@ -0,0 +1,102 @@ + + + + +Flashcard Onboarding - Evidence 1/3 + + + +

Evidence 1/3

One row per token. A token with no evidence is a guess.

--f-fontsystem-ui,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serifSF Pro, not Rounded: the terminals on 'Create Account' are cut, not round, at 3x. Four measured strings run 3.3-5.2% narrower than system-ui, a 1.9-point spread that --f-tracking absorbs, against 2.5-7.1% and a 4.6-point spread for SF Pro Rounded
--f-tracking-.025emevery string is narrower than its untracked setting by an amount that scales with character count, not with width: 5.0px over 13 gaps on the eyebrow and 12.8 over 35 on the subtitle, ratio .391 against .371 predicted by tracking and .533 by a narrower face. The four strings solve to -.0257, -.0244, -.0248 and -.0266em across 15px and 36px, so one figure covers the whole ramp. It has to be set on each rule: letter-spacing inherits as a computed length, so an em on body reaches a 36px title as body's own -.4px and tracks it at a third of the intent
--f-bg#FFFFFFflat census on c4 y700-760 is 100% #FDFDFD, but 2801 px elsewhere hit 255: the 2-level floor is H.264 flat-field quantization, not an off-white
--f-card#FDFAF4flat run c4 row 185, x 97.4..285.9 -- the warm panel behind the trophy
--f-track#F4F4F4flat run c1 col 120, y 770.2..787.4 and 800.9..824.8 -- the nav track
--f-pill-off#C1C1C1flat census inside the disabled back pill, 50.6% of 3221 flat px
--f-hairline#EFEFEFLogin outline: c4 row 651 x 364.0..365.5, c4 col 40 y 623.3..625.5
--f-ink#000000ink core (darkest 2%) of the eyebrow, both title lines and the legal bold
--f-ink-mid#3A3A3Aink core of the Login label, c4
--f-ink-2#7E7E7Esubtitle ink core #7D7D7D on c1 and c4, legal-line grey #7F7F7F; one token at the midpoint
+ + diff --git a/mockups/canvases/flashcard-onboarding/00c-evidence.html b/mockups/canvases/flashcard-onboarding/00c-evidence.html new file mode 100644 index 00000000..5b7ca04b --- /dev/null +++ b/mockups/canvases/flashcard-onboarding/00c-evidence.html @@ -0,0 +1,102 @@ + + + + +Flashcard Onboarding - Evidence 2/3 + + + +

Evidence 2/3

One row per token. A token with no evidence is a guess.

--f-ink-inv#FFFFFFbrightest 2% of the back arrow is #FEFEFE, on the same 2-level floor as bg
--f-accent#F39D05flat fill of the walked segment of the progress path, c2 and c3; the nodes themselves are 25pt across at 1.337 px/pt, too small for a census. Every amber element on a screen is cropped art, so this token is used only by the foundations boards
--f-pill-darklinear-gradient(180deg,#8A8A8A 0,#3C3C3C 6.8px,#141414 15.7px,#0F0F0F 30px,#090909 41px,#040404 100%)column profile c2 col 336 (next) and col 55 (back), y 768.7..825.5; the two pills profile identically, so an enabled back pill is the same fill
--f-pill-greylinear-gradient(180deg,#DADADA 0,#D2D2D2 4.5px,#C4C4C4 9.8px,#C1C1C1 30px,#C1C1C1 100%)column profile c1 col 55, y 768.7..825.5 -- back is disabled on 01 only
--f-btn-darklinear-gradient(180deg,#8A8A8A 0,#3C3C3C 5px,#000000 12px,#000000 100%)column profile c4 col 340, y 560.5..616.6 -- Create Account
--f-r-pill999pxby construction: both nav pills and both buttons are h/2 caps
--f-r-phone52pxcircular stand-in for the 55pt continuous display corner
--f-t-eyebrow600 15px/18px var(--f-font)cap 11.2 at 573.7..584.9 on c1; 'SMART LEARNING' spans 125.7 tracked
--f-t-title700 36px/42.3px var(--f-font)flat cap 'R' 25.4 on c4 (25.4/0.7046 = 36.0); baselines 629.8 and 672.1
--f-t-sub400 15px/18.7px var(--f-font)flat cap 'E' 11.2 on c1 subtitle; line tops 688.1 and 706.8
+ + diff --git a/mockups/canvases/flashcard-onboarding/00d-evidence.html b/mockups/canvases/flashcard-onboarding/00d-evidence.html new file mode 100644 index 00000000..549756ad --- /dev/null +++ b/mockups/canvases/flashcard-onboarding/00d-evidence.html @@ -0,0 +1,102 @@ + + + + +Flashcard Onboarding - Evidence 3/3 + + + +

Evidence 3/3

One row per token. A token with no evidence is a guess.

--f-t-btn600 20px/24px var(--f-font)'Login' cap top 643.2 to descender 661.2 solves 20.0 at cap .7046 desc .213
--f-t-legal400 13px/17.2px var(--f-font)band 12.7 ascender-to-descender at 769.6..782.3, pitch 17.2
--f-t-time590 17px/22px var(--f-font)status bar digits 12.7 tall at 20.2..32.9, spanning 32.2 untracked -- iOS chrome, so it opts out of --f-tracking
--f-w393pxiPhone 15/16 logical width
--f-h852pxiPhone 15/16 logical height
--f-status54pxiOS status bar, Dynamic Island devices
--f-nav-y768.7pxc1 col 336, the next pill's top edge
--f-nav-h56.8pxc1 col 336, 768.7..825.5
+ + diff --git a/mockups/canvases/flashcard-onboarding/00e-art.html b/mockups/canvases/flashcard-onboarding/00e-art.html new file mode 100644 index 00000000..3ef68461 --- /dev/null +++ b/mockups/canvases/flashcard-onboarding/00e-art.html @@ -0,0 +1,123 @@ + + + + +Flashcard Onboarding - Art assets + + + +

Art assets

7 crops, cut from the four frames at the pt boxes in crops.json and placed back at the same numbers. Nothing here is generated and nothing here is redrawn: on 03 the Winner Board panel covers the medals behind it, so the medals cannot be recovered from any frame in the clip.

every screen with its chrome removed, so what is left is exactly what is an image

learn · 2
challenges · 2
rankings · 2
master · 1

Every crop, in manifest order

01-hero
c1 · 365×474 pt
02-hero
c2 · 365×474 pt
03-hero
c3 · 365×474 pt
01-path
c1 · 198×57 pt
02-path
c2 · 198×57 pt
03-path
c3 · 198×57 pt
04-cup
c4 · 282×236 pt
+ + diff --git a/mockups/canvases/flashcard-onboarding/01-learn.html b/mockups/canvases/flashcard-onboarding/01-learn.html new file mode 100644 index 00000000..02944e64 --- /dev/null +++ b/mockups/canvases/flashcard-onboarding/01-learn.html @@ -0,0 +1,99 @@ + + + + +Flashcard Onboarding - Learn + + + +
9:41
SMART LEARNING
Learn Anything,
One Card at a Time
Explore different categories and build your
vocabulary
+ + diff --git a/mockups/canvases/flashcard-onboarding/02-challenges.html b/mockups/canvases/flashcard-onboarding/02-challenges.html new file mode 100644 index 00000000..74b7dab5 --- /dev/null +++ b/mockups/canvases/flashcard-onboarding/02-challenges.html @@ -0,0 +1,99 @@ + + + + +Flashcard Onboarding - Challenges + + + +
9:41
COMPETE & ACHIEVE
Take on Challenges,
Earn Your Medals
Complete challenges and collect medals as
you learn and improve.
+ + diff --git a/mockups/canvases/flashcard-onboarding/03-rankings.html b/mockups/canvases/flashcard-onboarding/03-rankings.html new file mode 100644 index 00000000..d096b111 --- /dev/null +++ b/mockups/canvases/flashcard-onboarding/03-rankings.html @@ -0,0 +1,99 @@ + + + + +Flashcard Onboarding - Rankings + + + +
9:41
GLOBAL RANKING
Climb the Global
Rankings
Earn medals, improve your rank, and compete
with learners from around the world.
+ + diff --git a/mockups/canvases/flashcard-onboarding/04-master.html b/mockups/canvases/flashcard-onboarding/04-master.html new file mode 100644 index 00000000..d28e1f34 --- /dev/null +++ b/mockups/canvases/flashcard-onboarding/04-master.html @@ -0,0 +1,99 @@ + + + + +Flashcard Onboarding - Master + + + +
9:41
Ready to Master It?
Create an account and start learning
Create Account
Login
+ + diff --git a/mockups/canvases/flashcard-onboarding/README.md b/mockups/canvases/flashcard-onboarding/README.md new file mode 100644 index 00000000..1548ef2c --- /dev/null +++ b/mockups/canvases/flashcard-onboarding/README.md @@ -0,0 +1,189 @@ +# Flashcard onboarding + +The four-screen onboarding of a flashcard app, rebuilt from a screen +recording posted by [@FarzadGodarz](https://x.com/FarzadGodarz/status/2096601915807187433). +Three walkthrough pages and the sign-up screen, plus the token board, three +evidence boards and the art board behind them. 13 boards, four of which park +the source frame under its replica. + +| # | Board | What it shows | +| --- | --- | --- | +| 01 | `learn` | "Learn Anything, One Card at a Time", nav at step 1 | +| 02 | `challenges` | "Take on Challenges, Earn Your Medals", step 2 | +| 03 | `rankings` | "Climb the Global Rankings", step 3, Winner Board panel | +| 04 | `master` | "Ready to Master It?", two buttons, legal line | +| 00 | `design-tokens` | The 28 tokens, one `:root` shared by every board | +| 00b–00d | `evidence` | What each token was measured on | +| 00e | `art` | The seven crops, and where each one sits | + +A fresh clone builds the first nine of those. The four `ref-*` boards hold +third-party video frames, so they are gitignored and `gen.py` skips them when +`assets/refs/` is absent. `layout.json` still names them either way — the +canvas drops a row entry whose file it cannot find, and a row that loses all +of them, so a committed layout that mentions the references does not go dirty +on a capture-less regeneration. + +## How close it lands + +Mean absolute delta against the source frames, whole 393 × 852 frame, phone +crop, in levels of 255: + +| Screen | Δ | Screen | Δ | +| --- | --- | --- | --- | +| 01 Learn | 6.50 | 03 Rankings | 6.17 | +| 02 Challenges | 6.64 | 04 Master | 7.05 | + +`refkit batch` replays all 30 Phase-1 probes against the renders: **13 colour +probes at a mean Δmax of 0.9 and a worst case of 7**, and every edge scan +within one source pixel. Nine of the 13 colour probes return an exact match. +Three of the four box probes land within 1.5pt; the fourth is `sb-time`, which +measures the source's clock and is deliberately no longer what the boards draw +— see the chrome section below. + +These numbers are two to four times `duolingo-ios`', and the reason is the +source, not the work. **A video frame is not a screenshot.** At 1.337 capture +px per design pt every glyph is three pixels tall through an H.264 encoder, +and a sharp render diffed against a soft frame scores an error the geometry +does not contain. The zone breakdown says so: the hero art, which is cropped +from the frame itself, sits at Δ 1.0–3.5, while the type zone sits at 7.7–14.2 +with every string matching the reference's ink box to within 1.5pt. + +Three structural items make up about 2.0 of each screen's score, all +deliberate: + +- **The phone frame is the repo's, not the source's** — see below, 1.00. +- **The status bar is the repo's too** — see below, 0.42. +- **The rectangular crop keeps the bezel**, so the left and right 30pt of + every frame score 10.2 against a phone-cropped render's masked corners, + where the middle 333pt scores 5.5 to 6.5. + +## The face is SF Pro, and the whole design is tracked at -2.5% + +Called wrong twice before it was called right, and `refkit font` would not +settle it (SF Pro Rounded 0.903, SF Pro 0.856). What settled it was width. + +At 3× the terminals on "Create Account" are **cut, not round**. Then the +arithmetic: four strings across two sizes, ink width against the untracked +setting of each candidate face. + +| String | size | ref | SF Pro | SF Pro Rounded | +| --- | --- | --- | --- | --- | +| `Ready to Master It?` | 36 | 299.9 | 311.7 | 321.7 | +| `Learn Anything,` | 36 | 246.8 | 255.3 | 263.3 | +| `Create an account and start learning` | 15 | 234.9 | 247.7 | 241.0 | +| `SMART LEARNING` | 15 | 125.7 | 132.0 | 135.3 | + +SF Pro is uniformly 3.3–5.2% wide; SF Pro Rounded is 2.5–7.1% wide and +inconsistent about it. A uniform residual is tracking; an inconsistent one is +the wrong face. + +**The residual is tracking, and the test for that is character count.** A +narrower face would shed width in proportion to the string's width; tracking +sheds it in proportion to the number of gaps. Between the 13-gap eyebrow and +the 35-gap subtitle at the same size, the observed reduction ratio is 0.391, +against 0.371 predicted by tracking and 0.533 by a narrower face. Solved per +string the four give -.0257, -.0244, -.0248 and -.0266em: **one figure, +-.025em, across the whole ramp.** + +### The trap that hid it for three passes + +`letter-spacing` inherits as a **computed length**, not as a ratio. Setting +`-.025em` on `body` computes against body's own 16px, and every child +inherits the resulting **-0.4px** whatever its font-size. The 15px type +looked right — -0.4px is within noise of the -0.375px it wanted — and the +36px title got a third of its tracking, which read as "the title needs its +own tighter value". Two rounds went into fitting a `--x-tracking-lg` that +does not exist. Setting the same `var(--x-tracking)` on each type rule, so +the `em` resolves at each element's own size, took the four screens from +8.20/8.18/7.01/7.66 to **6.09/6.23/5.77/6.66** in one edit and deleted the +second token. + +## Crop it, do not draw it + +Seven assets, listed in `crops.json`, cut from `assets/refs/cN.png` at a +measured pt box, written to `assets/art/.png` and placed back by `art()` +at the same numbers. 434 KB total. + +| id | what | size | +| --- | --- | --- | +| `01/02/03-hero` | the three hero illustrations, 365 × 474pt | 159/107/95 KB | +| `01/02/03-path` | the progress path between the nav pills, 198 × 57pt | 7/9/11 KB | +| `04-cup` | the trophy, 282 × 236pt | 54 KB | + +**Everything else is CSS**: both nav pills and their gradients, the track +behind them, both arrows as inline SVG, the two buttons, all the type, and the +whole status bar, island and home indicator, which come from the template. + +The heroes are cropped whole rather than rebuilt because screen 03 cannot be +rebuilt at all — the Winner Board panel is a frosted overlay sitting on top of +the medals, and what it covers is not on any frame in the clip. Cropping the +three heroes to one rule keeps them consistent with it. + +## The chrome is the repo's, not the source's + +Measured off the frames: + +| | source | iOS / this repo | +| --- | --- | --- | +| Dynamic Island | 123 × 38.5 at top 8.6 | 125 × 36 at top 11 | +| home indicator | 118.1 × 4.5 at bottom 2.5 | 139 × 5 at bottom 8 | + +Neither is close enough to be a rounding difference, and the two err in the +same direction, so this is a designer's phone frame in the mockup rather than +a real device. **The boards keep the repo's standard frame**, which every +other canvas here uses, and that decision was priced rather than assumed: +regenerating all four screens with the source's own numbers drops the tail +band from Δ 49.0 to 22.6 and the status band from 16.8 to 13.9, for a +**1.00 improvement in each screen's mean**. Consistency with the other +canvases in this folder is worth one level. + +The status bar goes the same way, and for the same reason. The source's clock +sits at ink top 20.2 centred on 60.2, and its right-hand cluster carries a +fourth glyph between wifi and the battery that reads "32" — not an iOS bar +either. The boards take `statusbar()`, the `.sb` rules and the inline-SVG +glyph cluster **verbatim from `templates/gen.py`**, so the clock lands at ink +top 23.2 centred on 71.2 and the cluster is the template's three glyphs. That +costs a flat **0.42 per screen** — 6.08/6.22/5.75/6.63 became +6.50/6.64/6.17/7.05, the same figure on all four — and it is why the `sb-time` +probe no longer matches: its window ends at x 80 to stop short of the source's +location arrow, and the repo's clock runs past it, so `batch` reports a clipped +25.4 against the source's 32.2 rather than a narrow clock. + +## Defects in the source, kept + +- **Screen 04's buttons are not centred.** Both span x 12.5 to 365.8, so they + centre on 189.2 with a left margin of 12.5 and a right margin of 27.2, + while every text block on all four screens centres on 196.4. Replicated as + measured. +- **Screens 02 and 03 look washed out**, and that is the design, not a + transition caught mid-fade. A 10 fps per-frame difference map over the whole + clip puts t = 1.50, 6.60, 12.00 and 17.60s each inside a still run of + half a second or more; the frosted Winner Board panel and the gradient-faded + list under it are painted that way. + +## Two measurement notes + +- **The white floor is #FDFDFD, not #FFFFFF.** A flat census of the page + ground returns 100% #FDFDFD, but 2801 pixels elsewhere in the same frame hit + 255. That is H.264 flat-field quantization across the whole capture, so `bg` + is `#FFFFFF` and every colour probe carries a systematic 2 levels against it. +- **Downscale renders with an area average, not LANCZOS.** The verify loop + shoots at 3× and resamples to the capture's 525 × 1140. LANCZOS rings, and + the undershoot lands exactly where ink probes read: the Login label's ink + core came back #262626 against the reference's #3A3A3A, and the subtitle's + #6E6E6E against a #7E7E7E token, both of which read correctly on the + un-resampled 3× shot. Switching to `Image.BOX` took the 13 colour probes + from a mean Δmax of 4.6 and a worst case of 20 to **0.9 and 7**, and + improved the frame diff slightly as well. + +## Rebuilding + +```bash +python3 mockups/canvases/flashcard-onboarding/gen.py +refkit tokens mockups/canvases/flashcard-onboarding +``` + +`gen.py` is the only source of truth; the `NN-*.html` boards are its output. +It re-cuts `assets/art/` from `assets/refs/` when the captures are present and +leaves the committed crops alone when they are not, so the nine non-reference +boards regenerate byte-identically from a fresh clone. diff --git a/mockups/canvases/flashcard-onboarding/assets/art/01-hero.png b/mockups/canvases/flashcard-onboarding/assets/art/01-hero.png new file mode 100644 index 0000000000000000000000000000000000000000..fcbdb8d9e79e572e344581554f80d34ec646b817 GIT binary patch literal 159227 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 JPDHLkV1fef3w;0p literal 0 HcmV?d00001 diff --git a/mockups/canvases/flashcard-onboarding/assets/art/01-path.png b/mockups/canvases/flashcard-onboarding/assets/art/01-path.png new file mode 100644 index 0000000000000000000000000000000000000000..ae3632ded1e7ee2f8b94020b6a1d208dda382ce7 GIT binary patch literal 7129 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 z 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%0Aun=1ty3 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 literal 0 HcmV?d00001 diff --git a/mockups/canvases/flashcard-onboarding/assets/art/04-cup.png b/mockups/canvases/flashcard-onboarding/assets/art/04-cup.png new file mode 100644 index 0000000000000000000000000000000000000000..5fe9c8460fecccf3a8c263965c536363c60557fa GIT binary patch literal 55609 zcmXVWV|blS*Y=KW+qTo#wi?^E)v!rp+t!X7r?G82X|!YO>;1gn9LM~bA9Jm9t#k33 zC>14XBzSyy004j_D0D$@Y+x)QL|4x42SRw%cYXDgZQ4R0)iw~O`D!nw~h=84S zw3AITr#Pp)>N6zGp}MoEi!wSnN~-Y`$yIblj8+@i5VA370YEG4D!2(QxAAH((sN`G z9_ubxqXb4XsXB)21UOUui6vKOXUCc5QZ>)<#LM)_pyBylJP{hrwENxmWcEOHhbl@q zp<^Bfjnd${UC=qfUyyemGJMh`xpKKy{P)k8pT7?LfiHORybH>|9u=m8wgOz2^M!$T z4IGAwI#8s%Z*S{hq&-F2x0oPb*8*Z0fzDvR^! zlbS1esOfUK)ivAb+vxOqN=N{KKRgeBG|#!=9j}hd&Te-7DsN`3X&mTX+s^xyypw)% zem{qTN&9dDF!nFw0=b+GTfx;L}3{b-8v;N~Y|Ww$JAsGpAkoEZ}Im|GEep`RA@ za?LVmtkrg#Ul4N3Ye|=zS?f4cetxC&Z+VO3rOBC4cBxf>pAUSrotoK|?%-vP`*lzR z{00PXuS>T9tg5Y`8r^`CDEoJRRQX>u9Mi9U_mw5yZh(YB_fNUmk~DI2(I>Ty-(r;$w$%Y?iV?>{Y44j}&@_B& ztgsY5P5 z4{%}rA_f%hxCrHjylS4%kKo}{LbzZF! z(`*PVSk~MN0?+r-^eC=X>89%wS!IY;VFolY?l(r9k%cFJUOSRz!}R7?kLJe)zM;2P zZ$*IrE8=rLu;;jDJ@cQ1+IX2?vlg&1Th2qljN1~`kiua_9YpPMxWND9tb{?#!iVid z#ttSwgz(voIa)dRI^K&u>UZ}n8w3fSQn@MSH!5AVKK9J7efmGY!pn-GK5|$py8QV6 z!n)N)y8fBDy3f1M`FmoA?BVjEJZ$GIRf*$D;qNyZ`4dcI7?{ zzZmHoms_t8Fo4T>_@$r2_rofj-(RzC#%GW8wnh-8lI>miG&p~ zh3l*I<>i+9Sq5kcd1nixLe7k7Z70zBc+2l>++gP^RN|RT96=1QQ!q6_Ap&>nyCHO6bVYa#i zMMZ33^{&|~G?UGC1;u)^)W+Ba3-dpE_8i*~7q*SkcmIc`=lDPU{zFxrSzPerIkS23 zqbwWT87_8#t|2>L^K}%XJXC+yj`%X*(u(eLw+Q%uIw%5W&iFOt~q~!O?PNt61#el>r-?zI?v>4z!=j52SDI>58WY4>ve6Id{wesJg3Haos=X^4J z{A*wNPl8E|tzRCy`_JFLy^6Wbt>g%{xDEjwEO6AJH%nQJ&#`l0Nzp0B#7fjotvM_1 z!9*-W10_CYa(EKY7q@2r@ioT?;ZOcIP`=>Zqhv@2MDQlqA2rW%)%h9OrQZL;NLE^P z&XtykV?pMxZ=Tg!8bnk1xa0$D z9OivgE&tQ0RpIh#6km#V|KtX@l$!01DSTgBBCexetAIsL z#oBDZFduXa17#4^Dz17)0C3XDfjh@z%(_B^yUDY4Q2z!J&RK@d5?eL zVdhfQE9m}Alz~N*UF8f?8{iJk7Y6AcGY0APd2mYC4Sl(yu9~c zYa1Q&k01iAd7N<6BrBkq6cc61zU!PVRNtvtCR4&RfIM zF{Xk-Vd=UAu$ae|Zb9P+a_~o@)oP!bvp)x6XXe62n!n9%=e2Shdf!NH^lV1}BfZ&T zd;Xajs9|JAa|D(JXhRgKMQ$NO+ZhOjX?qxngo&i+g&}o^{UZSJryw*z&ej6@&n94$ zI%)WD4=Z*{)z&{{ewZyd$GC(d@qVtXWNzt6ilyi0{lw_nNH!n??hhS){>k*w{&PFX zPVTAJ{U1X;x6Lg9agUF;wfPq$g!+z;dg}_X&|Xg6KuQ3y2_-5STw#J_vjH3?YH*Fh zd`t-#HJuE_#*}#0C1V!#cg+sJr|m~`_MRJ%^;=S=q{N1^K}FC1oN#VsHXR!Qg47K# zK89%dJCR`XQ~Akh2ajZn9F9=B%>u?)C<+#riV8&*t*_2jW{o0=3$O|Mr{7n}acAY8 zZr6|sP}<41K}km~AJGg|fal<3*dC4Z2`_Vv4=DfAuRTH05&q6vwlK5g;XR+*fA9=x zc+W*+LeXz^)`&OXUh9OhItt+tXL+o5qkd=r$&$+Cb9MU zp8r8JG9pbtoU}-Yg(;<0anGfW0`w5jV4|b6kp003wT8(rG>@rOZ+RYk()h?1D^(9| ztd;CeNs-AtHEBcH7d;H;WN*|SvhpRV(Q+`3er9e|=rh&+a{3R$zr^?bH!zX2-Q#V7 z#c4Z(Snl@XGM|2&3gzjiakB@d*zyuS3XB-~-y|6t*(^+pkwIicB}*__G{_+nX^Jd) z6{WFF`XozoTu@|ZXY$RZ9ZNT3^r1?7(Erl&otoXNEq%q8qK_$9fsKl$z$Xi`(2K-V z;1?h3vZ^;}88KM|>4IpR9N{!;zC`?ma*6CM!Qa zK6;J9vV56^VHU#1H%5j;VkXG5OUma&!DeDA$yDir5GmoJuNf1LEs%$zIc1qs4Q16l zam3YV=`bxVu@R%~%QZ&VINo=+x8@#IyIZ#Qgqn0#JN#tg&+?kyL+0TrYC#Vkw&lcv z6yHe=+7JZiKkDD7&Qf*`W>`D4b8UGhGQAK3k{I`%f5!{Iq;&TB;Z>AJCZSU!@(9Pl zk_iyicS~kh_l<-Ti%aPR@g+lzrQ#wJ9Q;;e_~?BO$8pIF#y6?YJ|488BXm#!sjo_ z7Aw0Q@{VIJtlWv8n%vup4xQG+iQy>)NCMt(Kp+qmtyQ_7kEz=uCTP!?3{pBQ{frns zd=iz|0z+z^V$%TLYSAM%W76KtZ$nK@W6B+$Z&cB&aeA|icT1u|U{Xn~(3n<0$Mq>i zO`_6Kbyzc+SAcJ`Eub@Sie<9)KZkCwlE{(nXuAVAjTaDq8 zf%3@1inrkHd~$tV(EdVT6!>z4_0Am3^hH_1#D%6>-ay9{IB4F?#H+rpAQ#QHDJGkQo<(W=|= zh-P8N%t*YI+V}G){Ry<)nW(nFNlX@wqo^*?hJc19d4wr>U6NoPjLF$yr4w+uzLakG z1#ReqmmY+d7R)0GP9Z~A>Z}u@!(MGNI6b}mxV#+eWc0BMvB}5x`F>ZdCrn1yC#bDL zpaB49&O!x5pRsp13HCc}cfE`+x5lcq8MSTyS57toxh5_Ec3cof&!KNFZ^AuQIqbXB zyzVH!4iXNfqgfSE!8pk@MI=;U5ps&*{5)I!hUdIrUzb2(lldikaY#+J;2{B9ug}B2(2I8ZaakuT z1<()YneGVwaq**XH1k`)F6W2!-@V}kMv-`~jvL7%Wp$j2>hWj5fIB_jw!kM4QMgzi zX1FJ!wnT!~y$Wb8W(e${?*r!hZx$1X@N@x2FdA0|cS8vvyIeNalD@GN&d7|35k^k! z?;k~eQo~Md@`2CORG`EOWOSzljYmZurE`okb@>3Ta=}31?tb~oo_oYhv5Chzi!w6~bDCFWbUzrr9xOq0-f=nT_$b|I`?>UsO3l_- zMvJ0DOEx%P&DGA1*eSxpW2C>QFTGc__w}Ur{dS^y>I#qPFDc&0Jtmw=RVriGycGLU zTV*K4LYTRAmv+DDvQGVVgu8~XpsaaTt-iyUyowiIYV;12?3@y2zK9MPAvP*VU4u*|2rLpe{xCMPa?lqe5z>`VP_a1WRw%hkS2X3gs03 zpqp=%R$#{cvfjg1r}c4QO$F5}{yM)IAqmlU#pEj6(oRJaPzt1y7mA`7xZvj0G4pqJ z3iPprWX@%Pie{3rKm&np?23L$?k@-6u@G% z4}wnYX+too@r4o(LD!8T;A#EAF1z=dXFy6#Da}^chuJC^)Q1I1o(drzCg3NCPee=<>**OW)E1!V zdUF)T{Iq|tV?ZVvV?5m(*M*y5DF%>Pi_F7Au zUvh&GzVE<7!P15k^NmDF3W?dVfHiDAXuoj`NM{4+dHY15l5Sp~U(X|#j-r&A;Sz8& zBL-!HDf|*#QWzEYS-a-?6bB>LxL~2hVb@dr6t2R5bC)>Ksow}Qcd}wHAh5USRz2>& zTuc`HKiZfeou z0{;ZDt@bM8QSrb*@qj6hy4JJvOdstDJXJ=R3&$n`Ck9a@D%sHS?t0<(R|XZTO(k5KRa1%&Uo!Zhs*ZX=u-=Bj zyXVSB_oa5cJ5?*?+g#3P=VIKVSH^&;NkxBdWl9q|bl*NkYrTHzSNye3e;!qm8pw!* zOm_v`1Uwjbig3$pG&1WlS$?d6{jhN{nKe<06`U)0ysC7%2)sbF=kK+fhgUZADju}G zLf!j|c2#fGF9QWX2XVWzAwCJx=|#;co2j;n>G*Fu9l2@XNnF^UyUi`6PAuHkf5&DE|SH?R*L2{J%({Wb;mnzoLY>qp%t z?x7bS3%b#;pP?TgiY*`V63xhd99}|Ky-QV9MnNAQ_D-p%sd-qqJq@aa4swFgp68}n zu@xI;?3v9sYG~hhKql2mXV?;mA9qcQ8H2{pN9W54uIv-%!-&IAndfiLdOFT*nKqx4 zOH}5PgS$n3kJKJPshLxVqf*%OqCc3EsW{Y&GJi~X`=2*;H+mi51qE)I`rh{DHWB%8 zmJ#C^)y8WOy*nU&F6Y7hItxQKb>Ua9VcsB|a#lv_l4?yxX^5 z<5UFSSHU2pYARb#A9VNN#E%7PX6t3It`_RFS0Zp$(%eCQ-!f!)JsMUK{j)c6aG+fC ztu+T}A(%$tN3b%Y7^enlapM`Qfl0T^1Hl)Q_YnME;Izp5DI2)q*gD)M^dF5F3fthH zaK=CJk3F*D5H0a+cc0jD*Y6#%3^`TcXGfEU@z~F)6&bvd&Z+^)#vwQX>a(j#Ya4p& z>*>Z5Y23^`VlRqkn=5|q?REy^%4wtoiD4B9mAc+N<9N%VDLwlwqUa$le?7AO4gjh? zD4>bSq|_ig4`JzIO+d|HUi!2=2V||gvxN}uUI|wIz@U!k*qqQ1rV!uexQ0g2%cc{P@7g`=;Bq4Xb}2Zz)J2Rh3x*R`BRD zRWEM2A+!Q{UxTlH?kmHG?J9C)s?@2d%F8BrnHLs;@bwRGIozJY@W%GtbX$kgxb-wn__F$dZx(@RPX%BhhJhF%U_a1tI#PVQR+)zcJjyo$Jy&BbIoOlQ#h4Da z0HZbVV&-&YYI2uKu_c+3^u^KRlVTsdEUzGu%K>|C+($vZkMCY5*X<7+#I8M~Vs6C+ zVz+YhH*ik(~6rQkjzOc4~Bod&tnWml2I3*rw3^>o4vcx!i%y?(S_~ zSJE5*7K`E5>N<#g=U(DEONbWCVh>@YkA|X`r2|(37kpfW&TVe1t!%dT49BVKraD@Y zTEfS3J>Bo@%}~C*s!|ROu7%=|s&+^L)(ziQ($+PGkXoT9xQtPq#i{9LoG?pk|GI-~ zA!7Z>LI?P|Tn}mPVT}M5mcw~I9yQlrJ|Kuc_JJ;=EDOo+1I0?!s7Z$I~^V{(+ zJ5CWz%Pom{OhCFm62JermNM&#DLl<|s`*S5a*zL&mZLOo!g}P^NSZx`(7+s-6EMb+kk!BKe%HO2=cB@;xrvHrgmSydFXh|){Jh|(*zp$)ZNy+SBv_2erZoU>QumD94 zE+XfU^n}jv`_f(4GbWNBp2Vg7=MxbU%u2)772}Mf*>I%}sGTo{x}#+)a`qPWYuR62 zz2mRpMkQ3ypO9nq^X8!Ho0axEdpLDk>+d_+&QY3+xhRLA%SGXqlO4_@Uf&G>!9<-JLEE3V6D(e3UXcq5DDkj(XiV$- zXlm4zeV9YXN8Mz7)+JUbYAuNhW3HZ}($bNgBtiZ!w@0tTM{~!PopQrIGljZRz0}v@ zoKJQNf2S`Xqie0!WWyz(W0PfStXbYUDteGG$l*^itU%UjR!B#p(dsp-p=SOL<8LM@ ziFg;cgz{(_E{G-JXb1R0vBR*aNH!e5Rhsqwh-F1JCZ$J`|1gl|_t&rWH#I4UkJ79^)D0ei5qd0uNQ1Ew_4G?&*_4u*(;lo#h4&bT_Yd<|JbWWnCG*L%~< z!Kaf!>}u66NZle_L7gJGvoR*qoVG${4spTatxiCK;>S3^7o2sU8$b>=das&_i9&1G za&-WfRU9wP&);^#fE$mrA{ue_14r2;XNlpPPI-pUlOva6+y#f2!>_Il$LB+TAclAIa*v$&LhCe`-u2becYWmAE1s}um5-;G2tnj>)KXW=Wv)cV zW0N{G9Ay%%hYk#GuVOzgyuMowuo-Q5xy4~|g(VQPnS*Tp0I2D*hNUPnxFRE8{x=*0 z&V$b>lw0g*IA@YFk#A0Q>3tP>tFCVfY6yrH96(gOV#VoPq3+W%kiExcPcojy*44}~FUJ-q z*bKsOTZChxu4ws*Le7*V*ztjAd?z!K)z~EP>?ofJMjB_yQ5=Hp0@N^v{(=9a%05ut z<`zA;V+vD#NMlefi9V}TqYoA++G;-ONyNNlC$Ku>x;szK?09%4>Ux?G+T?!a(y0b+fH#6*)ub(Z?SPOc1JmIgSqxjAIgSwct` z_PtOFR@>OpPNH@nAEqp1V>dVJtD>7kY@wpe{+zo>*CN@jsx$cgN|dnu$c}4XeS;<- zvbLaXpPDI;XN~P>$BtodW>#Evb^H}?^=l>OilF|yAcfv;YQ>h#OJDr1L4{>u zyyinS?Wx9ay!p$YP{<@&ac3-vI!q^ozii=+BuF4vNg93Z!qBr1R5yy|C>~deiKZ1X zbZgj$gKN);5E=m+Y&qBN0;i>^8Ig<_Mp8AjYz1j-fY8vSQ0(-5|I2_TodSzW{K<0HGF@4q)3t_j@twcx?fi`AX!c8BQ)5&N?Ejfi5Q`$}kFb%G(tf za7mcy;GK1uO}(I8e~6$~#lp9oi$KD7t)iOcZTYhuW-u8K5D|?-i-qkiQfGO5yi7h> zwVB#+hUT2mFBRZMGHG^r|5X}Hx0(zWB7s`5(?)Fy$Je};QKF(sXpS>WEOmrE*;1}L zr?@p{N9Xv!luVJXUck_;(i>b)sxhq!R;}(=hLgD#+0$+!Mu!@&MA`fW9;|bQCzbH< zVAqZb3}7CAz$~fHK#h1W?#};o_xl=2kC`M!i?ETQd)yOsLI-fcgC!>yg{X0{px_FV@m>-C^edwnyjq65ffnVBISXnf(4)F@dw|@A;iT8WAR49yZ-0q^gI6 zj^l8`bMO2)8)|F(<&?O=-Exnrm}He&k9=A_{sa?sZr<3nMOg@hNzrl}@pV2vq6^n# z?rRiV8`Zhmxh8bl)KjN|EDtGGj?g8_A-+rP7M8Sp3lV!n!gYj$EbQ z=fmA=V+iZ4oc>~1Ljf@zHSqr8Yisf>wXOc*OF^zT+mL#5P!quh#j2`WNGhhS4i2_x zt0PUj*b!oJ))*yuTSKkN!r@1!moz_*)W$}9@Rr8iKlVbn{0(GPXI(JJghqi()ThSf zW?Um{t^X*Rj0xV~L{MB~`t{5HXX?KRr^wx=_N%&g_qO-tN;XTc!1h~1gp%dno1H$wg@M__ZYP5F7zL z+G!sd=8ehz)KcSdQ_IFN;%U!KszEglw8H04iyZ$rKM+rm5CT^*fycj|+pC>9``Br- zmBmmIyTCUdN6T}?*o!th_ooOSZh|mO{6UCD1nqPL5+hCBen}xe zHHeU7B)_M%Rc5Myg<%y;+m~cs+f%LEl6^Cm?Y&DXqCW`2BdE$kcEPNsvZ z!)czmFhTat(J+7?x9#yk>>&&ljE@^Eqj!zPFWgeEq2bU#xmJ|M2xLhCR}61gcAg$t zMXRSr+G6qq)oHxc6saP;0Wk z1-7~dWR3nkQ4(z+8D39=8@XJyKOv~=zP22yyaAM@U}c>%gZVkIa)mp56cDhS$KHbL zirAVFTxmIiBug(=L!Ii`HB|aT4)RO}f)W1ATWXABY#ec@zaqOhJ+k6NJh`k2Tt)G! z@#nO*fC%CPw`_eGTYAvZ(I&Dr+-mF?q|xVNOIalX4-3&z4g<(9j7w2w5p&Is6M)~2 z*$fSumEs0O-L}euA<@hqQV`UAciTMf4=JXaZ`zsulzhJ4ll*AMT7aGmH zm8nHjk$U~Gz{#HTd7xLT=g$qB z<5!yFc8OIS7b#qEQ+;|A4-nijbMt&i>XUR#2*cp(Tc7orNwZZNkeQeleq zB{1LEk7D#~b_VvOQzkhCehxH_Ozz#fRLv^}n3=gjTzx)yZhMPo1EnO+Z>&{>Yw1?| zsq5kNztUg8q^0vWyL^&KK63vRI5=g!Hfh5da*d-UXgrLln?T<2Y4assBe_we;d=e@ zM5^ptTK}rCReKC>V(VfhRXbn9fvPK~n@2`*lKXX!U7t87`<2o`D9mB&hAPHK%W5cn z2L2i-*n$gbV!o~K71mQ5m6tK)3za$00tWH*AUtj3*BrI0I;>B2`J4gu0lNmzj%Mn& zJvPS>%}jrJ;RD}_lL=G-d$hXcCw1|m_ZU5ao%}~9p*yl-J`ZgZz2EMkMa2ZST~^on zeR*laA0Vaqy)niU{T4BqQ9<%DFA%^w8ktS*WFMZci*m}>d%tFi?&R(`+o{ZJXDHPx zG5hxQLz+RDwvwG-y+u-DebxIR7kF@F6m<0H;D3J;y77CP%Pq3^#2VbVp$_EXVn05g2LGuSD$0HuV#}xS@@2NjzT=c6l5~p^tt@#zqO%SX{y{BcTpbZHay% z78$#|BW*LM%q+29qmAL3$=CY)VO4v`*}Ok&Y?*w(*6)kbAH(s zVLA7%;Ka6fq4dM%t%m|oXen7s4Z||vh+@YCQ+|M|USKUlsp%gMKMW%_M4%l;@h1fU z)SZEC&^~8_lA?@yo7ywvd%xi}4kSd2uwP>!dU`khr68Lj0&g!dsLcH}&m;U?*7FGr z$0MVfTGMPzcFNL8!DFC}0)zWOK*{zBJkwm8_)6O9@VJWqLWzuo0bVNuVodXoL{VJz z7r6ROOjA|Gxy(kim(bFh&cvmNdeYAlp)01wlj_T&TE5K@eXlLLgb>JOcAL+;qp$+P z^Qni)+~H?pppoRI{AHz?_rV^O)Cza5Mk)FoQTwu$U^Ta-gv&{XsN8BJV{Jp83!mp<_>gMQog) z5CQW`>A=LN*FAIlT6T#4KMr~1sfsAtE%_AYW- z+7fbMngMvx^?VZl`8WQSMwk{=Rr9+cZ$8LGN}~6-Ds1IQOussoe?$p(wLj(vnYgroeXb&crxI7@2} z*G-M8uS?PrFuvv&(-OKh$&68^U^_pXS5&&d4=}o`FH=7fx1++gE3e=>?-}+l5(ZV> z9ojs#%jcih+{)OpR-2wx&vX&QJ=tGqlB{-c0z>9j?fEfP6n;Ut>+x#L(`nB(amUX> zqRN4*#ENe}4hca=*~+Og+8=+IV^Nc6b&_H?Zy~+K})+bgZLXGt6g3@{1&>0+YQlq9G5so~Y-@H`nR=#DRZb&pK zv#<^0bXHDzSQIM_tcK2WG>(ll*zC9vy#>azCz?Q0DLVy-G`jPAE@yq-V6Y@M1dW~Y=|rMt!_n0$#=zpz|yOL|m` zva+Gu61k`Tf4h$<0lg=n1wNqHMC~+KRgu6E@djk|x*@ zO<1Rb_iLi>RZ#5D_^W|ELh-eKmDst7mG!JmS=Y*FOO=alA=omhjz1HHy<+!uOHX}6 z@PW5oM)5+*-#`Mjlcon9@h;C?qm|9#qCyZR%8+BkTc7PNeSQ(R%5&d0#eWk=SJ=Nk zKSJw%SQ)cF=5=nDc~RYK@nuZnljYCD#uTJI52>ZrjHbkjnVj)a1L$MP%tt4a;+U)m zKdlMgifxmc)MNV!;SP_+CahC5Kz{a?QezYcI>}d!wx1ZA)O67D`1hIUJ5k`fO`>7^y@pKbvVH&i+Ief!ZUKmE(beQI8 z&(BMc1>g#_g(nrX1NnFmK!xi8zx;Q(HE5m?d(YCl8Wbp=V;M5 z%b-IVOgH+}xXGsy4jn7eAgTJ3JU{-{KMF?Z3AJwG#_OB#Vq<0jOvvctP&HGL4WDtY z$Mdny`#9`qo*5>asM>|4t%+7I+IiCt+MUG z(KaDj@Oq2?A^6}%yLw?6mqC_1G|F3YFO#2sGHl|LvSMSPIz75XxIfDlsR=ygY{!T2 zJ$y;QJ2}@t3@Au%#?hbbJFF?@v|A8|{;iV90of1E{;S9@rRbva6>X_V+5@~~%)F5d z>rylGLIRQk8au?Xxq}_x)cvr$hE^l3mZR6deB4RmU;pG+YfHmtHLX>YYWXqUF<0*1 zPh6GC72D>5N61mi8j+y=<66sf%TZQblnYt`6!7!AtvoOZ(LAr&Ehy!sRB6h}V8f}T zHJcR9ixxdPiw6b$S9PCRO<#Aq(mhXfoDY_RlJ-b}Yy2SeWhdqdexdh$OFlzUq|Sz3 zr_MtBv#gR=`5y}{OXGaW>b39i>CKN^D}U>GSBqT~SuD?a`*dR`O4=_vwAX@CmAL8H zc%PcnkqsttRVD!3$kzEGl6$+Ei9bu2Lo1JZTfaeYiHO%fXmV@cq#H+8Rb0by&Rtxny5=dB6A+=a1$jo??|epVcKG8Ru;pb1)@OM3zAP_w2W+X%)VMrV zRbej$ICN#^4yU6K$!Gk5CFL>V-|TIP72~Skum1~$eSW!%N>^I@ZgvsR`&qg_F(D1N zW{_Jv`@j--7Byls{)dxH-68vc*g*Nrk_t+r`dvhMFTv=uR_>{q9LUzE8{QuMqq!t( zU&4S}-N%xzCE>HpHqPyKwzFH_HIVnp^4UL2I0uH;AE>?V<*p1&B1ENg;F}?uF+3y86ZkFSxKg&;c6TLQ5nJ~6_3X!>N=Mdt!PyfvmT>T zL5`atgX^LPKd2f_@e)>;VC5vWt$n^(@(H5x8BMP<{KT(!VIH%~-HWN6))`@pM|}Wl z8hw>{25p8_VWKILtFTwXjiG@-PazgyW}w?xV5rxE%$Q89V17G3=*SCh_tbxBjJiE` zdMzOMe_AO+ZIINt98sXWgH2oM%$|DNvE?g~S+__fT1jep3%whky2y>$=1BU|K3#FP zSKfW-*4&J##$zJ^n~tmO$WOcRR*+6IH!y8ebQDqG7L zsZ&FUqn2E3Z5rHqs#t5~Bu$}n^Sr@vR>Cc(BndGV8R+RiK&b_TvY3g#bryMw@q`s?!Sze1ubJ z1If#AtXR6A$+K9cE2GGW*+MD(kEtfV#m;OR%Az=^DS505Pz7~VEACn45Y*LCl=tN= z8&ns1eP25pfk%+2<%YN260Guf8zXbZm!^xUz7;=Nr;8X(;=VZ5^cXIcD+0N67DX+YR2%&p!up5emrso zXz9OkNdofJr43P-C0i=)iXEUV-6jk(Q>9Kagi*DmRl(%x3l#U3oD*0y=VuG`nT=^B zShmz;h{O_oM}|S;j6QH1Sr0pwLzU(RsX(_nZl-VROy!P9q4xHUbm&@9un{0(@tQ%3 zG{4fJmu_Mq>1+a0q+89l*7)3y4Z>d!s#{i8<=c6o(Hi?a4w(|L=rXX>RUX%>RUwo^ z3M#B2b;HI(kZ`JOb7>@<&aCE0KWAg*SAa^6+oL{>rElL(;MEHrxD|0r&853)cK@~n z;XQQXwRchFF>VB=rEb%KZLfMC4bN@u1TVFGGs_~SN5vCm$A!0~!`38;+Z1q%LjS_P_l{31#eSTVP61Q#! z^$Ge4E;4#NN&E~8^|zbhxMWZ+bjle}Y>OKxiku#b6hv?!0`e?dqupn?7}GpS(45s` zVwWE>Jh)|kBV}B~*RCI6={IMpEHjJ6AfyB~A&O5;;?Imtsx{uU1zs*47w2;)TUzFX z?Hi~GeAK&ryiW7<%!NN^7L=2W=r}kSbu_!VyEm`%+C<0>Q@ntj7vYh%QvCK;6mC$$1#Zdhfwy6(uBAiC(M3~AQ4DQoLU-OhWVFA6LlWteQj zmm}w1<{24*TBvRV%aC%ri07z;m$m)`uiY6p5(X0sy+sl?%<8f<%P z^l{s>=dAuh|N1g4`stjY01uO?eYhLdZ2(6|RsfDPNy#xVIgX_ytA^aEkjV1Ibu{zn z_$eG0A76K(Oeo5U3c5>8ncu7aI!kp5KzPvfvbv_j%nA=w51GdX^jv>_DhK&;A!o)I zULX)jHqQm6GTzZ8{)%H*8k4PgKw#P3H9q1XL6fN^vu#)u?g|QWuQzfq;*$=a!@!po z6fRfKfJ87)*cbaF2^36jS;aIxYF8;=+xYNM;9e;gXFo#CacpUMe;sbupjMf1( zh3|Mz7ik@y)IJy#iwCM<)&3!fg<4#!l4_Ga$)}QH(LvdiA?OWZ?Ie@m{y9w0cKbPp zV|4wPZtu#b+#C4tIxNq!cX?&3k$!I_n4K%~8}aI5(SvB4TH#^MHbBXyZAKE+Ys}@2 z?hQU>tDFk0&rHQU+k}yAm@BXp+#6l@I#E%#4+=QI24g&%R62txE z*SP_m?{k%*lKMfMIp{l*=4WTEG&4P~PBNoeulV zaMh*%ggp;d`ShNb28vV585zUj@$%6`dUY`+-1h4V;uAhdRd?xHq|xu`>hj`p1Iw?@ zH}d3#6kX|i`7NR;?l=5UlcLt`f-Cq8CQnBrC?|r%9UnB4lNz7@zSeTB)BK4) zY%A54W>QA`EYobEsM6dpz0C4`D0kHON4<7fs2@eAP#isZ40)m&`8NdghnzFtlQT_y zUpRBLm1gE3;u&)wYtve~F*k9%gKfENr4cehCFiITqa(E}$B56hT`>*|(at-+Bklk| zQ;C%8SWP8a!p%NR8j8}T{6*0JQ~knUM1EI^cC*XMr!I?s6~E`*8OvuAerkHZ+iL9_ zW%hxow#hs7ly`s}K)%XrFTCQ9XQQYxCZq~G6I=Ko`cK{2{Y}(*Yw{3x+2c7sKudlc zSlXpyo0~E6$*-`13d;-`7gAzU~^2)SbSM|>7*_V_zvoc&{`?CUjxPW%KiVf=*^thOE3Uof%*p>wz zCEfiO4E5fo(#tlx5+WAQ4xCZy91w%B(%emqz*=we%3XJ)A60T~)O7AlI!QWLoU7SQ z!c!j3H_-LxtK&9Lzex`h`)ZKo*EIM|e*7Gz8$$&%vLqA|*s?hpM%vlj6kg@Ynux^6 z*-joB5N}r@CfN+CZ|~&qa4r2X`J0)&j@a#i{die>R>H%eheDncl^df&`cP>P4&l=O zh8;IKW`3C3bUE_L_-iv<%m1Ah=mx)8a@nhULL(Hxp?dGMYDt!(OC_{${+m_By&;Lo zgIC4dbGe1PahaBBR70yJA)33;+$QBWOIQmz&XuGx0_)pYS>g<7ka`NWj3T&Fz6g!pLB!RE_@yy*$OTcCy zHS@@fYewG+x3!dE^hwsIamtDHi9X6Y&M^~5i>%pL&bH$vKd1}2c zZ|gW=qRCOoDO70U*!}XH6U6bU#4{MJMK2wZYR_#(uWl86A%hTbU6nLvV0nF8QlbUJ z3^(397>uck)j6CLF^+dc2W?U{L)+Q$;HT?}xlb)+nyPEvprIXd7~-x(#!vSTu!nUCIoAoH>Zh&RwpKxOm6Drbai&Q@mS?!M@lK=+3OsqZ}R^DgFt-0J;_m2 zCmB2QZPJyS^U!mjQ@cIa3(Te5onCwSaO_E^#-4`zuT#X*&FRACxrJxz#dKo$VSBa( zwIL)GkDEkWpmCA&7q(;5to*oyJ$I02Q8^8s<&IFJ)gdd3wPsG{xwubLqC=_r)%uMW z^Y?#$k|!IZgK!_oK{Qby`6H4QM-?2Zs)(!l!|7)q)|bAOwzdM-NO)9chG$i%2a$Zk ziE^JXxspfI84ky+q4f;fa6Hs9iQ8+fa-a2v66ie4L%{*{ob!)iGPaI+$pnWONe-#zJZJ{k3Z^sv(>`;OHstRN zVdCNW*c{cSS(7W^t3UjJGZkH$7)i=)%ONV~)T)yRcLelJ{)v5%0E-SWAn7pjzn}WvG z$lfFPr4Aj7=VX<`vs$`M%L?yj&6Cn8dZ@GaVqNm;VbTXZIB2`NMGn>7U7UW@d+;Wf+OMPErG-Qlp*N}Mc-^Z=D>X-hz@SN*P zTv@4OX`XL`In=rCo^+PHa8t*nF6@bdQrQx(>@@GI(1QPJ>wG>lCPiNJ496q*^~|9& zdN>xk0(EZpN*ug**~5n-Vo(bbBGg{1`NA0|sRS4xTAvp!s!SuAWshXd%US2%YK0$j z0>DVCkt17onlmiSS`@D&PnQSDKv7{qSTZ0wmx+LhIY7zEY|coh8x3@Hw6$TPAz2~S zZPF~7K~v>znwYv-@Hx5dJ(|bO+~sbf3gkAAXhN&qoCGbv=nW;-t?<pw+E7O`AsjRY9yGxM@X@nAk{j~u7bOhrF4((ng_LcDZ{R#tU0(${}SiF1iJ zGiepcl6(8r35{(%h9!3P4?$`wAxjY3HdN|M7PLWl(GtcD7huA&{E({1-` z;eu@ToZ#ZjXkMVYgz`tE3iA**>F7au<_ulv6qxSH*!T9ZqmROrFcxxsoFAr|MV z$VNgHfhpZmipV6v9J4lje(uRIvbYP)6c0!Mb5tXZ#KtUn%O@CoM@*vOneps3aN!tS z-E5-J&NSY#Q(usUt#6deEya@7>D=3#)^XN|v(P9`#XnjD zbuAz`YeZhr-*OL~3HJY;Mnt9(?ltc+r^g;>%w`3H*1$@7^;hj^nr7+CvXv9w&^7y zixzLq7|AVzGvRsMS$Vszv70&cwvRKNPPsmL<}|!G>s5-u?UcQTf4mKQ4?$%=$}*b> zJzQ=+PII~PZ-RkT}Z~}CA7N;kSx6_dN z%h}vFmBGsrw`FK7-}(%;otpQufFW^XX>dB&-*JHxj1_wK`F<;C?S8Pl3m@^`Yz1!Z z9V0`OJ(Sav8IpmtG=_}>BD=)#Ib7dyj(H@HqxPN~OCDhQ0GJv9H{fgzMK|ef8Czy)%pcE2%L9LlckIP9b~#;)~C*w?}*SI;jQT(PQ^DTy~RP zPY*fCukSR3;L~iUBjVgbg8JrdKG{7bd+0SBTppfsY)ra9rp+@`Fz`|OiZt`gx#^iomQqjho_((MlauOn+}nfzO%AX0YnR{n?$NE^ynXxj zOZ;O2DeA(B5K;<9pytSc#-#Ak^g&7~@;~s8e>+t#*l6T-txHEnQd3d{@znEMdd~P7 zW?fnzqdh1Ar3xqZd{u>aq?2|EQqmM)LdYOjROPAD45KVaSzgL->9C2JOOvnjwbLv& zmTTDsaROe`a%W%>qKTv-Nt&{bi14wI2zi9+<1lVogoIqTL@WR}UgXYov7uHn(R*j? zmTnL$H5hizbBG?Ay73$x(`iIl>;FG{x=)!VQk|y2l~p&2yJ|`j z?4|#<-u}}EfATk3b8~VaD7n)hOc6#VL*;P@rcrEJMumM#Y45>*h%aAGul_e-$Omd+}7vMyt?&a&oI9LPncC`-l^3%SMy>27o9 z#N4atRQk)}Ai*TsvnoQv@%~Ei|MvzhpiFZ&=pz z8VH9(Pn4p18JpPr?*II!zwBLp|{Cl=}Gv%iJ$ zJJr>{N~GZCQcNai_PJ**>??kLWoBk^HPXT+!mQlzq;<0h{ zaDg;9*WgN8AeC8yBEo`+6coyHd7&J9U&DIjg98|A~M_&`OS`Q5I(AU{%#ahvpR4V^}5t5HB0 zQrR+d2EFt>$nb_{D{KlD>wE>2*n+>Ja`%$uW6hw7*;Cp!b7^+9H3&4~EWfd6h}fpb zTHi0sWw3F%$(!{uK6qaPV4afF98pN2+QVBf-FU^TS3}IXu~Y+DQdxo9Eop7+p0O8H2dQg zY3P-Ck605@7Y@c5K0^lTh=j@pt#T}-3KWOmXSog+kwK6G62CmY_nF0Ep`j8GM97NW zM)KKE#6<&DVV1#*$HQy-e_y4I_ujjF`LbuXE^MTqUzC;2BMMy8E0QC8e}C`6Pd@U= z1gXMTJRY+bi7dK!v>X#tmp^w_3}qRM@xgnYz!Mqjzk8<3L(!9z+EcxJ`7-KJi74pL zA1ks^H%FtMj6bGa_( zaioZHxdkw&3XnCd9T7*n7(`|Wp9{Yx-wfRs|p*9|1KIow^vOb^dX zT(KU`68w6*vvy9eUS=H#YyTWpv}A=7T;jdiO?k*_wh|3{oK}^$`dS6y*3R-sGlY}_ zB@tY6=eg`1)ACTb;2GS0$hC(p!Pl`Wd%= zDcErc2guSvxN@!Q$l1KNe1K=gUV@$w(%vSdTGu z`5d5u-Az=?cAqW2Pz=3-0Pg>j@!`j`2}y;KM%$ptiIfVa=^3gB!GuJnWpKpKAv`AH z+6ymSegA#Z%1~su|L>Nvb}Ut{Z_c^Njc0#w|H0u;e;Q4L^GKn5OoGWQ@8+=&4`0e= zdiHa-ZfKlV zPR3{k{b2h7rzctDo0#So$G@vPI%c)? z_B-|X7vUaNVrys|b6zAXGKu1piI*5^oy}HO*d#FKB;2VDH&E-GKU3c`l2^=1I!bx3jPJ#1bLtHV8+ z_v|W_2WF5F9-0Ec=v9r4)B6!#B=GHQYmk^e^wTTipjhsjALe)|$tupmL_MFdA518A z4S6N?n4L-5QVlZT92Vokfl}vi-n~wORRS&5!(>lMYz6G?w3jez?>;?C+At-_w5z*! zaqxpJgfvA^7=abSrC`bkAe9V1LKapdjRMxDPCOcK_#xCRv#)>q+j#K8-tF5Rc0JIc zg#r#Lq=;D@ZA2J(@9sUbG=BTrtg47emincqn{Wk$M;42BYu$;tCGGjBSk|*q!`ent*W+l`mO*P0L}MXKyF+BsGG!v>!`Fsobff_Apnh?D?YfV5!UHyK zb#R#DNyH$NpnzF9u4sF!x>tu3%#s{UA=V6%US?j!^AFNs_SBiv0APxqq^Fq4);RFN z8TKq1aQPB+l8>^q)U9xtlO_dN&Hk#;`I4#l1Cz;Uv_Q#Ms6Y~xfy9WSgEYFBmzizrWwRu1X3yX$4a(d0b_JtCo}*B=6n3TUDug zEwir6H`;Ek`xG8&(FNdKjar78(41p!bsPTmYoM0&O*Di1nY{?Q&p5X%^GrcbXBMoN z#%XhNlN+0HcA9Km)zx@>e0+SqSrq5X+aBgUon9J_0F6D(_mtYD()Zaa;KmjW5*QIJ z;ok84*gQpq$>eeT<(CC%g-1{=Yr#zIh}kWhOeNbBW>sCos+F6+>O9mFE})p8nZCvw zhF|%gefoR9`}*F$(|W-gVGURoHnU=No&Z@D-lZMe)#m$t^9R%1Y`^^$>OWJ%P##@& z@`nzeSj8VXX^z&-BQi>0&tf@O@588;Dp}DiqSU(tBhhn;c_tcjk3yIdRdS+2beQI4 zHvNQXp5E5R(l;wP!R5tU=Q?Zi_WFw4gOLDG*ub3Se|4nP1lKVxSEIVV`d*}}IP#Qc z)J|fKwBLecmJ)W}Jeb_x))%uZB*b987AGWIbgsaI?gqBT5q-_xYH&5QEDvAtCt3-? zYK~1)p8o{GTSI#@n70nZ2_Q;%p)rh#!t-8jL(vkBqh>O26mBqA`4tV3?{je4hJyh=4QPK8v{i$EY6?5JpsFh zz>OOpeDhly8yh4orJkoS8%cRYc$67^c+MW~1s}P4@9y4@e~g^N{roqs5(d89Cl`*s zo$j65P6|utSRFH2%NoJg3ZS>+$~;1T6T1d**)JwyPHJ;PPh`n9E?=(d`q8r%x3<|) z_@7Q%qt+Zx%z-3M&-tFqAf?TL)~O_*=2!6MuT|Rp!5{wN8+-o|EkO-wpp#)JRtaW7WHMP; zf~?N0>(S--f$gS)AIA2JFQR$_xd|VU%&dCk;;hle8u*?;(RM2cYLJpR*Cs`4S#5%e zj4t8Zxx$lEWJm$ILYBw?WFj?~m2`3Sv8wZmVZQbJ0^ld^v}dfG>`u}FN!2Vl}in(mw1V>drOMqNz_KX$*#9dL z6-h+fqs73FQHJNlqq5R2Ce!%r-@E4fDW=&SP$FCX7a$=tHAOJfl2E(bG+h~uuNC39 zsD8i6E}Y$-6!B2PTW`Jh-g}D=+YFUJXfU&hh)~XjGROV>{k<=4#$+<|E;}Fci=`6Q zH}pwe-_*?6&z^gNRh&z9`0}i$V>y`(NHn2-A+?l}rSK@fy|lB_cW`I^2pzt&b7`kd z`+lUpX2|<}GHdl}UD#ELL(^@lcXTL;D_2|E++=+z=ce>EX^9ljqAj-C zlNf{ShoQ`SzVGnG?A{e|f?CQNTU~m(pj$g#hELzuEHP^X33Rhw=WQ^ENfkl58O%kR zWfPKlZc>%lIw;4iTQ34KJzJ)512cU2pV*f_-e}yzv!-UIn6$T3GN3A*O(rI^?wpGIUx|A_;U%IqQLIvR zY3CBRUP5{-6X@ahva!9r|KR@VsVhU?(|om9w$(nLZ1P8+i&+2)1ei|wcC!pM4^&+m zBxhShg`RO~S^heR>EU7X*{4J9d&FEyQA-+5eM4<2C2nu^1_0|U7OQh`TA#yiX7yfH zPo)j}E7kkVNI(AJ58j#nT~x4~NYbVVgb_0O2&m`>X2vF`NS46hRr>@7XxLQM^)!AL zo+E8?er=iWZfu<*sh__X(6F^Uo1?0B+zpaSA)rjhfDE*oa}_l+(Q{9dO7cda^~6+3 zWh?VSAxE*%hf@2uv;PW{I8ifhmee9!E-A_-Q3m&EUoCj_u>a=I0k{~ zKbm~_Cu#cmNUG3;JjEnRnKXKu$c$DqStyx}+tYRa|xq-#AHbu$Uy`$QzeR0Bvw=+S!Y^Gz$ZN5fj2uZzk=!=0@OBvuq>&pfo0zt zr(s6gDAFhip*H)#2AulRxCFg)LnN|1nZQ=ATl!3?onWOwuh{Oj1#3HQbe&F-IeQ>X z9tU#PaXGKx>_XwF~Vp7>-V23=<0?X7EUe6n}{e(kp< zky8LxF(T9^i^giVJq=N_W(j{O{psRBtL4-LPvku=aca&hcd7I7LnI`gaH)kPB(sV% z6X9a3nL3+w#$# z$PW1S_T^Wiy54&Tp1^vur^Z7>RizK!|He1IK3mhIo@`TiH-!q4vuDrl*$2b?>2!Mk zv(H**uviq`o@qCp%+4wSkMq6>77Pp@?Iw$eOP4QiUAokF2hY|IrSvZwSFgSF(o1z+ zx9&A5^(3H`R>3_dDCP&0ixHHMIkS6M2Ijf*aiTSU;qZokYW$-!+=phGHu5ll!xqH&Tekj%}3TlNKmx=p)!6&v400NChVTG=|+a^(z41GAT+ z=ugEyq@-fcFNTunpb-MqdaD&Xo?$}vVp_IVcp7xv8SlFr&|xa2p<4#q)9~lL4ev!`$J5<8;1g7H##cNy5yM zi4|#8HA<;sUEF`lTlh@D+ofogzE6TYXipqBHf9irKh&)+;*0RR{^AWN1)@s?002(dgx0LK?v=v}z;>JUzT-asCrdOVtP8dX~`4{ z24L=?&i^UFoKB~Z9Y8fsmL`*l?%k`d9*s6Ox!z-%OFNgaX$T<$hey-Bqo!%v!FRIo!1~1QGimov zh1U$ZymszIw!Ldlj%jbXNGGzoo^sD4NuPi5<(D@vXYUQC$cXUbZB{15B`altAGh)H zE7;h?nPkxC?tD=X;D4W`Qy^>O175bb7d%cXtgD zUYIInQ0d4syUcE&EhzzKnqH=1bi$*1dj%o^6=@#P0^VVRtf(h=i>?M2%WjBN7hf*a zFxcoCMyPjwu?8kbw+;^uboAxar(5YJ0AkX2!7)h1v=yCQEKnD?#G~P0Ce8LbEOI?c zN7;JrRkl!@I1h2q09HmWS>yo7H?;T>d}Z_|N7U%4}N43W#m-U0G*yFyrkFDBP_~} zBLgxwOA+zl)~)fiH#RQqzzPLsrp?zNkF}tN3yZ}gY?!6s8bGm4O|^n5KNj0_KF4xJ zJJaLJq3C^leZB1~o?&Qu|46ggR<&+K8(Ui&o14%G?l{PYySthmuO!{_u_t|N?fZ;p zC!WltUbd=DepusUJl#I`DSVGz0uc^A{q*kLdoOq{i3s6gNzvw>w7B=M-|rJUHn+An zUwa*0_)#j;Zaj-UR1CImWvbupOM|3R6@rcavVH5H8&~neAO7%-{2xV%kqB6dCc&Z+ zi#ZumYLb~DKvGposY<$QvdO*Q0j~1OucQi*i$ncJKgFm#0my}1Qe1LVF_s%u#R@)F zd1V1D{WDp&R#cKeQ%SiVnDq7~O(@!E?>vml=CyEki}tFx(iEPJ+PS*#*do6~JmvisZr%(XY) z)y7MKkmm)tZLfY>UgN80;`&wkSdts>fAE3X^ap=G=gcs52{R?-vz<(}rk9>9MF_}2 zF*KP>;?7-52b-IlXR~@}TU;fccAX&$2yaY0FIzlY(nEDP#bQXF)+~2TGsR?LV=EU5 zU$vtI4{cn(wz0YCUwn9ceC&#or-Vbv`a>0JT&KWJkI1R*jm?+I!z7clBhlqM2-qp0Z8v{6o8Z8JB()b!FvQwL79eoi?71c zw9L-RUq>3`A3Prp+1)A^Otaih)q=vVVjJm|U)}rSi=D$i0*uUyh-o{uDLo)dU<0}0 zL7nrpVJz11w5~RtWDsjIk`ZQRZJ7}XE0OB~f+jIkfD0oNz~IQ*4ybia>e^n;u%|YI zX>N^S8~sV0u_(^rBL-=};}A(_r0RUM7@Zres{weu1Pw`nr-wi8Y&hMp#iHVbD_t9fF@F2GxL zD*t^AaxA-5E_E6r3JQ1^j3iVkhsSj9_p$j>mA)OthY?+>`twsz1_EymJ=&ufHI5k; zd{LJ!RrZfMci*Ajjo_($sx)V+ym}|a)g??1aqs7#Y9yltNHdk`6DyFBs*;K3k`jUl zph}jk@=o?vl1nvEu1h6xA$O82Ye!K!rTzEH@U~934J7U(H@NlxN;ki(CO0>Lln<#e z9D9W6NOJihB*Y;++F&a=$%&1W((UTIFTecq_-p@l)Z=2fS2$$_4^6?-_+;AivTp~{ zn{R&SyWic|*cjELh(2|&&6O%Pejbst=bTHBW|NyTg>m=8-QB(2T}YkV`@@q7SDK8> zv`$_7aBdRw6D@2``4)4tDsS7sgS+>d>9my;e|3)5Pb1_xM|hPgv*b&zZn0z>^O$7f zK{S?~=B1WFmbqy2p><=&J+Xme&bkQm)0D{bvgvC(4ic%tWODPPpWgrci)k~ZvG>Hx zdFGGlp0np6@K;WFG#UZ8asB$nd+)KTah9~wXU6605nuB(n7{{sNClSqv*}gatX}?u z-~R14{r{Xx61Ji$V^bX`S>utaDhuu;Mn)nYq$+JwnBZvNQC+FGzJsblY=;LeDI_bH zivfh3G}uUS%qVP-C<{~Tu}%ZRJrc;EY``LoAk5~whFK-D66Rf4!oIXj2B7w5;H`*s zPW_~zp?-U_x@h!ZQFZs_uP}5fBAUFJ?qZ63_YXF&Uu){Gd8ZMJ=d8Pl70-OtPT3G6 zOq}i1FvQ&&3QBog`fCX4G#b7i+#+1x0flRF0d=r|> zdbY%h2&^(3;{u4ad_fP(V?W3a#jl0YDDW#Zt!DzzS z95TGllfH~6A*4u|&NF-7-`#!i;DMTEWf0zGmprw=$FSG+<4k2rmOM zMh>aZU3T-s8-ecI4C^S7kA?189nDmC?tK2yM@L6Tt&3Zyaw-g(;)vN_#$KOTTFZim zUb%8*=R4mSx^zEsaeu0P4O?biEL~!>u7{HGU0mnrSN~TZ{lWKMfAD{aoK;gm#6+-2 z0?hcx0AYfYm}3w2;*17PoBUeluLg z(s02bc<~@E#%lojz%c?UaDpfyF$DxmilCLG+5}O^fq+s#g}kXYB*OZ6L@tvk&9WuC zJ9$8=MbkUimAj+@AdT(rbpOs~x}2_Dk-eZ0qU!n0Zo;#3vuzW&+fh%gkeMqKsR3Y| zl7`*y+wLdbNTy7kY=Jq#E)%M^6X^=8t>)20TAA40A|oZ8-P&G>^8zF?(aQV?rXVOp zqIv6Zq@ascpS!>|2f>IWi*^klSk+dK3Ul2#T{q`y--T^fr;7Q3RVU7y0zggzP{{zK z7RNmXfaBlQXP?I1?_F)0T1VM)ttQ-|LrI8(km}~ZvWFV$wtjU?08A_--K>B4g&Q|E zzWcw%=B3hR%_B0YXM3NL{a)cYVw!dwaS1oBf8!h9&_5ZMZmrJ`E^{ceR)A`$%AQTu zCWXMOR7J$@?(T@YTbC~*q3ap1=?S4xjLQ5m)qFv6G_Y@~%0q2IWNP6(#!S%Z4 zPRWLOE-{*}?J9U#*OVRR&p&H@Qs((JbM1!CmSJ%E^AROEPvN;&Tn$gN!jp^vU8pTR zbKy|u%n~m2dJ>0wd-3rPCzHum)0C?k5yd!x?RqB9*>Y)N<~l@$tTF(vy!`T|?|cUv z+vo#mAMa$Jd9AU2fkunnR3TLQM!x#$=okLRoew{}cK81t!CKh>SObS-g3%&GxQvM* zv!vW4RGXX{IoE@yhDHEP*$Cp(;|E{X^=8`GfbH~ayCIi+ z&jq&2Lp?{%X%59M;Is8Y3s6$k97sz31OMXYc6{lI3XbsUz{h9!{M#T=%k30upaEjl z)|7R7q5;<1I?F8HrEN<~GYL>#JoutCpFN<<01--w2{0oaDRo0)Q!l(&NCCAWkR0K~ zEp&wi4O@J($9k$_-fgA3`P96@=YP*`->&>#@~E`$5!A%s)G-ywj{wLI72#?^k#MYV z^P1$Ok|RD#zw+8^ukU>4e}a0H5rr4M&_51+I8P}Ut)3qW$y}B&>EWoWx88jhKfH1H z-~pyhxCg?_yiKMn?5uF_O&O~22n(2H_k+Ftx;h$dZqjVX=IA5T7KAOv8P~lxQfY^? zD!?+&w3fE6H+p!+^Ze`Rp^OZz3MVH?STmg--hXiYMrETE@qEF<%g1CgIllSXbULl0 zX<4=*R$R#ET{XGmSv#q9+G~>SE|2Ryq-j0_@46kSv2S%#vW{qDWzJxvS*cB00M}0L zXWJ7#v4tiG_7wbfyQzbN&p!S1>Vuo%k(4Fna4FP__`ySID(8Hiy+cc*vW`P$~U zz6Glx4Vh?y@_}Kjr$*eeD%}+n$23bwBCEMa>%r?E}BV4OCzXP)-j{vELAoxab+LCQ%6~@^42OIn0hZ80R zVU`LHf;4(re7YqoRDwojP$*LId~WYEE8?ZjKq;2J4!Yc{MgQZ%3`zr5YljqD$-PFj zES19AfbAJEI{GN?-AXrpIY~|0Tp9srsh8ms{&v-R72fxwWzCCX4Y_Kc` zo~tYcG@kV}YZM9dT1r1tm1*~7#*?9jVrf1MlN+u^MtY=_45)~bY06+CELfQ_U@6tK z1flgLboEO}acOAZCB-t4=fv`vKv=7!J7Sfr`90jeGyVK`uI47`fkDZSLy^?Dd(u(% zOrInvbO<>;LrReo(3H!NNb+O*tM9${9^d~rV5U}iM@dnz;pH4Ie)Ve2QqAsyqQl)b zHeP%4O&s4ixP2Q{zvFF-c^7h|aCZjjK{DhK37Af&ynlaGHC0`APJl(_&s3$Q1v3ib zWnFUfvd2xU!}L}iQ|`m!lGJw6IyI$;9NbtOJn>w3PUdkXKJ;0Vbg+Mr#(P`am!3nS zut!wVmp5;29o~uXx~fBJy~+`!#n5X8T-fiV!cK^IV*T}?ucY<+hhhI4UCilB{k-0z zn!U~1!UEIhUbuH^7}Kf4H#(+;9qsM<=Reuo+uO-gg$#1f2v-PYR2#Wu%$6BcKXi@W zm?IphQmVf7-S6OyH&phCJZIf`_5AQk%bJl|*Te=fWtx(dzooJ4-T%=Yet6^FzeCbv z3Mr+aI}rp!DU_0SnJv|0L#n0~P21JyHnD@dn^#_Xslt1JOi5X&s(Q2)C0on)!lrX4bGLBGvh3m7C_~|8IPFlzg`~%hf16#!Urak^mu5%i%lE1+Pnn%8zxe!$AD5AnB+vd_o#BeUhBRY4 zIXjV(RyyKji6oMhdn_UpVW;8^#mu$m1dNYFM05Y{ty{OY4!)F>O2^{f3I;=vBAgLg za?2iMA*6Dv+<5KP7k=T_uvJ1h!t9CcsjKIQO?nk{*72&r+Pnt<=QKQTXXIk^DklDmiLi4fTy*vH#AHN7B zIslIvz&I3=GXto?B+X}y4ZR@J?AKwv-luaTv?ac8v+_K>^ML}|_#b0=Wg{sVTe~6_ zWxj_(5S>OEf(V8nV%*QC+!Bi4aO+T*0<}<6UIIAa8Hpv@aAEkDV&-1#o?Buets6B* z&)cx#DKq^?$De3L6akX1@W4djYe4mIU2qC_S<=XDFk2~ncU zs&Il3seSl6ot=>)Q?d{iJnI&`_-4?IW)jj9#%TS#vZH{c*~jm++IzdZ{`rrNkB`UE zpwDYAQ3viJxi{fa>P3!RoY=x6yARUPkh5RDe)-D#@8iu6S}VB0M|cu$0nf+Gn^?q0 zX<|=DE10g448G1Ws}KJ5J3sv4jf4L;5}5al2DjoeQ>B#s7%=9F#w0Rm7#TU%huRx+ ze9bnu+_%h3X~U^{kVaIT<+`(Qz}PhpZ26-qr<(@K;5J8rD{z^j?PcdvlLAs9$IfM7 z7IT^wEz(jJ@L=^QGpW+!aNu6-t-y>DDt2+@MsM|BMJe-Cy3~PtP8CNm;^2=DKKpbd ze}0v8o2vNNuytrn1`j6(420I(&j+}PuLNYYl=gl0hotX`N`u2FyqFSXnR;do5hEC3 zb(i#DFcVEk0g5J?nA{AkNCOj6YQM)qpv%Ek9>DET+;W*!fvr5w%JiyDy!i1EbJQxGX4?;@e9&Sxg0vm+Oj}?*PP!j#9on1=u1i(@T@ZtE+UcY|r+IRjJxU`*F zleDUlqA1kPux`%m3m=aARbK@)@Jwu7)C}C*`ue-?Hb2$(A1hctjv*%+>e#;jS+Q5ep` zOLB__A?wn-dByCz5Z3dyI`Xk{&du#F@7=w7?eIaLQCWmNMVwt+Q;TbGpPm*T9jB&? zrZP&ZtNNXH-rj!ieT=q;9U1v#@9*k)vpH$Ua11dxte14M#dMr+VGH&9|LUDT`lA~M zf8WeT*#Xg-WCnuXa~4H86IGk6G;DgK*Q`!?371}Cl_EMv zqeu_s*FHY>W&n+$q>$m}{+AzZ9(|sYQ8@t`hRiU?mN4n9(`(EUqd4bDI9oS|XX|mI zpWZV2kpo6mHF(l&#e%)?XNiOLz5>ipv1D)uX%)nz+F+3?up&&}7BJ1e#}&KnHt(TC zPp5HrW@hmKLEHUDN1uJZar7rIOK2t$0Ujs7l(W0?gc5M%9!X8O*FFg;X(9K}rSVD~vYNXvS$e^Me~dJ9y11nQx>^m%j0hZ%lshUmPDF zr(`+1y!4`l1tTVgM0Zg+yDY4-@Hjfy=jOr2r5)C_brcC3Y64C)32x!uvJQvL*a7=` z1TAbVRhjubPY&ECaDrF4=B#!IpsFj3M&+N|v+BqW_K%K^cB)k9PRl6Cf*s7`_g-@b zhK~wUwYw=AI>zw2)P(lTt+(cD$-?UxHxCyy6%4paP@rjUe(}ZV!AA;>BHSajjsz}= zo+BLLz0W~-?%C??K&s6gYAJ%(UVr2Iw|^a*n<%`>r`zg2ueD}QRBAo_RY+MuoGR7gVw%&qY@;YbpYRD*gV$-PB z*(Z`hmI4X+!H>6j066HwcdfDjG->G9QIy=8>Dq_qSseV@01G`aH_{SRDgqIrg{Ua7 z4XsznwY#Kta+<6~XAFQ6)w(`col|n2tzm^pG57uYYzS=tP^V*saQr*5w`aG1(5MIGuZO>Y)jI3_39gMykS3N@7@*xSSplBA&gf1>vA|r zF+?689dGXK+l}jH#c|p?+Y|%fgi2T0Wdm^>B-6;F-zmk zjglUf(vy#CT@o~s7U9!rQ2{W=wXFM%O3%2{Ey9M7Bed>Y+7awPpeIr z%!+lrm19O|mGaqHOQnLxbs;tO}cQ;=6Ml-$h`6r*g z%HIrcHPNH#n50*e1a~sQ8XYQ)m=b9leoK3M+PJb&V?vQF^~Bo*Sh67UZJZs;@X0(| zDtzLi*=5T!Y%vrq-@EF}qlelygb##YzotcWlbaO!`J@t5_`4v_h|>gtMj3_X2r6Z z88K*Jr$<97#*v9;P@#PqX@TS-%z~69FA{H+7OE-ubKVzWZ+V_P+v!+s5oniXOf7KW3lh@I)2=)mJlAXn?0m2-UB=`r>4wFEo^% zlxIrehpjC{FX4 zWYMrFp%lk;#d>tF`R2~f&f&NIhgaTwQ|X0vR=~EOvOz8-&qWdQGu+nK*T%}Tzx zxrHjFM~HVkZ_;q8>sWu49-jw%a)#t7A&Guw)a_NvSh9m;%zENdKXRI>p9VdSB}-jxn{%$qbV*XQb0w22y6I9$7Kx&+%n|OzFS)feDUMc1W^cUlM)ko5 zH*S2bgpi!f-?`{(a8ia6pyEDXP!a}7R}COt{}(3HFZ_r9M>E@=0zl@(QZhLs3+CP= zn8A`wAnfQ)+P{yTH%K4m9)vfgYap4rtmS?&4arD^O218ZESusK``GJ*6bsxCuHj}3 zk(%Pk;2M!kS6&a>O6{b)_3FjbH3e1a5$df*`y<9IvUSK>>E>1|Ymg7FWVsr_)t$@y zpTtV*{)N3;>-Ny+_LO8xsdtKqfDuCFBI;5gto1oe2392&icE<$$;`@_$eK)wMSV$P z6r~k_y38(h?Ad+tc{7<*&G86GI`VKtL%{sVBPvZJf-wPLIu1!XM1V; z`bKV=dzb&Uci($2zxfxOWF!E|9e~$sq}k%rG@<@V;x+S3VrrJYrx#y*kq=(Hcl&lf zS01jb;h|ESJd;-Z3i9#MXf#^p$UM{s?}_#`^Kf$N9;3ApCCQR^G@S8x+*^Oso@F!w z>d{HPj6Hs5w-gGhHG9v&h2Sb?@CnlGl^3xnq=u8Jju~j{PTS>Gs^kvf_~^K4rqLYF zFrCf`x1@PU%Go2_P;xs9B|ZwM6cIGKJS7VNl|X90DVbgQ;DZ}q`_tIk9Dt0^*OU8| z|%GAfsU#iW=BrS7mduuDFO_H@l z>zr#M0d4#gV~|2=#cMe~(y1+CK;fpPKJzY(YWx)Eb+wBwoYRXXnn}XJ!$B@%Y6TU(|7m2s65e6xpNjiCd=| zcckPw%TmxIoM|*OW?1i@AK_&r-tMH9cr-)RGS2~tV4ogwGTsrbDuea*mOmen-U^{g zkL+HwE*5GT30~Lhot|HF!nZKgIt}>2>)6INq&v*-e*?hr@v%>K0c6i)86~Op0}J=? zBriOgkkGo%xD<@sGg_^98zXIQY`p*8xA6LF7+*s~xkVRFPpyOZMPGxn@f3?AiQ05* zpQ$;D7`t>Z>D}t(xAGVNusJ?X@dapwHp4Up2qnluiKxt{Nr~yea#M3uOr8}|d%F~e zico-{6oGn4n3uYkfCX-X3gFY;Z(`Z~JLW8q`sb=kydH3)2aU`+Qef*KS9Vy+3LSIn z%Ek+$s1@?$Wh&G&YueXoQ$V2*93)eMXRpbKFgrv9s$-Dh8-CUmy!WFv6L4MY$aCEIoM`-s-hW~$iZ_*>l zmZgV%-#ORJJt8wAGhgO=^{Tq6tE!tls5wBSNJ=0CEd)q{0Ijr;Rs!@B^cVE2w9!Tj zff5J^(t@G@ve{&JO?)kL1*UZhQ2#?6fd^xzGP!$;!KAD@Hd+v9>!3hqM z^OXam%L(h{1}_S4SxdJJvq4K$6ML}ur3!NyVR{Lv*TT)5vp)CV@#js`TzvUIKKheC(b?Z639*>{t?F;}$MfQ3 zvBxor*K^#Cd#IZi#?&;;7hf#?=5J^g18H?+Kq#t$iFZxlwhc!ctk}aga7n3EiP-Sy zGcw<_%x=&zZuGS&-cBUpX$_k+UbBN3eO1gY`W%rjUOrze7QJ2qU^;*J;Gvy9EX=nR zQRc8_#oa(Nx4Ui8r0cXAhxIafockOe%3eO@VC%VZo-Pt8OtelDU+Oxd$`NCqJESa7 z(sHr5yu50oi^xT-QG&FA98yFd5f&i{x$tEoa)>Jrz2t6YxeqfxKRZAB(?7)@{6maQ z7T+|K@>A$*;+Dyowr|A)km*twPjb%f7yt2#ug_)|-_TRUWz7`~89Gx|B+DV60Rdep zdg8P38mjgouyL9=MEk@bDv+WNqrgB^#a3NON)KH5uTfH*Y-MCqnii_&NnuJc*(zrP z3qup#GgoXQ^A-MLDI#VkXTYp-cC;5;k&tX22#ZTZApaIuS9tkvUcY>ix|b(X(A*QF z*Voe7pPhX6nPz_;xyP&lN;=Z|cTuczYmW&49pq-{64OI2V$+1*@&+?_{T^BMK|_F~ zw*F}MY`ybpZ1&lcC%CAZ-I7ymUSiQX zst1CKoWqP;iHlqD9h-}*kpUW6O(`dCwbyHH?t@Wc8@FE0x%yNLP9@j8u9**fjodA} zi|>AQb$NAaFN%`5+WO_b_;S5|^{VeWKK<##^YdkC5{LAN>j^SBqH$}QbPtoqoBWk` z>NzyZ5N`SwYO>SNCXD=GZLa~`(L>RyKD)d`&b_BZa;pCfXjas(r!V9sUg z)b|+^marlsa>;I}I*i7PbNG`lzx?bk{uv%ULd*~W8w$<)+{}D1wPwqcopqElUC3M# z=s*yeM5v^i{nVd5ir@Y(F}N8}fh==#D0d4sjkr)ItyLdtJ0g`NQPqt?5QGMpBiDV6 zwO-PWLd8g!$i8!eTQe{PMD^txuF)cm3qYabo1@V+s#L3*w^wFfwnjiDhg8mfwN^U> zN%;l%82y5zkj%a4PV0=LItnfjK>T%FyzXE9<#Mq|i~b>Cxl1T6w_@GP3&11$b$^xp zH(%lMN%QodGI>TK+4t_LsrvYGj;GlM)qA+5pYF5P*I^mQ0HQh;+D-3!<;@7%q>UcdAc$)zWUa# zE>pbd`)v8b0Mi8`phe}^L`J?cNxdMkzl20xIf0Oo%LD*l=^vb(o%!GUpYX*Op(n^N zg8(s;M79wzoVv*zYt37oksg_)w+Q%6mHD4V__eX~V?@PdI*F^O9L6PhRiO?(+4^ zmx~v_zPh?P!7Gw&SFjKPcfOi;;)6X*g%~+@Q+1wb-%pw$s!Yl=FadE+m*AZceh?1}oP~;p? zMC6FRtSAw=+V@3Bav&lSE$2XjyZ`*Bzpy|36P$jrYr`mhIQQxMTWf3=9&SYkGyx|C zA043+3$D>f5q=sB@njj%I3*2>Zow3?n`d=S3-pMb{nS%~#U)m`Xp=pDfl$kB6Pael z>J;pd*~|@sE2P}lM_$MDv$0FDwT!BXAC3BzB*@m9B@L9?R8kYn2KA6yeY<>q+0K59 zwr%kUIbb0K(fh$qudZJGs?T{Ii#cJ1y%<$hIPOEs1)Z$PmF3RRb4zye{r{?~ z6My#4_}~HcCCMcTlZt{&J;~Zfmi%>yxxaHJ;kZBIUG)|P&E4#DYAOSzu|G1v+!~TS zJV=C@Q7q0it`ZIDCU0a6de!KH0XL-NMd5V`Ko`H~<;ARf9g%^{BxNoHS@(*PX@MNB zMUKq=(uU2K=^~<-9qW7k%o_XZ(SQFR{N2ABPyZ3jpbn%w3osctXx!Hnd2y^YZ;@F$ zu5T*28WUx9L?)2jQ8MHvOt2!B6$7w{5b0+7++=TdkQqW1XjHxh_4y4Y-8=367mLNW zzx&vZ|+$dTBO>-K2WHE{ygm{C2*-|JePb5FCyV)4~) ze)H_vv-Zi4VN;pJ%A~H?K;+2i`vU_iuh%hccQNbDRNO6pV(3{4@-cc6t(zha7|lj% z(zYr}5<-`kmt0&$L`2RpoLW=vdzOghoTX4qGq#ISQVq-^*|zQDU;Ogf-}z@HWNLa+ zI1D}cq1~|WZ>aQ>|CaQ~S9rISRXwuLt1I^5aXc3{KQPBe+lN5svTT!p4*vw-V zhV7dHf?`PYR!M!#@}2w8aD+rHX{R_UfC1=%1J2G(jpsa_hw1ZeB zB^B=yRx713<~k3odBDohn>mwwqJI^CYkBdtKYP}sKP4=ia-Wkok|K8``;?pw7T>7* zTdLnlhzV}vEJev}t6YsqO|ik5Oo}NU%*jA&txjq8wzRMO08>dHA$mL*77gn~+t z!cqX=`5&I1p3MKj|BTN+hdo6E3Y5fDlcZE8lGNn-Tz49{pB&n^M5X&+a2b+i(6C|0 zzwXXkrVm^!7CGmf^ZIN;lYT^_f0db~`P>Fq^O2<*+Kdg{ex7lMU-tY{_upZ>VYj95 zyxEDWxJE>d!P(>vi9f@qu#NLv^jY71_ucDX{i^S)3Yo^f>kEzppzr$}0mbFzekmbBhAd+D*;E!UH9_&^P=0vfSuK`Qbdki zCQUi_rQ?nqIY+rx$E(iFzWmXTp8oQW9z1#s2@%y!f2H{QfRFdCubHCg7DlP0oomGZ4e5G|d#B-}68Y{KOxF-3i z?MC%qG-v8dDj8E4VJXNcvF@}WC4w$lfFL7eX=W)|UMS~$`B$Eo)-M`~`7-A|^_MvU z`BGBCGDk?SDY46@Ff1e~&j2jFk<#U(|Mbf*zw96WQ3ohJY16Du_gG`UHop|!XD@Ta zYbH+MX5C_e<>g|rKz|`A8=I!_HZ@ISvw1t4RqcYPzSE0upFe;8#rmShbuzAob{s&{ zG$4I8!(vfxNI!^RDqC3&^FY7hd(at~ZkpQIwweLL9u21sHoFiI;~MMk0G|Kucdsu0 z`pJ_g&H0z+j*5=Q_uqUU-+a?F&D%ieuJ^<`#NT(YS|qJ9`qqfu>q$=~)w?t{Zk7j7 zpETv};`M7Ex|p(y%sE^1k)tU0`r@GnMXnxt8dAd*a`T6ufByK{PmxkC*ph_rN;p?tM4#8d_+~b z>7pAxUe+=86h#p1Bb}A(N8ZigP`7e~UAwPhce+c(JG99~HrPaCHBH@`dMRm(nj0&w zt#ZjEDYGgm9O3TD&&?FC{`Y*9;`jgC$?2(P=Zc8e7kvG?#U;ASee;p3>X>#al_5R# z5{`}cL#|jzHWGn1Qf`J1R1#N;cZ>wlBZ{xE6>ngx6itg^%ZsU!n^yM5z{;~`ur_Cl z(BcxWf5oe-1{X={@k&tAl~LdV4A(L%JTG!Y&qa=yv6IxpNqeDZ56&LqXa8A#_&|IT zkrP-tVuHiGK0Z*;<3s9eat?Q6Sl=zLzWX+EPSHzBM2--cb8qJA``1_B=xg<91|TiJ zT`U&!zBl7FJN98#6-;c}nNougnkF?x=)Y5c%<+vG35%k6fhrGWr!IN$Sg~s;Arl(} z7LLxF1e3%T8Xb4^`Q62l-NoWfDTUN87RzoKwhSpPJ2L~XPsKgRC+IFJDqi>1Yl8cX zgN5B6);4?90^*E5eis+7SsLLe2uvQq8b(Bfiho}2C1u9wuNI-k?X$;E=Rf{3P9Fm3 za&HrjINwVTnvbQ{sH`UgV}ML5`}eQ&)eCmtwdT}ij(`CQMsCewaRs2USAEX2zU#a0 zR2QeYC)9TxV3G{|s_%yt5=lwC7IewaAD#UaoC_cyYwpqiwyZ5He^!)~pBB~YH=-imLrOiIG1S>RO-V(V^wGvf7vE4b~@#qT5ykba7=^Q&$gI$ z3O3=qX;V*B#2nmIW;c}+d?odrIl!jx%&bR7pux8}hbrr*pVTJq#8bHDk6D_n*sU+E zSW--!G|KaA`C#pH!>T=tsS3t|@Nqu{CILVayiA%9Zf-pstUkoBB+!#c;Nn+lu`pcr zkr6K(D3k1nR}3*0jLdumDIo_Ulp$R4BqA>7fB(xLeaR>PFx;}7G)E6fkvYs(?@L8^ ztThMoP$Iv2`SMiib8lr*8&Uk?vvMJX6n$;=rqPPyzf&y2$*h6Kwr%m`aiNVlIiJs$ zuQpjQ)3MhS@+fHmIl|49^K=GuhvhjJ)-tj})0UuiVWGF-`?t!R9J;DE;rL9adpA1Z z9j;M0lrXb1?Qg2`4^?83dDafAbJ~jgH~N8cbeR~KIOPeiF0UeTQsllj6zX_H&V?Cl z%44E-8FW?R26TFQ`s}Aa$LVQb{rbW`;JwiYRck~{Qh`_{Z zjVE31+;h%-W)uX3fY?vK7**0d>1r9(P1f91*b@>9cP406WDbL=tbGy#3Zr=?AVZ*& z#SCm%!;ACI(B4e$J*yh1F~fU;k9J!Eq}oALKNhX6jpO}RtQ6L>g2&0=^v3Pc1F)P* z&*)|$N091_4A>}2(gX?O4sT#?a`OuFd)iw~^#q5|0&7H|Ly#c@pbJpxS=P5F~a}`oG>vyj*jMo>1%S=MTy8MZt{| zF7rYk5l}zPep^wBLot~X6|NoOZq~Hz*`vo8mcg8R_v9z@{5tQpI9uH2QkS@BsY-0>D!*Z@;>VAG%@ndLaZsWlXLI;>~i;aRiQ}))a|0Iwmr#p zpR>zJzotE1PqEUAmAGkjf3IBlNOOzA?ILr|>T};`C>O0$&JlS?L6DToC8!+PX;Ks) zrIeaSPd~$t{t(qDgZPw=^d8fO>r~qNOLmv8UeXc^DX1%st9mh$(UOt97NTX2AhJi9 zLiX7OAoX1#(Hd}(vO8Y!Pyg`8KUe!yk`?W;I)m}ymy5;MDPQ!`fLU}Bf-R~x20@gI z%#0bCU_npZEJhiXqG~5LeXvS6nPOd*>~-o;%Ozg|pxo(wa+^k)|tw^fe?gFG@IJ=zlFbCWs=Po^EWAXWagD-y6 z@mz{F1wOIk1K`&%B}uuYIk#F!>PybIGDA|9hK+eFU8=z* zk*%;o>f9(IdUwbCBm)=v>FMc%^Pl~fuvuSFh3aEsS+H~-r|Q1{E!euf29WziqmW64 zVB@q5T?7c3F_#4Ba%pN?XJECt4)_6;q*TMG?a^vOH{6rO^~P6j_y^ppL`jb>B($x> z&b305X=ILZ*0ZWRL$2q}4d$)3Y;VKeF>~~3Wc7G2?u9gvB{wx!&5CD%_2&e5Rd0JU z{Km2+Rv+RdmlV8uj;=%hiaEEq>Z4Dwh#bt977ATSSz3@*5WGb^YE#?)_`k-J&w78N zkO8fyKnBp!0nF4NYt0XTm>K5ty!&MCUTaGWK%kt z&z|BY8^dF*`C;3hC5$oq#q#mFUH;oHx)~yJc3c{ny9IK1aZ6M$$%j3EuPoCz&alV{ z%B^MKJN*2?>4Vch`X6w1)@u#`yjpqOssXU@xza4n&O?{TuSYK`A_^6C#c-|nWbq-+ z08Ob3yS!Au5KWQ8Yd=!@B>G{4jdEDMNv)N*?sJyRf5|hGcD|f!Z<5&=^?s|Ok>esJk?jDL^ z?7!Jr47l&L-hH=8IaH-M2XS4-c4%{Lk8M2!d83u`7$l%~WlTBtHB&5RN7|QFwYVlq z@hN0uQ|j^Y_nqi2mdY3UoL<5&tJZLd7^(Q*(??Wq#O~jr2s9XGA1JECJCM+=U05z%$nD; ze{%ApFHe8`AH%&bTDw?QH<>kEHJjc6VD@DXPxwZld!91=YgCI=_z@Wy2%{O0OR9HF z;~fJCA+uyMnxcn<5LMl6DaEycy?MgEj}3$+Z$`+D)1^GYn9In^K&WJ4t_{`q7g2(U$(7?guyvz6W`GuudJ9}#xah%>tEzrSy05V#e+sQ z9?CQKs10#y}(2Ixv z`0S^D)XyGELOEk0AI9%y89=DTTWji$wdO7w95+M6!?QEYfAR47^ZuKE_u|EidU0=2 zdn;FX_ z0u@h~!8ZJhVXK~K)$*7D=(^sc05dt~sN=2RYK9mAz*Ca+qaXbUso9tLb?j^28xk>B ztEGtmF4>Zn+CS$POi%yG$;+3Q-~7v$uU?)k{&nvAdHz~bF9Wb(!^ErfS=+We`?F_H zpUofr9n5A3j|c%WBa^~EK#On-_HJ5;Eiq_P#J zX=qSS9|{N7YkCUH6z4kSl2N^>b)Fy{+Uw_HlfLJ=Qc<0Eu&FazOM#9Z>5)?>jY$r= zRwm)h*XRt^xQo-zKH)CPZa3T3q&x+h$^TWpqy!APPH4)0*J?@>Wfn$}u&Rd=J;EG3q@hqDDp6Zh+H;d1kil` zxpui49s8R1=opl{VD(i+D%Wvd7!YWM=*vyYpRu9Ne}QwD8c9V%R6PS&3>JODRnIID zl(CPbT2bA?yA37M?DQv>m*1S&3%b=I!=#g-!oY}v(Ta?enw5)6?J4qL4I?r_xukQj zW^~vTE-|tuL)AiNlY4C6o7N<6pyWxU6^^r&IeUwvFY1TPaW1xJs5GFS+%|7tsR6bg zTUAA{ZcpuofVj#FV06 zQkl_NWY?=&jyJr^FV;u5{gObGA_M3wgCOP;<>3{8RNd;lOt`q7B!y@JRMd~% z9xx!UbkNL_5}&kZv%dSaB8YC{m?f0rA}MDYVOURuUz{i$m~=U1Hi+ zEfk;qyP2F1DhFYsk(o?^*TPn|)0b?Ui)gwl-Y3`n zcQ7&YT5pw<0MZgk!j0@JC)-PiB{293yOYf3Mhj0c%jWJ*HUg!NmdPIIfQ}3>OHnA8 z16pLDMRSTY&$uM$XlVpk7{e>4$78MefPyaHLHk(*OznKmrdcc&hdIKn5!g1+oICUa zH+EvvKj8i80~F%H-Ae3#=8dR>ojuOmYih1FX5{v`iZm-(mSbv%JBELZj>07hffE`R zhfi7(pwRbW+Tc^{Rif!Q^Ts^z(xJQdd=Hy0X#eUav} zCCzwBHo+vI$!Y+xSv{Ux0lSZh9xV$}!%Vui?j#H> zvmM>+q&vNbH*k;4AzO!YWqD8^9 zwMQ#)xv7Rh75^YB#9xXn02Ys7OKzThX2r#(s>2*ZM-#LFGblUF=5DhLS5*DIB(#q> ze{Bov`mSa4MR*yaipHvbej_a}4gM(qO3&55{`Z*8;Aa*Q$x=#nu(6njQEZcD@-NH{ zXh}*9KGI#)vDVz?WSyVe%a@4t8-5rzZO^AGW7ag~ZpD6W5lO4o)`kNxUA_nUn)Moi zn|+b*89!R{4>Gf1?#|IgcpG6EbLKYWP6d%6ncTT;oJY>*CwN{HO*M3^JM%D#cM?fA z&wVZ~YsJK`P)tWRaT$?oK-7zc&EP!rw)>C?`lWZpL2_sJlI6+;&GJMLw;8QjKpiO}O4B4ojtI#_k{LmxB9rX8j$}&W zM=bH#|8yj-7!(C?|04gl6~ z=SC^kQrdit#@wvbPcV?OlmQm`BO3t4rv@;i2ipP-0cL0w2yXy}w*drNz@fQ$JM5k` z$bRd24r>84PyhbK)o&U+@A}-BAwm-+eGz7PbY_+D2ln0)?smWd*d}^kdmZRp|jAqp;!`w?pa*GQS z9rp9|@bi52yByK*GNd8NU`RD!g=_LaXqmXd*jg6BT?PfzZx z1)EsxA?xk>ya_As>|ftj{Dno0FtxWEeAz3J*AQ(E4JQ0_zci^&o*GZ}^i(ZRYcNp3h%j zT&&GyYfGQ;gKDO4mkG7UZh3d&%TP8Bc@OKH=6!Xsrr*;BF0DU`S++Jv z*@>*F$=Z8Z>@`V~1~;4kN2fo!e0_P*cl}BFt#UBFCmAs_Gvz)5N|D2?aL2u;jQN5z zWqS7TjzsYNf$( zGm>l?vzy5XlE`{`o0F5rKmWzWZ+??s#D-^>Pz@x_s-LNpgAp*A$QXnQCT2@1=l=Bc z%*>@&VO6A#ea)wZ+N|#)ShKxl_@X^~x>)@7>gsBaD_Ui&SH5hSe;}<^m3)mR@qd&Z<#S0$NP1v?!8s_F=%jj zXScVFrr>SMi`TGc-;L4i$8NUuO=aF!B9@}omqOjM&4^2*l~%^-99tSQ8oBn&W@ai5 z61E)?rEz+={XR*;pgvM+njd}nlate{zy0@DS69(hexnqKLINKd#s&$99O1CAy3Dj~ z`{>aly4&E&Wafb*Uh`J%`PP_`ai81KH&$8?a+l>uyy)a+?(HAj$!8f?UDwUy6#(Sc z&B%qM!izOcc333~yqcf%g=)&0Bq=Bi4o1Mx_tk+3MZYu9agoO>-n4t)u8BL$=p&=` z%n(lgw`5ukTosKDez7%6n!3_#b66cKCh=6OHLW8y)mX-!2pKOM)im~ELnUYhAQh~N zR@#{X70$FU5>1FY@H7a?EvsF!O~VF-aku8g1Fk-0T9M&*$@a_>0p= zkCT0-Ja$ru$SCD6jj1VRZv+v`WaC_KXuJ>1vlZbV*kD{gb}Q&GW#uDQ-1I*j=c@ zo|1U?nC-P;SxS$eJi+-NRZ#4il6Lcolbkcd$blK$nm){GV+}O6~Jj6y`_*xS{ zn{-<%fMuF?$@TkxBLfS&{QAc9y^1|eYh|>sn&?y}P4c*hm;V#Ve!Ag#NU(4H+r#totTXSwrX8iY*MYXqy;|YV3$69l%`!nyv zfU0YR{@~>N$Cv%L-Euk8*AZb_*36Y*u03**rA%ans{ek36~VZo%!yUaegjY_14@O3 zyyeUk)0%~CZ>lxl-<@%B>s2pS7T=}ciM;c(b6@_qw87cC+xCPLw}+Br$(oK}3Pk-y zBY@rlV8L-}Qf29S63xR}mH8AXHZYUTf>iTBsmX8}_cOTT8n4Kz@1_8F(ZK=gbGB4F zJs~t#h&IooKn0DYR5~VKf<)gbBMKin1|3|<+kx@8hdLgc>u?`PesXq}zx&PxDdy&4 z?$y!84ltlAQBy|dt$THK_u4gky&c-C$;xSW$ko1ejSk&eC$;VhY*S_1IsLl)Z9a)`e4b_|9jp4R3Wdx|uF?>}x)qUglbCxB$JL1t2*P zcJk-8eBS4Oo|RMK4HvH#WSG!bTqE+RV;YfEF?vYg5NL;SAhUxdIJ6Jfta>rN!)dFd z9X`QZJDIWt&^|xC*j*#2E&r<9-9>|QxL4iw%0{rvkBmm47}7KlXsJxTNy|tCfwu5y zNP-?PdIJ(npaoB4ru0B5sp_f@X&mgD!Ko>Y`t{{7C>w%*Bwg$*;kXzs?(iT zRjn%MM;3~CtTp$^yE#2OQ+M*}!8!#E92)08;kiP9jO_ zF;GZKT?hhYG z6xivNwNCfhCgiMq_J+rD<5G+Q%+&k|ugPCzdauE;pIoBMEQ4do7eBaVJ{n}wY#HEd6V7HbM=yKxV7Tlr($BJuTD zYmUc#R4zMx@UZLo!n?kskw(NSQOM0Cfu185=g>lH<5ZQSH+?7TdE0u!+=cZVOI?fa z?)FGuAI)%Mw!IV4psj9pBm3h1OS1u;sTywgX#!Vyl$kL(X~|M*8kuiS{f+M~d;aiX ztz)hEgnOCY-ks}eBP**UfItFZ{Jc4PA}wEj|Gn`yGC5vHjx3T)EDn?5Bt=P963WpH zZjxeQ#1sR92|`4;aY*=HrRtLL|$)DUn{^wYMO9np+8bLU;=@d|q6H z+tgZnf|RmMp(x;W{hveoj<;v-Fl9N7-<^BP$69kd_Ee%>{8vvrKR=J?U;U==Lq)AC znC-TpiKN@MCL>#Km32+tm-F$>dnj${yblmS4Jm!qE6YZ(CRiPUM{gPp&U@R0VeT`Dk&OtwBni6bzn^6|Ny|P#a{DRr};$`qMAOiV>8!@ zlkCcho`_=s%){`!oIU{L3_v6o33(K68ZonhS(ZCpXaWS1y8&~7!MUa6Cy&EexCd1k zU)oW-o%O)2r=8(D@$yYy>Xj-b=_Ad$JoYtjDgII0yf`*Z^XSn@pY>{7gH6$gipH+u zGAohP;9bsLOqLBl-NQTccXRCP7j}9Ej~o+BI-0=@c-nsrZhM6+GoUnv7AxFIC2fR~PG=?!4c?+n|BRlij#EW}d`1%_zYf|EkJ@fY8jC_*=8OhcA zw(imHXTQ1TK)7{B6(5OGa?4C=`;D%9(CladR=83DZYJcKJef(wYSvA28%J6+PfdbZ zowwaQn_#SXalCa%4E-^0{P*r)i8(-x@%FtcCIzWC|Y z@B77KVd;ASsecWq2UnQ`vYOHzuqYgpB|xp|12~GCxYm`#8?4)b{Tz|fXpU4Ah4z6w zlYvt0ch-o(CAn!_#|M?ukY_nQ%%DVC#b{9cXquoEPtV?FL7L49!uyxU1{&EHNSDNJ+<=K`#c|+zWdnMyn9$WHO<+xXZZSSE-1;|6=jn#TwT+|qR{rb zH#IZ9Mw>UCaP7;PI|LEm-FK{ueWu+Fr=fdmc=psu&&EB&pxd4xDHW};5u=&rQjJ}Y ztzw@@(%s!nscmPoaElzJ*~xDia9!ul@NR}a8$&c5@tTik#x%(}*w^o@O>+)#Hi?`^ zyk>hwQ^pPp&Lz$LFHWBI-BYF6(ph6OjS#b{y=qP$1tZ2Q*aG;LzmG*GJ9aARI2i`NV}_}y9ky?HeUMq{Xb z4J?^^k2y%81ueS)2s4sO51QEweja3oi-J?+F5^FYXS*cbi9cyJ;Mvkg*4`ZZntK^H z*fkDPO`K@Q)jLNZkRSl!@S9AhhineDI_D!Tw-Ac7p;?-74`P0dup1LW;0K&t)ggeXPWai zhC~}BX$9YWbOWg$yw*%+C~E^!0}R@?{`5Q78tn;lH2Jmt&LKYDd7|Rk^dZi9rTH$D z*8&t|E><(CZWyuv!8ri>FYR$8KmG3e@6r7Y3`rge>b0ArjC*XRkdR4GdGswdctC+X z0d%VSze1)Mq2szQGY2qr6kR{px18}Q?bM6AbCR&f^18H96H#2Os`Fk5LLv#Zg-=|1 z86%dKNMlMQQG22mG{ghCEo??o?K910@_9d;b8hB`qhdV=I~v*EZdNzzvrDpgsT7q% zba0)rl_Os$lk60YrDHzS@!0Jt$6NZs6j--?@Zd+YS@+fNyS_sYGc$Pg8#V(Y42V@< zqaC_!7A*Nz%QA8Q1UH+I0?O=3TX@a*Gs&sbrI8a%$2QU|%Ur2!Mw_NdO^P)04{5vtSz;87h-G zzTK;Vm8-qsRldWuZ*bGHpB2+}&7ZpFnv)WNgDNaLm}8vVqHgCriT)YxT^d zx3CqVlUX~Pd((v3#>?^D(0pw>mr8HrwLVI)=6$F&vFU(Ye+(*se7oG(J$KKJea&75 zaNZYMFn!Jfo~#}-@!X|t-@Kcw+};}i#iXRGEAu&N&7*%hn_VrR|9^|cqUnDFz|l!z zIgJdx%#ucwq6#!MWVcw=f3o%+)pv#~G(l6}-!*x*-EO5HuwIgwU}2aA$=5CTP zBmg~9=|}*W{~|pCn`f7=UM?4Z1)#O(l1yFAS5#y;047306go#Qz>0k+LsGUF9DFx| z4gjE!Jb4d$-o5R%N3iSwDm%t)EGs3N+?Yx+1Yp+WArS$diYs}UqXAHw^#Cy=8FHhC z%>syIBE!y8)1Y~zrd^tk-%B-8wUWeyLKiroR_e|kz|*f+ym`~PUmEMjTJwo|V!em2 zA}O+HOegavvl*^lyn6W(eGxi)<@V7da%~VKKm;RmI_WQ}A}RJ}OWMjYi?_62sd)wi z5^Q84#b{6{VWJ?F-*ftg~hQ=2~j)ZzFC zk!T-}53|R|F4Sn;M7Z(?E{62D4Tmfhh079K4up2TmsU|Dr z`9#GNM;f4}Sak%`cW0aYVD0b{wuxq{0gx@~+}Z(I21+n?)XT}%axBSc7=Tr8nuf-R zGSzMaFrP(z|F*PQ(=^NGS<@u5Ry1X!RS3!^*3YHK$+u?x>KdmD?BZb+{$xezcBw`x zn}*Xf=3CgGADFRI|5_iR3Nw93vDqIo_29PeIU}Bfc+h|elZ41Tu;F^E1+2BM2l0h#}aX-|-fEyXbkH#99XU+gD>_OYK znmuaU7Jic5G2ZQlXhor_#)MNbfla?n?tY?GcN1Iv`?g2T;Qm99C{yp_ z9O}L53)cIceS3j7dad!Fx9v^V-rH?)Zu2O00|?2@JS8)0A3ZubJ=N94)zuZc9WH+* zw_4JO#c&l$XJdBw6i1IeJ)@7E3pqeLKG~VByg_Z1V7Zd>tkhWJgq(HWRFdRqbh9*n z(9GwNPNgAKrZ9>4b}f5vY-f(}%_mfA4yi9O-3xHvMbPgk93k_ye@+ZwCdK6tFYz5d zDX}x<_J(e4iZMlB&<+SqBm_FlXzWvq8T`Q`bvW=jB(yV|F4Ov%X1qBo}mT082z!)5?7 zW&py@Qj;`$lG=ve_7ZYC>;bL1#A{olq&KcCHGA_8g=Q$DeybW(Fsx~VG#F}6^jig| zi#p3AXfWtwYi!bS-t;zJWesS!r*|s_2Z)ihrb*3{$5<>fE&+J-Il^cqh+#`9Zj&^) zfsPmhS7qO$u5q`+4>HpJpx8J@Zy4vcG@Xt|qbhQl){gd`LOj z`Rfj0W{d>Tq>wBq8T?u1Qhv#19^Fzx@G>Qr+Lf`Js8t?iw|2%%1KV}ac`Lw)H7Z~g z;I(#0gAg=Ia&}2XsIgeBSW5#MlP3hGN1U@taRbF zRur$JrVaZA8`H8Yt7V$pWF+Y%$*>fXrs^lRCN*h(&g9?&kYbXqNsqw~=^Uti1&ANF z6Y#Ottof=PvJ|BwfPg-`l!}22cz3Wv(?k$mYpQqGV)0$aUOES<(qG(Wo%?rvKm}1N}(e?Bs zd%3w=E|qEtKt2yzxJg?0OcHczW=dyG)0mwkPu4yzg-!!Bq>1mLVKeO;6YsA>SlGie zXuoD+e0IME_9?;w?R@3iZ}39IsMFRVULQph9{?g~Dbad?9~sa1lj9BF*Jk(z-1=S- zrJa#dk`PkqXGX`#nyVR-`mW0n5uK#oo2E&Y9=e;iG&6@6+Oe5|2+7<^fhI{yMFBu# zMvS{BPe}^5#>_64s@enh+35)Yw{tT?b50VNmAK%ooVIBD!1pqcIvyWut=WSw zM1Nylu)D@J?@ZC&)q}*U)0t|Zb@w?+*}Df#s`7G=G9$YTU0Gg2Jz}Z8cjQ2y6gfii znh~^!$ZglhQYH&&S(|`aYLd^+NWxE>Cehnj(-00&eNCrCz+C{We}RauU-r3QEIKK^ z)8~KmCx6<{{~mz8nJeUiI0lzC3W?ohY3BwFmyqc+Gu`nbwSB;+@UT`o1627pj&@QQ5vy5gdj3n);fD z*c2clLV5Xmxp=wg`<&56|t(|ch1Xd3ixzQv;OvH zVm&U%I^~GC5_+P8dgP@cTmglmmjcLBcXT5iR#aUiBlkp}v1>fK{1S!;>-!wVb8Be^ zMBkA#Z_SuYIrl8t43W)jp(VPDNDd-Jrm+j7QPI;#TL2Jd*vzfcfnL9{rDK}@JpKF3 z+uifiJ?VB!vi&^kkc%G@VmaoK@6fW|l0kl~H6QA+u5H;d*S;6l%-d!FDb)2HB1c3- z+vWVFHmXir@9^|SR+HOY-Ogu)b+yg zcc#7OUDGLl5R~VT-1lRxd4n{CDM+E4eeI_J!1fn2FxcWiJ`T4=2Z!`c)E>KV-P`Gn zTyNhpJ7d0LzclnhZ^%BJg&yja8-+nm=7^RaP%cw8H-#XPbZ6h^;ViYq3(;XYSY(+* zk!}J`kRm{afwT;F_aq?af+DMrGWs4XPUYHE_8>Qk(d{*H+*l9BYv2I(T^gTYmqYO3 zHNp?7R>qqEC%ZA%@YvUUNHEIVm^Y1jxp%zUR0Efr`X(u+lm5|}v^dL@@=@q{Ry}Pw zKF!EIqcK^kb-`RAg)(G-d8G%tdoj?9#iIP>l)APN`2CjA7GCRrd^^}hckN}a@7F%) zjE9e{)=(2&Z}p2rmYS)mXnOfhIJhy<&P*@1!k5WFNQpNiIYWqY>6IoPG@Nb?c3;BV z8R4Aju zfkEFH5kiC%=Jgyp(%|5eHLUFj2*#`B)%S)R3b4%sgGIru#W{v=NBhoytl=YjZfWi5 zWwe$Gb=~ep*sp0C`nWxgGtM1A3(IrG`h?PUbG}N&-<2j>+=WU?lo1a3E-Co2)*O#_ zi-<=K<{S}FM2^UjbMJ$yDApf7XyqHkWy0iYd8n*-UZ^0Ax(VKH?xlZUY9t!{@Cg=vFRvq^pwCmV$j54oZ5YcGI?SP z;x~HD9F(%ad@CK(U7}!iqZO-l&vHcWnXlM)DK8yi$caH@C_AIjfrUzRiD|zR5CX{} zXVAeQLlLAD8FG3+LTH6_m37)IY`Ov`0FK4t^1H?}7&hpq-@KUI^#5*?gKf;KIk-Uh zo=H$19S*Oz5ngi|s8uH2=sg_QzQ-Vni=q=YIF21_&8IE_e;+;a!O_fSBbJ^w9)x&otQ{KHD>c;q{E+)m<&$@E4xuNgjylt^$8|H5i*_4&se9NS1CnX+3n( zcC0lYdM^<8u$e&?kr|OA`%n$1Wzoz)mjXGP*^sMSAQm5;KvVLF73apxLNxOP<_NkK zc8#Rsdr-k~uR2UKFWGX%=lt^WVm?1%;t!+D{((rngLByN_%Lft!53Byb+C-En4#iQBFMZR_JqVAx;axD?P@@rEtGF8aI$}C%bi6tG%fTWPr09e9kloV0P zcmc_xaQu`BDp-}AMuo_cy;8h53!i1;PwsFIvz+DCs|P1dx8t1Y&HSQlM?b4o3PQ=5 z8cgo&4uxjwAH1)l*?xwAmyq&3=**NUX4m@F`gI_cc$`Chv>?u#_!GbNDqK7t2I^go zDAV5@nWVXoMtmIgem1D6>5>pr6P(i2Foynx!9g${CA+Tf-OA6gmP<#{>m5!27q4GG zdG_=jG%PDG9^MbH*SLjA9rD;)qBFZ?na92cKM-R$CMiX%UqAZ9wyrSU1f$6SOe=?a zZgoDk!yk{=H~|mWPyk@~b-DyjvoUX8!*|Vb%nohA0jwG3DL-{%%5fje`^kR3_E2#n--IaM5ep!I zY?NRDBqXR0YiLkbL`G33Az))FmW`<_5fG^i*bpcMQ_i%r)#)ldMXhL?mwriu>T-~z z%}V}fUS86JLEKi$W4rek)Bcf22Sr)zzB6~{SPo;rYX4sPXh_%F;MrQV`}JCF+p|yi z-F@Hqdns5_&r54_^c(&Vf|GBH^}f$XL=@~cM-)AGfmTSmIbf24bWai8hMvUDr1!Z-v>k&jWb#I(akV%)QU520{GY zaq*AR6DPeF4tv!(tr?b8D(u1Oqx@Zp$Y#h9H$ieS_9NRaB-+lCE&WSfhi%2X(OqiO zTag-ukH`fP5xq-R^SMJUD6K2QRUui1fzi}VOGWJhCTAcI z5fBqU^YU|nq8mvDUM((?!pwK%WNSCq=>{aCAR3dNvT8>aw<{1@A2aP2Obxr#;C86q zN-OK!i$UUjo1;a9 zIOw)%WSCJjI&69m^vXNeRilxVAta;GnM*w}FI3`^in&3JtoM3NVp-Li%1fXDXswmh z=iHj#S1(gF2YMIX@y&VI zu^@AVTM6)nk(PYj&C;fGC>CCyk+jf&4Qt@?O>0dU04w>q@*#($THknPao%!3t#|C+ zK?6eaRvOoh&S;m{r)_k&{DCr3MsAcO8sW|{^5s}-?)h9#CNgV-)5pJj{_<}g>DS{F z*3ke^UTjPUSk|JvXYJh1nJQ@nxAgJfhs)gC0<@lusVJ?99805sjwXallFb4#>y)Ep zP{K5V3wg)aN&tPkT4~J$Ak!qF-?CG%qE2X57fRt1S^&ttdL9Lu<|Nds@96E$4yGa+ zlhu3h?%Kmks{PcoM%cVoaiPjRaku|40T7p`?NeIMtcQ?}7|6%32Gfcs}8$f7;y3$;_pKm}N9N z)eV{(wit;NNcv5f+VQ)}DRmwEKBc^7z1{qmps!zX(AuO$^zIhD1MTllUfe2OiXnGexuq8f~2 z2`Mv$$x8|frD0YSaIxYpYbqY!q2e(TlRgDi*+dY1y7~O%$u35;@orNPG*3B4U5LyESNNJTr2QM@h{*AH ze)<5MOA2IubaU_Y{;%Zz;6eZT^_n@rcAkMgepUX|VRt}$eKksxUAxE|t1NTJv-x2Q z=ql&L)236Oc^tf)-#gFc+RA0R51*R1dgDtnGm&W9(q>j#k&axxcXjk-B763aUcUa_ zL;Jr06gGX4C|8aQxl<$aCcVrLn`}RQ^(+ER$_DnuVK7>)uE7S}G2rQU`RT4UN(J}z z6=$UIXx4E7yCy4rE%(|$vM-HN&`M*RlJ3?GE8It-<(4N~m4TI;(@BJ7wU~ zxX*5LpGx}+6u3GyFW{7TU&zx5s zf$1POv|ZU!;-0js9}K-p#bjnwIp^tpJ;iRPOZXI*+1B!LqA8<~zwm1rNyG|m8D>Bk zfO|8RFUw$nP7PLERbg+wuRGXTXkz6AruFa8cjshpIL^e5%2M2FG;vD0p@T2+()oGHnak_ep9)@tKH^Xw+w$MP zn>)%dNaBGWy&rzp#kG8yAL;}5t4yex@m8j69#ZLCiZFS7 z_CWyCdG;>tMP>SqnuAbWuZOn%_kC>FxH|cYaf(zQE!$3;+=I?+=5uc+XYUkNZ{#AZ zm%UufzsfA>ni$R=HIlmY^yK6OCqJ9`B54}4bL?y0 zDPgv@|AM7-^2HagfA`zs)shTd-|^%1o!@F_G_q;NYf+MIU6kgwv)1HEk(&DT@5^=F z-}7+K2CcloyEt;b4P>N>Iryf0WxfS(nH-VaXS12j=kcy=l8=4O-he_=tT0P9IY*P1 z(dXq?|3}|-v-CoeAMBF1KIMr!dfvaQzGis0F(f|jT8gB#5q>=vcH{(aeB`N#(R%-~y91)Oa~FK#n8(d?c7P`P5T6oh zg}x6(xB~#S<2&i>4^B=_c=9>SBR<-F(+BCx7a@}HWKBE&{PTGJJTG3jr;>1Vw^71} zHHvz31gcIq!tNK$TKVQpj8~>WwC-y@WxU;E^{(?3ZpdAjEbH_6obx$IBNm|NQxb{MTld^kQ5$wlA?8e1G5LzGm8$?7M>V)~B-xY8!d- zN!<=#r3a(*owJo~f8Vl__nR8%iBs2YJdL)JC(B!L?sMMbI;(fe`P^2D=gG!sEt_er zudzEPH;Jo0F4PZMI_lU)1lu1!I6I5<0D#bJ`0^b4n)eUCFiQ^~e%`j-*T3!h?&GEm zujps%W#tgg;RomA&l@3@1DMS_JKX#2Wv+R)ZEUzYjXEEmKSuimxyPq>yr+Fl)dBMY zfOHDL)Qu}lS@+8K=eWAOc)j@kFLTc4@#~MRuPJG8J8F$x)7SV8tXJ25=3DeNq-n<) z+Q&)SZD(1#h8^j^MZ;|yJer|Z+LN@6`lyivxJ{tCzUEf;`MRR(`o3nPGukOv2N0S8 zFg{3a8xMbGW=f`EJJsZybH0y#%@5C`t>R|!=t&ueoW>+|d{G zxyx5C7mI~n{XXa3`YUrMUf-^(y5*&CTf55pdw$*&PjHwo&v0){nJ>2gCbTVfZbY!*z)Wd;W5ZRXhkLY$M}E++BlmbKbOVN~h))JTbGu zYvSW1&U|vUhGcL7z|}zky@rJD0?Q@r^7cxsTUL)B=J|O~?`H>7=7x4y+WS~;2^n>} zTCg^kA#pRUMK?eH8XFMTrMrlS(rLKsZ;VLiAb}Qu)ZTfGIo2Aym-tRuH=?jwi6L!P z#d+it(`xFrTeCfTguQzf+gWP%&8_y&S$5Z&;{JEPpLgwZ-O`4=4$!sL2JY|}T`_|P z-{eoazI?Q~mo>o}422ix3YmUe9_$d3P ziJ{O9xC4sk-ol>*sqwM7svk(s9gH2bjobi00000NkvXXu0mjf^d23i literal 0 HcmV?d00001 diff --git a/mockups/canvases/flashcard-onboarding/crops.json b/mockups/canvases/flashcard-onboarding/crops.json new file mode 100644 index 00000000..49a67989 --- /dev/null +++ b/mockups/canvases/flashcard-onboarding/crops.json @@ -0,0 +1,52 @@ +{ + "_": "Art cut from assets/refs/cN.png at measured pt boxes, 1.337 px per pt. gen.py writes assets/art/.png and places each back at its own box, so an asset cannot drift from where it was measured. Everything else on these screens -- the type, the nav track, both pills, the arrows, the two buttons, the status bar clock -- is CSS.", + "01-hero": [ + "c1", + 13.5, + 56.2, + 378.5, + 530.5 + ], + "02-hero": [ + "c2", + 13.5, + 56.2, + 378.5, + 530.5 + ], + "03-hero": [ + "c3", + 13.5, + 56.2, + 378.5, + 530.5 + ], + "01-path": [ + "c1", + 97.2, + 768.7, + 295.5, + 825.5 + ], + "02-path": [ + "c2", + 97.2, + 768.7, + 295.5, + 825.5 + ], + "03-path": [ + "c3", + 97.2, + 768.7, + 295.5, + 825.5 + ], + "04-cup": [ + "c4", + 58.0, + 172.0, + 340.0, + 408.0 + ] +} diff --git a/mockups/canvases/flashcard-onboarding/gen.py b/mockups/canvases/flashcard-onboarding/gen.py new file mode 100644 index 00000000..df71d9d6 --- /dev/null +++ b/mockups/canvases/flashcard-onboarding/gen.py @@ -0,0 +1,598 @@ +"""Emit mockups/canvases/flashcard-onboarding/ from four frames of a video. + +Four onboarding screens at 393 x 852 pt, cloned from a 1080 x 1350 H.264 clip +of a flashcard app walkthrough. The phone's screen window inside that clip is +525 x 1140 px, so the scale is 1.337 px per pt (525/393 = 1.3359, 1140/852 = +1.3380, 0.16% apart), and every number below was read at that scale. + +Chrome is CSS -- type, the nav track, both pills, the arrows, the two buttons, +the status bar clock. Illustration is cropped out of the frames at its own +measured box: `crops.json` names each box, `cut()` writes assets/art/.png +and `art()` places the back at the same numbers, so an asset cannot +drift from where it was measured. See the README for what that costs here. + + python3 mockups/canvases/flashcard-onboarding/gen.py + +Artboards are output. Edit this file, never the HTML. +""" +import base64 +import json +from pathlib import Path + +OUT = Path(__file__).resolve().parent +REFS_DIR = OUT / "assets" / "refs" +ART_DIR = OUT / "assets" / "art" +CROPS = {k: v for k, v in json.loads((OUT / "crops.json").read_text()).items() + if not k.startswith("_")} +SCALE = 1.337 # capture px per design pt + +NAME = "Flashcard Onboarding" +PAGE_NAME = "(example) " + NAME +P = "f" + +# ---------------------------------------------------------------- tokens ---- +# (group, name, value, evidence). Every box below is design pt on the 525 x +# 1140 crops in assets/refs, replayable from probes.json with --pt 1.337. +TOKENS = [ + ("Font", "font", + 'system-ui,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif', + "SF Pro, not Rounded: the terminals on 'Create Account' are cut, not round, " + "at 3x. Four measured strings run 3.3-5.2% narrower than system-ui, a " + "1.9-point spread that --x-tracking absorbs, against 2.5-7.1% and a " + "4.6-point spread for SF Pro Rounded"), + ("Font", "tracking", "-.025em", + "every string is narrower than its untracked setting by an amount that " + "scales with character count, not with width: 5.0px over 13 gaps on the " + "eyebrow and 12.8 over 35 on the subtitle, ratio .391 against .371 " + "predicted by tracking and .533 by a narrower face. The four strings solve " + "to -.0257, -.0244, -.0248 and -.0266em across 15px and 36px, so one " + "figure covers the whole ramp. It has to be set on each rule: " + "letter-spacing inherits as a computed length, so an em on body reaches a " + "36px title as body's own -.4px and tracks it at a third of the intent"), + + ("Surface", "bg", "#FFFFFF", + "flat census on c4 y700-760 is 100% #FDFDFD, but 2801 px elsewhere hit 255: " + "the 2-level floor is H.264 flat-field quantization, not an off-white"), + ("Surface", "card", "#FDFAF4", + "flat run c4 row 185, x 97.4..285.9 -- the warm panel behind the trophy"), + ("Surface", "track", "#F4F4F4", + "flat run c1 col 120, y 770.2..787.4 and 800.9..824.8 -- the nav track"), + ("Surface", "pill-off", "#C1C1C1", + "flat census inside the disabled back pill, 50.6% of 3221 flat px"), + + ("Line", "hairline", "#EFEFEF", + "Login outline: c4 row 651 x 364.0..365.5, c4 col 40 y 623.3..625.5"), + + ("Ink", "ink", "#000000", + "ink core (darkest 2%) of the eyebrow, both title lines and the legal bold"), + ("Ink", "ink-mid", "#3A3A3A", "ink core of the Login label, c4"), + ("Ink", "ink-2", "#7E7E7E", + "subtitle ink core #7D7D7D on c1 and c4, legal-line grey #7F7F7F; " + "one token at the midpoint"), + ("Ink", "ink-inv", "#FFFFFF", + "brightest 2% of the back arrow is #FEFEFE, on the same 2-level floor as bg"), + + ("Accent", "accent", "#F39D05", + "flat fill of the walked segment of the progress path, c2 and c3; the nodes " + "themselves are 25pt across at 1.337 px/pt, too small for a census. Every " + "amber element on a screen is cropped art, so this token is used only by " + "the foundations boards"), + + ("Fill", "pill-dark", + "linear-gradient(180deg,#8A8A8A 0,#3C3C3C 6.8px,#141414 15.7px," + "#0F0F0F 30px,#090909 41px,#040404 100%)", + "column profile c2 col 336 (next) and col 55 (back), y 768.7..825.5; the " + "two pills profile identically, so an enabled back pill is the same fill"), + ("Fill", "pill-grey", + "linear-gradient(180deg,#DADADA 0,#D2D2D2 4.5px,#C4C4C4 9.8px," + "#C1C1C1 30px,#C1C1C1 100%)", + "column profile c1 col 55, y 768.7..825.5 -- back is disabled on 01 only"), + ("Fill", "btn-dark", + "linear-gradient(180deg,#8A8A8A 0,#3C3C3C 5px,#000000 12px,#000000 100%)", + "column profile c4 col 340, y 560.5..616.6 -- Create Account"), + + ("Radius", "r-pill", "999px", + "by construction: both nav pills and both buttons are h/2 caps"), + ("Radius", "r-phone", "52px", + "circular stand-in for the 55pt continuous display corner"), + + ("Type", "t-eyebrow", "600 15px/18px var(--x-font)", + "cap 11.2 at 573.7..584.9 on c1; 'SMART LEARNING' spans 125.7 tracked"), + ("Type", "t-title", "700 36px/42.3px var(--x-font)", + "flat cap 'R' 25.4 on c4 (25.4/0.7046 = 36.0); baselines 629.8 and 672.1"), + ("Type", "t-sub", "400 15px/18.7px var(--x-font)", + "flat cap 'E' 11.2 on c1 subtitle; line tops 688.1 and 706.8"), + ("Type", "t-btn", "600 20px/24px var(--x-font)", + "'Login' cap top 643.2 to descender 661.2 solves 20.0 at cap .7046 desc .213"), + ("Type", "t-legal", "400 13px/17.2px var(--x-font)", + "band 12.7 ascender-to-descender at 769.6..782.3, pitch 17.2"), + ("Type", "t-time", "590 17px/22px var(--x-font)", + "status bar digits 12.7 tall at 20.2..32.9, spanning 32.2 untracked -- " + "iOS chrome, so it opts out of --x-tracking"), + + ("Metrics", "w", "393px", "iPhone 15/16 logical width"), + ("Metrics", "h", "852px", "iPhone 15/16 logical height"), + ("Metrics", "status", "54px", "iOS status bar, Dynamic Island devices"), + ("Metrics", "nav-y", "768.7px", "c1 col 336, the next pill's top edge"), + ("Metrics", "nav-h", "56.8px", "c1 col 336, 768.7..825.5"), +] + + +def _root(): + """One :root block, byte-identical in every board. No `}` inside it: + refkit tokens reads it with a non-greedy regex.""" + out, seen = [":root{"], None + for group, name, value, _ in TOKENS: + if group != seen: + out.append("" if seen else None) + out.append(" /* %s */" % group) + seen = group + out.append(" --x-%s:%s;" % (name, value)) + return "\n".join(x for x in out if x is not None) + "\n}" + + +TOKENS_CSS = _root() + +# ------------------------------------------------------------------ art ---- +def cut(): + """Refresh assets/art/ from assets/refs/ at the boxes in crops.json.""" + if not REFS_DIR.exists(): + return # a fresh clone has no captures; art/ is committed + try: + from PIL import Image # noqa: local dep + except ImportError: + print("%-24s %6s (no Pillow; assets/art/ left as committed)" + % ("assets/art/", "-")) + return + ART_DIR.mkdir(parents=True, exist_ok=True) + src, n = {}, 0 + for cid, (ref, x0, y0, x1, y1) in CROPS.items(): + f = REFS_DIR / (ref + ".png") + if not f.exists(): + continue + if ref not in src: + src[ref] = Image.open(f).convert("RGB") + box = tuple(round(v * SCALE) for v in (x0, y0, x1, y1)) + src[ref].crop(box).save(ART_DIR / (cid + ".png"), optimize=True) + n += 1 + print("%-24s %6d crops" % ("assets/art/", n)) + + +def _uri(cid): + f = ART_DIR / (cid + ".png") + return ("data:image/png;base64," + base64.b64encode(f.read_bytes()).decode() + if f.exists() else "") + + +def art(cid): + """One , placed at the box it was measured from.""" + _, x0, y0, x1, y1 = CROPS[cid] + return ('' % (_uri(cid), x0, y0, x1 - x0, y1 - y0)) + + +# ------------------------------------------------- placing type by its ink ---- +# Every type position in this folder was measured as a baseline, because a +# baseline is the one thing a string of any content puts in the same place: an +# ink top moves with the tallest glyph, and "Climb the Global" has no +# descender where "Take on Challenges," has two. SF Pro Rounded reports hhea +# ascender .952 and descender .213 per em, and a browser centres that +# 1.165em content box in the line box, so: +ASC, DESC = 0.952, 0.213 + + +def bt(baseline, fs, lh): + """The `top` that lands a single line's baseline where it was measured.""" + return baseline - ((lh - (ASC + DESC) * fs) / 2 + ASC * fs) + + +# ------------------------------------------------------------ phone frame ---- +BASE = """*{box-sizing:border-box;margin:0;padding:0} +body{font-family:var(--x-font);-webkit-font-smoothing:antialiased; + display:flex;justify-content:center;padding:24px}""" + +PHONE = """.phone{position:relative;flex:none;width:var(--x-w);height:var(--x-h); + border-radius:var(--x-r-phone);overflow:hidden;background:var(--x-bg);color:var(--x-ink);transform:translateZ(0); + box-shadow:0 0 0 11px #1D191A,0 0 0 12.5px #3A3735,0 24px 60px rgba(29,25,26,.28)} +.sb{position:absolute;left:0;top:0;width:var(--x-w);height:var(--x-status);z-index:6} +.sb .time{position:absolute;left:0;top:18.2px;width:142.4px;text-align:center; + font:var(--x-t-time)} +.sb svg{position:absolute;display:block;fill:currentColor} +.sb .island{position:absolute;top:11px;left:50%;transform:translateX(-50%); + width:125px;height:36px;border-radius:20px;background:#000} +.home{position:absolute;left:50%;bottom:8px;transform:translateX(-50%); + width:139px;height:5px;border-radius:3px;background:currentColor;z-index:6} +img.a{position:absolute;display:block}""" + +# Cellular, wifi, battery at their measured status-bar positions, inheriting +# currentColor so one call recolours the whole bar. +SB_ICONS = ( + '' + '' + '' + '' + '' + '' + '' + '' + '' + '') + +# The repo's standard status bar, lifted from templates/gen.py, chrome and all. +# The source's own bar differs -- the clock sits 2.5pt higher and the right-hand +# cluster carries a fourth glyph reading "32" between wifi and the battery -- +# but the frame around a board is the repo's, not the source's, the same call +# the Dynamic Island and the home indicator already make. See the README. +def statusbar(colour="var(--x-ink)", time="9:41"): + return ('

' + '
%s
%s
' + % (colour, time, SB_ICONS)) + + +def home(colour="var(--x-ink)"): + return '
' % colour + + +# ----------------------------------------------------------------- emit ---- +def page(title, body, extra_css=""): + html = ('\n\n\n\n' + '%s\n\n\n\n%s\n\n\n' + % (title, TOKENS_CSS, BASE, PHONE, extra_css, body)) + return html.replace("--x-", "--%s-" % P) + + +def write(name, html): + (OUT / (name + ".html")).write_text(html) + print(name, len(html)) + + +# --------------------------------------------------- foundations boards ---- +SHEET = """body{padding:0;background:var(--x-bg);color:var(--x-ink)} +.sheet{width:478px;height:980px;padding:20px;overflow:hidden} +h1{font:600 17px/22px var(--x-font);margin-bottom:2px} +header p{font:400 11px/15px var(--x-font);color:var(--x-ink-2);margin-bottom:14px} +h2{font:600 9px/12px var(--x-font);letter-spacing:.8px;text-transform:uppercase; + color:var(--x-ink-2);margin:12px 0 5px} +.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px} +.sw .chip{height:26px;border-radius:6px;border:1px solid var(--x-hairline)} +.sw b{display:block;margin-top:3px;font:600 8.5px/11px ui-monospace,Menlo,monospace} +.sw i{display:block;font:400 8px/11px ui-monospace,Menlo,monospace; + color:var(--x-ink-2);font-style:normal;word-break:break-all} +.rad{display:flex;gap:9px} +.rb{width:44px;height:26px;background:var(--x-card);border:1px solid var(--x-hairline)} +.rad em{display:block;margin-top:2px;font:400 8.5px/11px var(--x-font); + color:var(--x-ink-2);font-style:normal;text-align:center} +.tr{display:flex;align-items:baseline;justify-content:space-between;gap:10px; + padding-bottom:2px;border-bottom:1px solid var(--x-hairline)} +.tr span{white-space:nowrap;overflow:hidden} +.tr em{font:400 8px/11px ui-monospace,Menlo,monospace;color:var(--x-ink-2); + font-style:normal;white-space:nowrap;flex:none} +.met{font:400 9px/13px ui-monospace,Menlo,monospace;color:var(--x-ink-2)} +table.ev{width:100%;border-collapse:collapse} +table.ev td{vertical-align:top;padding:2.5px 6px 2.5px 0; + border-bottom:1px solid var(--x-hairline);font:400 8.5px/11px var(--x-font)} +td.t,td.v{font-family:ui-monospace,Menlo,monospace} +td.t{color:var(--x-accent);white-space:nowrap} +td.v{color:var(--x-ink-mid);max-width:132px;word-break:break-all} +td.e{color:var(--x-ink-2)}""" + + +def _of(group): + return [t for t in TOKENS if t[0] == group] + + +def token_board(): + swatches = "".join( + '
' + '--x-%s%s
' % (n, n, v) + for g in ("Surface", "Line", "Ink", "Accent", "Fill") for _, n, v, _ in _of(g)) + radii = "".join( + '
%s
' % (v, v) + for _, n, v, _ in _of("Radius") if n != "r-phone") + type_ = "".join( + '
Grumpy wizards' + '--x-%s · %s
' % (n, n, v.split(" var")[0]) + for _, n, v, _ in _of("Type")) + met = "
".join("--x-%s: %s" % (n, v) for _, n, v, _ in _of("Metrics")) + return page(NAME + " - Design Tokens", + '

%s

' + '

Four onboarding screens, measured off a 1080 × 1350 video ' + 'at 1.337 capture px per design pt. Every value below is a ' + 'measurement; the row that justifies it is on 00b, and the probe ' + 'that produced it is in probes.json.

' + '

Colour

%s
' + '

Radius

%s
' + '

Type

%s' + '

Metrics

%s
' + % (NAME, swatches, radii, type_, met), SHEET) + + +EV_ROWS = 10 # rows that fit the 478 x 980 box; the table splits past this +ART_BOARD = "00%s-art" % "bcdefg"[-(-len(TOKENS) // EV_ROWS)] # after the last one + + +def evidence_boards(): + """The evidence table, split across as many boards as it needs. It is the + deliverable of Phase 1: trim the board count, never the rows.""" + pages = [TOKENS[i:i + EV_ROWS] for i in range(0, len(TOKENS), EV_ROWS)] + for i, chunk in enumerate(pages): + rows = "".join( + '--x-%s%s%s' + % (n, v, e) for _, n, v, e in chunk) + of = " %d/%d" % (i + 1, len(pages)) if len(pages) > 1 else "" + yield ("00%s-evidence" % "bcdefg"[i], + page(NAME + " - Evidence" + of, + '

Evidence%s

' + '

One row per token. A token with no evidence is a guess.

' + '
%s
' % (of, rows), SHEET)) + + +# ------------------------------------------------------------ art board ---- +# The board that answers "which of this is a picture?". Every crop is declared +# once as a background-image class and used twice: at its measured pt box on a +# scaled-down phone, and again in the contact sheet. +MINI_W = 100.0 +MINI_S = MINI_W / 393.0 + +ART_BOARD_CSS = SHEET + """ +.rule{font:400 9px/13px ui-monospace,Menlo,monospace;color:var(--x-ink-2); + margin:-10px 0 13px} +.minis{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:2px} +.mini{position:relative;width:%.1fpx;height:%.1fpx;overflow:hidden; + border-radius:9px;border:1px solid var(--x-hairline);background:var(--x-bg)} +.mini .in{position:absolute;left:0;top:0;width:393px;height:852px; + transform:scale(%.5f);transform-origin:0 0} +.mini em{position:absolute;left:5px;bottom:4px;font-style:normal; + font:600 8px/11px ui-monospace,Menlo,monospace;color:var(--x-ink-mid); + background:rgba(255,255,255,.9);padding:1px 4px;border-radius:3px} +b.i{display:block;background-repeat:no-repeat} +.mini b.i{position:absolute;background-size:100%% 100%%} +.cs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px} +.cs figure{border:1px solid var(--x-hairline);border-radius:5px;padding:4px; + background:var(--x-bg)} +.cs b.i{height:74px;background-size:contain;background-position:center} +.cs figcaption{margin-top:3px;font:400 8px/11px ui-monospace,Menlo,monospace; + color:var(--x-ink-2)} +.cs figcaption b{color:var(--x-ink-mid)} +""" % (MINI_W, round(852 * MINI_S, 1), MINI_S) + + +def art_classes(): + """One background-image rule per crop, so each data URI is embedded once.""" + return "".join(".i-%s{background-image:url(%s)}" % (c, _uri(c)) + for c in CROPS if _uri(c)) + + +def tile(cid, style=""): + return '' % (cid, ' style="%s"' % style if style else "") + + +def mini(ref, label): + """One screen scaled down, carrying its art and nothing else.""" + ids = [c for c in CROPS if c.startswith(ref + "-")] + inner = "".join( + tile(c, "left:%.1fpx;top:%.1fpx;width:%.1fpx;height:%.1fpx" + % (CROPS[c][1], CROPS[c][2], + CROPS[c][3] - CROPS[c][1], CROPS[c][4] - CROPS[c][2])) + for c in ids) + # data-clip-ok: .in keeps its 393x852 layout box under the transform, + # so the overflow check sees a clip that is not one. + return ('
%s
' + '%s · %d
' % (inner, label, len(ids))) + + +def art_board(): + minis = "".join(mini(s[:2], s[3:]) for s, _, _ in SCREENS) + sheet_ = "".join( + '
%s
%s
%s · %.0f×%.0f pt' + '
' + % (tile(c), c, CROPS[c][0], CROPS[c][3] - CROPS[c][1], + CROPS[c][4] - CROPS[c][2]) + for c in CROPS if _uri(c)) + return page( + NAME + " - Art assets", + '

Art assets

' + '

%d crops, cut from the four frames at the pt boxes in ' + 'crops.json and placed back at the same numbers. Nothing ' + 'here is generated and nothing here is redrawn: on 03 the Winner Board ' + 'panel covers the medals behind it, so the medals cannot be recovered ' + 'from any frame in the clip.

' + '

every screen with its chrome removed, so what is left ' + 'is exactly what is an image

' + '
%s
' + '

Every crop, in manifest order

' + '
%s
' + % (len(CROPS), minis, sheet_), + ART_BOARD_CSS + "\n" + art_classes()) + + +# --------------------------------------------------------------- screens ---- +# Every `top` below is bt() applied to a measured baseline, so the numbers in +# the source read as the numbers in probes.json. +SCREEN_CSS = """.c{position:absolute;left:0;width:var(--x-w);text-align:center; + letter-spacing:var(--x-tracking)} +.eyebrow{font:var(--x-t-eyebrow)} +.title{font:var(--x-t-title)} +.sub{font:var(--x-t-sub);color:var(--x-ink-2)} + +.track{position:absolute;left:12.7px;top:769.5px;width:365.8px;height:55.3px; + border-radius:var(--x-r-pill);background:var(--x-track)} +.pill{position:absolute;top:var(--x-nav-y);height:var(--x-nav-h); + border-radius:var(--x-r-pill);color:var(--x-ink-inv)} +.pill.back{left:12.7px;width:84.5px;background:var(--x-pill-grey)} +.pill.back.on{background:var(--x-pill-dark)} +.pill.next{left:295.5px;width:83px;background:var(--x-pill-dark)} +.pill svg{position:absolute;left:50%;top:21.9px;margin-left:-9.35px; + display:block;width:18.7px;height:14.2px} + +.btn{position:absolute;left:12.7px;width:352.8px;border-radius:var(--x-r-pill)} +.btn1{top:560.5px;height:56.1px;background:var(--x-btn-dark)} +.btn2{top:623.1px;height:56.1px;background:var(--x-bg); + border:1.5px solid var(--x-hairline)} +.lbl{position:absolute;left:12.7px;width:352.8px;text-align:center; + letter-spacing:var(--x-tracking); + font:var(--x-t-btn)} +.legal{font:var(--x-t-legal);color:var(--x-ink-2)} +.legal b{font-weight:600;color:var(--x-ink)}""" + +ARROW = ('' + '') +ARROW_BACK = ARROW.replace('%s' % (cls, top, html) + + +def nav(ref): + """The paged nav. Back is disabled on 01 -- there is no page behind it -- + and enabled from 02 on, where it takes the same fill as next: the two + pills profile identically down c2 col 55 and col 336.""" + return ('
%s' + '
%s
' + % (art(ref + "-path"), "" if ref == "01" else " on", + ARROW_BACK, ARROW)) + + +def onboarding(ref, eyebrow, title, sub): + """Screens 01-03: hero card, three type levels, the paged nav.""" + return ('
%s%s%s%s%s%s%s
' + % (statusbar(), art(ref + "-hero"), + blk("eyebrow", bt(584.9, 15, 18), eyebrow), + blk("title", bt(629.8, 36, 42.3), title), + blk("sub", bt(699.3, 15, 18.7), sub), + nav(ref), home())) + + +def s01(): + return page(NAME + " - Learn", onboarding( + "01", "SMART LEARNING", + "Learn Anything,
One Card at a Time", + "Explore different categories and build your
vocabulary"), SCREEN_CSS) + + +def s02(): + return page(NAME + " - Challenges", onboarding( + "02", "COMPETE & ACHIEVE", + "Take on Challenges,
Earn Your Medals", + "Complete challenges and collect medals as
you learn and improve."), + SCREEN_CSS) + + +def s03(): + return page(NAME + " - Rankings", onboarding( + "03", "GLOBAL RANKING", + "Climb the Global
Rankings", + "Earn medals, improve your rank, and compete
" + "with learners from around the world."), SCREEN_CSS) + + +def s04(): + # The two buttons are 12.7 from the left edge and 27.5 from the right, so + # they centre on 189.1 while every other block on the screen centres on + # 196.4. That is the source's, not this board's: see the README. + return page(NAME + " - Master", '
%s%s%s%s' + '
' + '
Create Account
' + '
Login
' + '%s%s
' + % (statusbar(), art("04-cup"), + blk("title", bt(498.9, 36, 42.3), "Ready to Master It?"), + blk("sub", bt(525.8, 15, 18.7), + "Create an account and start learning"), + bt(595.2, 20, 24), bt(657.3, 20, 24), + blk("legal", bt(779.5, 13, 17.2), + "By continuing, you agree to our Terms of Use and
" + "Privacy Policy"), + home()), SCREEN_CSS) + + +SCREENS = [("01-learn", "Learn", s01), ("02-challenges", "Challenges", s02), + ("03-rankings", "Rankings", s03), ("04-master", "Master", s04)] + +# ------------------------------------------------- Phase 5: the reference ---- +# Each frame, cropped to the phone's screen window and otherwise unretouched, +# on its own board. The caption is what makes the replica auditable later. +REF_CSS = """.rboard{width:430px;height:932px;background:#151311;border-radius:20px; + padding:14px 20px 12px;color:#fff;position:relative;overflow:hidden} +.rboard h1{font:600 14px/18px var(--x-font);letter-spacing:-.1px} +.rboard p{font:400 9.5px/13px ui-monospace,Menlo,monospace;color:rgba(255,255,255,.5);margin-top:2px} +.rboard .shot{margin-top:9px;display:flex;justify-content:center} +.rboard img{height:844px;width:auto;display:block;border-radius:6px} +.rboard .near{color:#F1CD8A}""" + +# (screen file, label, capture, note) +REFS = [("01-learn", "Learn", "c1", "exact - t=1.50s"), + ("02-challenges", "Challenges", "c2", "exact - t=6.60s"), + ("03-rankings", "Rankings", "c3", "exact - t=12.00s"), + ("04-master", "Master", "c4", "exact - t=17.60s")] + + +def ref_boards(): + """One board per parked frame. A fresh clone has no captures -- they are + third-party and gitignored -- so this yields nothing and the reference row + drops out of layout.json rather than shipping four broken images.""" + for name, label, cap, note in REFS: + f = REFS_DIR / (cap + ".png") + if not f.exists(): + continue + uri = "data:image/png;base64," + base64.b64encode(f.read_bytes()).decode() + cls = "" if note.startswith("exact") else ' class="near"' + body = ('

%s — reference

' + '

%s · video frame · 525×1140 @1.337x · ' + '%s

' + '
%s
' + % (label, name, cls, note, uri, label)) + yield "ref-" + name, page(NAME + " - reference: " + label, body, REF_CSS) + + +# ------------------------------------------------------------------ run ---- +cut() +write("00-design-tokens", token_board()) +for name, html in evidence_boards(): + write(name, html) +write(ART_BOARD, art_board()) +for name, _, fn in SCREENS: + write(name, fn()) +for name, html in ref_boards(): + write(name, html) + +LAYOUT = { + "name": PAGE_NAME, + "rows": [ + {"title": "Foundations", + "files": [{"file": "00-design-tokens", "label": "Design tokens"}] + + [{"file": n, "label": "Evidence"} for n, _ in evidence_boards()] + + [{"file": ART_BOARD, "label": "Art assets"}]}, + {"title": "Screens", "numbered": True, + "files": [{"file": n, "label": l} for n, l, _ in SCREENS]}, + # Same order as the row above: the canvas lays every row out from x = 0 at + # one pitch, so item N here lands column-for-column under item N up there. + # The row stays in layout.json even on a clone with no captures, where the + # boards it names do not exist; the canvas skips an entry it cannot find, + # and keeping the row means the file does not go dirty on regeneration. + {"title": "Source of truth: video frames", "numbered": True, + "files": [{"file": "ref-" + n, "label": l} for n, l, _, _ in REFS]}, + ], +} +(OUT / "layout.json").write_text(json.dumps(LAYOUT, indent=2) + "\n") +print("layout.json", len(LAYOUT["rows"]), "rows") +print("\nnext: refkit tokens", OUT) diff --git a/mockups/canvases/flashcard-onboarding/layout.json b/mockups/canvases/flashcard-onboarding/layout.json new file mode 100644 index 00000000..0647be60 --- /dev/null +++ b/mockups/canvases/flashcard-onboarding/layout.json @@ -0,0 +1,74 @@ +{ + "name": "(example) Flashcard Onboarding", + "rows": [ + { + "title": "Foundations", + "files": [ + { + "file": "00-design-tokens", + "label": "Design tokens" + }, + { + "file": "00b-evidence", + "label": "Evidence" + }, + { + "file": "00c-evidence", + "label": "Evidence" + }, + { + "file": "00d-evidence", + "label": "Evidence" + }, + { + "file": "00e-art", + "label": "Art assets" + } + ] + }, + { + "title": "Screens", + "numbered": true, + "files": [ + { + "file": "01-learn", + "label": "Learn" + }, + { + "file": "02-challenges", + "label": "Challenges" + }, + { + "file": "03-rankings", + "label": "Rankings" + }, + { + "file": "04-master", + "label": "Master" + } + ] + }, + { + "title": "Source of truth: video frames", + "numbered": true, + "files": [ + { + "file": "ref-01-learn", + "label": "Learn" + }, + { + "file": "ref-02-challenges", + "label": "Challenges" + }, + { + "file": "ref-03-rankings", + "label": "Rankings" + }, + { + "file": "ref-04-master", + "label": "Master" + } + ] + } + ] +} diff --git a/mockups/canvases/flashcard-onboarding/probes.json b/mockups/canvases/flashcard-onboarding/probes.json new file mode 100644 index 00000000..a23dd170 --- /dev/null +++ b/mockups/canvases/flashcard-onboarding/probes.json @@ -0,0 +1,408 @@ +[ + { + "id": "bg", + "img": "assets/refs/c4.png", + "mine": "c4.png", + "cmd": "sample", + "box": [ + 30, + 700, + 360, + 760 + ], + "only": "flat", + "_": "page ground on 04, between the Login button (ends 678.6) and the legal block (starts 769.6), inside the 12.7/365.5 button column: no ink, no art", + "_head": "Phase 1 measurements, replayable. Every box is design pt on the 525 x 1140 screen crops in assets/refs, cut out of a 1080 x 1350 video frame; run with --pt 1.337. --against wants a directory of my own renders at the same 525 x 1140 (refkit shoot --scale 3 --crop-phone, then LANCZOS down to 525 x 1140 -- scratch/verify.sh does both), one file per `mine`. Ink probes carry --only ink, because batch compares the first colour a probe prints and sample prints its flat census first." + }, + { + "id": "card", + "img": "assets/refs/c4.png", + "mine": "c4.png", + "cmd": "sample", + "box": [ + 100, + 182, + 280, + 196 + ], + "only": "flat", + "_": "the warm panel behind the trophy, x 97.4..285.9 by the row-185 scan; this band is above the cup's rim (the art starts at y 200) and inside the panel" + }, + { + "id": "track", + "img": "assets/refs/c1.png", + "mine": "c1.png", + "cmd": "sample", + "box": [ + 110, + 772, + 135, + 785 + ], + "only": "flat", + "_": "nav track between the back pill (ends 97.2) and the path crop (starts 97.2 but its ink starts later), above the wavy path at 787.4" + }, + { + "id": "pill-off", + "img": "assets/refs/c1.png", + "mine": "c1.png", + "cmd": "sample", + "box": [ + 20, + 800, + 90, + 820 + ], + "only": "flat", + "_": "inside the disabled back pill (12.7..97.2 x 768.7..825.5), below the arrow (ends 804.8) and inside the cap on both sides" + }, + { + "id": "hairline", + "img": "assets/refs/c4.png", + "mine": "c4.png", + "cmd": "sample", + "box": [ + 200, + 623.3, + 300, + 624.4 + ], + "only": "flat", + "_": "the Login button's top outline only: the button spans 623.1..679.2 and this band is the core of its 1.5pt stroke, clear of the label at 643.2" + }, + { + "id": "ink-title", + "img": "assets/refs/c1.png", + "mine": "c1.png", + "cmd": "sample", + "box": [ + 50, + 646, + 344, + 672 + ], + "only": "ink", + "_": "title line 2 'One Card at a Time', ascender top 645.5 to baseline 672.4, x 47.9..344.1: the only ink in the band" + }, + { + "id": "ink-eyebrow", + "img": "assets/refs/c1.png", + "mine": "c1.png", + "cmd": "sample", + "box": [ + 130, + 573, + 262, + 585 + ], + "only": "ink", + "_": "'SMART LEARNING' cap band 573.7..584.9, x 133.1..258.8, all-caps so the band bottom is the baseline" + }, + { + "id": "ink-legal-bold", + "img": "assets/refs/c4.png", + "mine": "c4.png", + "cmd": "sample", + "box": [ + 245, + 769, + 320, + 783 + ], + "only": "ink", + "_": "'Terms of Use' inside legal line 1 (56.1..335.8): the bold run, right of 'you agree to our' and left of the trailing 'and'" + }, + { + "id": "ink-mid", + "img": "assets/refs/c4.png", + "mine": "c4.png", + "cmd": "sample", + "box": [ + 166, + 642, + 213, + 662 + ], + "only": "ink", + "_": "the 'Login' label, bbox 166.8..211.7 x 643.2..661.2, on the white secondary button; nothing else is in that band" + }, + { + "id": "ink-2-sub", + "img": "assets/refs/c1.png", + "mine": "c1.png", + "cmd": "sample", + "box": [ + 59, + 688, + 333, + 702 + ], + "only": "ink", + "_": "subtitle line 1 'Explore different categories and build your', bbox 59.8..332.8 x 688.1..702.3" + }, + { + "id": "ink-2-legal", + "img": "assets/refs/c4.png", + "mine": "c4.png", + "cmd": "sample", + "box": [ + 56, + 769, + 220, + 783 + ], + "only": "ink", + "_": "the grey run 'By continuing, you agree to our' at the head of legal line 1, stopping before the bold 'Terms of Use' at x 235" + }, + { + "id": "ink-inv-arrow", + "img": "assets/refs/c1.png", + "mine": "c1.png", + "cmd": "sample", + "box": [ + 329, + 792, + 345, + 803 + ], + "only": "ink", + "bright": true, + "_": "inside the next arrow's ink box (327.6..346.3 x 790.6..804.8), inset by 1.5pt so the probe misses the antialiased edge against the black pill" + }, + { + "id": "accent-path", + "img": "assets/refs/c3.png", + "mine": "c3.png", + "cmd": "sample", + "box": [ + 139, + 792, + 157, + 799 + ], + "only": "flat", + "_": "a straight run of the amber path on 03, between the first node and the bend; the path is ~5pt thick here, which is 7px at 1.337 px/pt, enough for a flat census where a 25pt node is not" + }, + { + "id": "hero-left", + "img": "assets/refs/c1.png", + "mine": "c1.png", + "cmd": "scan", + "axis": "row", + "at": 300, + "range": [ + 0, + 30 + ], + "_": "row 300 is inside the hero card (56.2..530.5) and clear of every illustrated object; the first transition is the card's left edge" + }, + { + "id": "hero-right", + "img": "assets/refs/c1.png", + "mine": "c1.png", + "cmd": "scan", + "axis": "row", + "at": 300, + "range": [ + 368, + 386 + ], + "_": "same row, the card's right edge back to the page ground; the range stops at 386 because the 52pt bezel corner is black inside a rectangular crop and would win the scan" + }, + { + "id": "hero-top", + "img": "assets/refs/c1.png", + "mine": "c1.png", + "cmd": "scan", + "axis": "col", + "at": 200, + "range": [ + 48, + 68 + ], + "_": "column 200 is under the Dynamic Island, so the scan starts below it at y 48 and the first transition off #FAFAFA is the card's top edge" + }, + { + "id": "hero-bottom", + "img": "assets/refs/c1.png", + "mine": "c1.png", + "cmd": "scan", + "axis": "col", + "at": 200, + "range": [ + 520, + 542 + ], + "_": "same column, the card's bottom edge; the eyebrow does not start until 573.7" + }, + { + "id": "nav-next-top", + "img": "assets/refs/c1.png", + "mine": "c1.png", + "cmd": "scan", + "axis": "col", + "at": 336, + "range": [ + 762, + 790 + ], + "_": "column 336 is the next pill's horizontal centre (295.5..378.5), so this reads the pill's top edge and the gradient ramp under it, not a cap" + }, + { + "id": "nav-pill-left", + "img": "assets/refs/c1.png", + "mine": "c1.png", + "cmd": "scan", + "axis": "row", + "at": 797, + "range": [ + 6, + 40 + ], + "_": "row 797 is the pills' vertical centre (768.7..825.5), so the back pill's left edge is at its widest here. The range starts at 6 to clear the bezel corner and stops at 40, short of the arrow, which would give the scan a second edge to pick from" + }, + { + "id": "nav-pill-right", + "img": "assets/refs/c1.png", + "mine": "c1.png", + "cmd": "scan", + "axis": "row", + "at": 797, + "range": [ + 285, + 300 + ], + "_": "same row, the next pill's left edge at 295.5" + }, + { + "id": "type-bands", + "img": "assets/refs/c1.png", + "mine": "c1.png", + "cmd": "bands", + "box": [ + 14, + 555, + 379, + 735 + ], + "_": "the whole type block on 01, from below the hero card (ends 530.5) to above the nav (starts 768.7): eyebrow, two title lines, two subtitle lines" + }, + { + "id": "type-bands-04", + "img": "assets/refs/c4.png", + "mine": "c4.png", + "cmd": "bands", + "box": [ + 14, + 465, + 379, + 540 + ], + "_": "title and subtitle on 04, between the cup art (ends 402.4) and the Create Account button (starts 560.5)" + }, + { + "id": "legal-bands", + "img": "assets/refs/c4.png", + "mine": "c4.png", + "cmd": "bands", + "box": [ + 40, + 760, + 360, + 806 + ], + "_": "the two legal lines on 04, below the Login button (ends 678.6) and above the home indicator" + }, + { + "id": "title-cap-04", + "img": "assets/refs/c4.png", + "mine": "c4.png", + "cmd": "bbox", + "box": [ + 45, + 468, + 71, + 512 + ], + "_": "the 'R' of 'Ready to Master It?' alone -- a flat cap, so its height is cap height with no round overshoot; the 'e' beside it starts at x 71" + }, + { + "id": "sub-cap", + "img": "assets/refs/c1.png", + "mine": "c1.png", + "cmd": "bbox", + "box": [ + 59, + 685, + 72, + 705 + ], + "_": "the 'E' of 'Explore' alone, another flat cap; 'x' starts at x 74.8. Read it as a size ratio, not a size: a #7E7E7E glyph thresholded dark loses its own antialiasing, so the render returns 9.7 where the geometry is 10.6 and the blurrier capture returns 11.2" + }, + { + "id": "btn-label", + "img": "assets/refs/c4.png", + "mine": "c4.png", + "cmd": "bbox", + "box": [ + 100, + 570, + 280, + 610 + ], + "bright": 60, + "_": "'Create Account', white on the black button, so this matches bright pixels; the box is inside the button (560.5..616.6) on all four sides" + }, + { + "id": "btn1-edges", + "img": "assets/refs/c4.png", + "mine": "c4.png", + "cmd": "scan", + "axis": "col", + "at": 40, + "range": [ + 550, + 700 + ], + "_": "column 40 is inside both buttons (12.7..365.5) and left of both labels (Create Account starts at 123.4), so it reads four clean edges" + }, + { + "id": "btn-right", + "img": "assets/refs/c4.png", + "mine": "c4.png", + "cmd": "scan", + "axis": "row", + "at": 651, + "range": [ + 355, + 386 + ], + "_": "row 651 is the Login button's vertical centre; its right edge at 365.5 is 27.5 from the screen edge while its left edge is 12.7 -- the source's own asymmetry, kept. Range stops short of the bezel" + }, + { + "id": "sb-time", + "img": "assets/refs/c1.png", + "mine": "c1.png", + "cmd": "bbox", + "box": [ + 24, + 16, + 80, + 40 + ], + "_": "'9:41' alone: the box starts at x 24 to clear the screen's 52pt corner, which is bezel black inside a rectangular crop, and ends before the location arrow at 83.0. It is a measurement of the source only. The boards carry the repo's standard status bar, whose clock sits 10.5pt right and 3.0pt lower, so the render's digits run past x 80 and batch reports a short width for a window that clips them, not for a narrow clock" + }, + { + "id": "cup-panel", + "img": "assets/refs/c4.png", + "mine": "c4.png", + "cmd": "scan", + "axis": "row", + "at": 185, + "range": [ + 60, + 340 + ], + "_": "row 185 crosses the warm panel behind the trophy above the cup's rim; the handles do not reach this high" + } +] From 625340dc2048b3778a6bba6d05832c9803d17cea Mon Sep 17 00:00:00 2001 From: Yilin Jing Date: Mon, 7 Sep 2026 07:27:05 -0400 Subject: [PATCH 2/2] skillpath-ios: five screens cloned from a zooming screen recording A second video-sourced canvas, and the one to read when the clip moves the camera: there is no such thing as the capture scale. Five screens of a gamified self-improvement app, from a clip posted on X, in 23 boards: six token boards and seven evidence boards for 73 tokens, the five replicas, and the video frame parked under each one. A fresh clone builds 18. Mean absolute delta 5.88-9.04 levels of 255. Three things decided those numbers: - The device is 402 x 874, an iPhone 17 Pro, not the 393 x 852 the rest of this repo uses. Found by scale agreement: solving each frame's screen-inner rect against 402 x 874 makes its width and height scales agree to 0.07%, against 0.34% for the smaller frame. - The clip zooms, so every frame carries its own px-per-pt, 1.01194 to 1.07985. Each of the 59 rows in probes.json carries its own "pt", which is what refkit batch needs to replay them all in one pass. - The renderer's cap metrics are not the face's. Eight font stacks probed byte-identical, so the boards are set in the platform fallback, whose cap is 0.733em and sits 0.350 x font-size below the line box against SF Pro's 0.245. Inverting the nominal relation instead of the measured one put every run on the board low by 3.3pt at 31.5px and cost 1.50 delta on the busiest screen. All 20 type sizes are fitted on ink width against a named probe rather than on cap height, which a video frame inflates by 1-2pt. The foundation boards are plural because 73 rows is about 4000px of table in a 980px artboard, and both ways that clips are quiet: refkit shoot --check-overflow only reports full-bleed overflow when --crop-phone is left off, and it never reports a table running off the side at all, because it flags an element whose own overflow is hidden rather than a page wider than the board. Both tables are now pinned to a fixed 430px with overflow-wrap. Co-Authored-By: Claude Opus 5 --- mockups/canvases/README.md | 27 + .../skillpath-ios/00-design-tokens.html | 130 +++ .../skillpath-ios/00b-design-tokens.html | 130 +++ .../skillpath-ios/00c-design-tokens.html | 130 +++ .../skillpath-ios/00d-design-tokens.html | 130 +++ .../skillpath-ios/00e-design-tokens.html | 130 +++ .../skillpath-ios/00f-design-tokens.html | 130 +++ .../canvases/skillpath-ios/00g-evidence.html | 127 +++ .../canvases/skillpath-ios/00h-evidence.html | 127 +++ .../canvases/skillpath-ios/00i-evidence.html | 127 +++ .../canvases/skillpath-ios/00j-evidence.html | 127 +++ .../canvases/skillpath-ios/00k-evidence.html | 127 +++ .../canvases/skillpath-ios/00l-evidence.html | 127 +++ .../canvases/skillpath-ios/00m-evidence.html | 127 +++ mockups/canvases/skillpath-ios/01-home.html | 129 +++ .../skillpath-ios/02-home-quest-done.html | 129 +++ mockups/canvases/skillpath-ios/03-path.html | 129 +++ .../skillpath-ios/04-path-scrolled.html | 129 +++ .../skillpath-ios/05-lesson-sheet.html | 129 +++ mockups/canvases/skillpath-ios/README.md | 281 ++++++ .../skillpath-ios/assets/art/avatar.png | Bin 0 -> 4315 bytes .../skillpath-ios/assets/art/bolt-chip.png | Bin 0 -> 464 bytes .../skillpath-ios/assets/art/bolt-lv.png | Bin 0 -> 534 bytes .../skillpath-ios/assets/art/chip-hair.png | Bin 0 -> 605 bytes .../skillpath-ios/assets/art/chip-oral.png | Bin 0 -> 831 bytes .../assets/art/chip-skincare.png | Bin 0 -> 639 bytes .../skillpath-ios/assets/art/cloud-l.png | Bin 0 -> 5214 bytes .../skillpath-ios/assets/art/crown.png | Bin 0 -> 1092 bytes .../skillpath-ios/assets/art/gem-chip.png | Bin 0 -> 585 bytes .../skillpath-ios/assets/art/gem-hdr.png | Bin 0 -> 799 bytes .../skillpath-ios/assets/art/home-clouds.png | Bin 0 -> 6095 bytes .../skillpath-ios/assets/art/ic-dumbbell.png | Bin 0 -> 1760 bytes .../skillpath-ios/assets/art/ic-mewing.png | Bin 0 -> 1665 bytes .../skillpath-ios/assets/art/ic-razor.png | Bin 0 -> 693 bytes .../skillpath-ios/assets/art/ic-skincare.png | Bin 0 -> 1336 bytes .../skillpath-ios/assets/art/lock.png | Bin 0 -> 844 bytes .../skillpath-ios/assets/art/medal.png | Bin 0 -> 7424 bytes mockups/canvases/skillpath-ios/crops.json | 124 +++ mockups/canvases/skillpath-ios/gen.py | 882 ++++++++++++++++++ mockups/canvases/skillpath-ios/icon.png | Bin 0 -> 13587 bytes mockups/canvases/skillpath-ios/layout.json | 114 +++ mockups/canvases/skillpath-ios/probes.json | 817 ++++++++++++++++ 42 files changed, 4559 insertions(+) create mode 100644 mockups/canvases/skillpath-ios/00-design-tokens.html create mode 100644 mockups/canvases/skillpath-ios/00b-design-tokens.html create mode 100644 mockups/canvases/skillpath-ios/00c-design-tokens.html create mode 100644 mockups/canvases/skillpath-ios/00d-design-tokens.html create mode 100644 mockups/canvases/skillpath-ios/00e-design-tokens.html create mode 100644 mockups/canvases/skillpath-ios/00f-design-tokens.html create mode 100644 mockups/canvases/skillpath-ios/00g-evidence.html create mode 100644 mockups/canvases/skillpath-ios/00h-evidence.html create mode 100644 mockups/canvases/skillpath-ios/00i-evidence.html create mode 100644 mockups/canvases/skillpath-ios/00j-evidence.html create mode 100644 mockups/canvases/skillpath-ios/00k-evidence.html create mode 100644 mockups/canvases/skillpath-ios/00l-evidence.html create mode 100644 mockups/canvases/skillpath-ios/00m-evidence.html create mode 100644 mockups/canvases/skillpath-ios/01-home.html create mode 100644 mockups/canvases/skillpath-ios/02-home-quest-done.html create mode 100644 mockups/canvases/skillpath-ios/03-path.html create mode 100644 mockups/canvases/skillpath-ios/04-path-scrolled.html create mode 100644 mockups/canvases/skillpath-ios/05-lesson-sheet.html create mode 100644 mockups/canvases/skillpath-ios/README.md create mode 100644 mockups/canvases/skillpath-ios/assets/art/avatar.png create mode 100644 mockups/canvases/skillpath-ios/assets/art/bolt-chip.png create mode 100644 mockups/canvases/skillpath-ios/assets/art/bolt-lv.png create mode 100644 mockups/canvases/skillpath-ios/assets/art/chip-hair.png create mode 100644 mockups/canvases/skillpath-ios/assets/art/chip-oral.png create mode 100644 mockups/canvases/skillpath-ios/assets/art/chip-skincare.png create mode 100644 mockups/canvases/skillpath-ios/assets/art/cloud-l.png create mode 100644 mockups/canvases/skillpath-ios/assets/art/crown.png create mode 100644 mockups/canvases/skillpath-ios/assets/art/gem-chip.png create mode 100644 mockups/canvases/skillpath-ios/assets/art/gem-hdr.png create mode 100644 mockups/canvases/skillpath-ios/assets/art/home-clouds.png create mode 100644 mockups/canvases/skillpath-ios/assets/art/ic-dumbbell.png create mode 100644 mockups/canvases/skillpath-ios/assets/art/ic-mewing.png create mode 100644 mockups/canvases/skillpath-ios/assets/art/ic-razor.png create mode 100644 mockups/canvases/skillpath-ios/assets/art/ic-skincare.png create mode 100644 mockups/canvases/skillpath-ios/assets/art/lock.png create mode 100644 mockups/canvases/skillpath-ios/assets/art/medal.png create mode 100644 mockups/canvases/skillpath-ios/crops.json create mode 100644 mockups/canvases/skillpath-ios/gen.py create mode 100644 mockups/canvases/skillpath-ios/icon.png create mode 100644 mockups/canvases/skillpath-ios/layout.json create mode 100644 mockups/canvases/skillpath-ios/probes.json diff --git a/mockups/canvases/README.md b/mockups/canvases/README.md index e361c2f8..fc5210ac 100644 --- a/mockups/canvases/README.md +++ b/mockups/canvases/README.md @@ -361,6 +361,33 @@ folder are invisible to it. is worthless on grey, and that a blur which monotonically improves a band is hiding a content defect rather than an antialiasing one. The 25 `ref-*` boards are gitignored, so a fresh clone has 29. +- `skillpath-ios/`: the run to read when the source is a **zooming** screen + recording, so there is no such thing as *the* capture scale. Five screens of + an unnamed gamified self-improvement app, from a clip posted on X, in 23 + boards across three rows: six token boards and seven evidence boards for 73 + tokens, the five replicas, and the video frame behind each one + column-for-column underneath. Those foundation boards are plural for a + reason worth borrowing: 73 rows is 4000px of table in a 980px artboard, and + `refkit shoot --check-overflow` only says so when you leave `--crop-phone` + off, and never says so at all about a table running off the *side*. Mean + absolute delta is 5.88-9.04 levels (of 255). Its `README.md` records the + three things that decided those numbers. **The device is 402 x 874, not the + 393 x 852 the rest of this repo uses** - an iPhone 17 Pro - and it was found + by scale agreement, where solving each frame's screen-inner rect against 402 + x 874 makes its width and height scales agree to 0.07% against 0.34% for the + smaller frame. **The clip zooms, so every frame carries its own px-per-pt** + (1.01194 to 1.07985) and every one of the 59 rows in `probes.json` carries + its own `"pt"`, which is what `refkit batch` needs to replay them all in one + pass. And **the renderer's cap metrics are not the face's**: a probe of + eight font stacks came back byte-identical, so the boards are set in the + platform fallback, whose cap is 0.733 em and sits 0.350 x font-size below + the line box rather than SF Pro's 0.245 - inverting the nominal relation + instead of the measured one put every run on the board low by 3.3pt at + 31.5px and cost 1.50 delta on the busiest screen. All 20 type sizes are + fitted on ink width against a named probe rather than on cap height, which a + video frame inflates by 1-2pt; `CURRENT STREAK` read as 14px that way and + set 18% wide. `assets/art/` is committed for its 17 crops; the five `ref-*` + boards are gitignored, so a fresh clone has 18. - `templates/`: the starting point, not a finished board. The four boards every run produces (design tokens, evidence, one phone screen, one parked reference) with placeholder values, generated from one list of tokens so diff --git a/mockups/canvases/skillpath-ios/00-design-tokens.html b/mockups/canvases/skillpath-ios/00-design-tokens.html new file mode 100644 index 00000000..e2efb997 --- /dev/null +++ b/mockups/canvases/skillpath-ios/00-design-tokens.html @@ -0,0 +1,130 @@ + + + + +Skill Path - Design tokens 1/6 + + + +

Design tokens 1/6

13 of the 73 tokens. One shared :root, byte-identical in every board.

Font--sp-font-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Helvetica Neue",Helvetica,Arial,sans-serif
Surface--sp-sheet#FDFDFD
Surface--sp-strip#F5F9FC
Surface--sp-level#E6F7EF
Surface--sp-sky-1#9DCDE8
Surface--sp-sky-2#94C6E2
Surface--sp-sky-3#90C3E2
Surface--sp-day-on#E2E9F5
Surface--sp-chiprgba(255,255,255,.40)
Surface--sp-chip-on#F6FAFD
Surface--sp-node#FCFEFF
Surface--sp-node-off#BDD6E4
Surface--sp-cta#5B8BA8
+ + diff --git a/mockups/canvases/skillpath-ios/00b-design-tokens.html b/mockups/canvases/skillpath-ios/00b-design-tokens.html new file mode 100644 index 00000000..389fc12d --- /dev/null +++ b/mockups/canvases/skillpath-ios/00b-design-tokens.html @@ -0,0 +1,130 @@ + + + + +Skill Path - Design tokens 2/6 + + + +

Design tokens 2/6

12 of the 73 tokens. One shared :root, byte-identical in every board.

Surface--sp-cta-lip#43708C
Surface--sp-scrimrgba(26,60,74,.415)
Line--sp-dash#CFDDE9
Line--sp-ring#DDE3EA
Line--sp-card-edge#F8F9FB
Ink--sp-ink#0E1114
Ink--sp-ink-2#575757
Ink--sp-ink-3#8B959E
Ink--sp-ink-4#B9BBC1
Ink--sp-ink-sub#A4A9AF
Ink--sp-ink-sky#22323E
Ink--sp-ink-sky-2#255471
+ + diff --git a/mockups/canvases/skillpath-ios/00c-design-tokens.html b/mockups/canvases/skillpath-ios/00c-design-tokens.html new file mode 100644 index 00000000..d9b1d0e7 --- /dev/null +++ b/mockups/canvases/skillpath-ios/00c-design-tokens.html @@ -0,0 +1,130 @@ + + + + +Skill Path - Design tokens 3/6 + + + +

Design tokens 3/6

12 of the 73 tokens. One shared :root, byte-identical in every board.

Ink--sp-ink-sky-3#6795B3
Ink--sp-ink-inv#FDFDFD
Ink--sp-ink-hdrrgba(253,253,253,.72)
Accent--sp-green#16BE70
Accent--sp-green-2#29BA76
Accent--sp-green-pale#D7FFEE
Accent--sp-track-off#C5ECD7
Accent--sp-xp#3FBE84
Accent--sp-tab-on#E3EDF3
Accent--sp-tab-on-ink#9FB2BF
Accent--sp-tab-off-ink#4E4E4E
Accent--sp-play#5F8AA4
+ + diff --git a/mockups/canvases/skillpath-ios/00d-design-tokens.html b/mockups/canvases/skillpath-ios/00d-design-tokens.html new file mode 100644 index 00000000..f38d82ef --- /dev/null +++ b/mockups/canvases/skillpath-ios/00d-design-tokens.html @@ -0,0 +1,130 @@ + + + + +Skill Path - Design tokens 4/6 + + + +

Design tokens 4/6

12 of the 73 tokens. One shared :root, byte-identical in every board.

Accent--sp-gem#B23BD8
Accent--sp-lock#80A4BB
Radius--sp-r-card28px
Radius--sp-r-level24px
Radius--sp-r-row22px
Radius--sp-r-cta20px
Radius--sp-r-pill999px
Radius--sp-r-phone55px
Type--sp-t-hero700 31.5px/38.4px var(--sp-font)
Type--sp-t-title700 24.5px/29.9px var(--sp-font)
Type--sp-t-h1700 17.5px/21.3px var(--sp-font)
Type--sp-t-sect700 17px/20.7px var(--sp-font)
+ + diff --git a/mockups/canvases/skillpath-ios/00e-design-tokens.html b/mockups/canvases/skillpath-ios/00e-design-tokens.html new file mode 100644 index 00000000..21eb9dbd --- /dev/null +++ b/mockups/canvases/skillpath-ios/00e-design-tokens.html @@ -0,0 +1,130 @@ + + + + +Skill Path - Design tokens 5/6 + + + +

Design tokens 5/6

12 of the 73 tokens. One shared :root, byte-identical in every board.

Type--sp-t-h2700 24.5px/29.9px var(--sp-font)
Type--sp-t-greet700 20px/24.4px var(--sp-font)
Type--sp-t-count700 16px/19.5px var(--sp-font)
Type--sp-t-node600 16.6px/20.3px var(--sp-font)
Type--sp-t-row600 15.5px/18.9px var(--sp-font)
Type--sp-t-chipname600 15px/18.3px var(--sp-font)
Type--sp-t-cta700 15px/18.3px var(--sp-font)
Type--sp-t-body500 15px/18.3px var(--sp-font)
Type--sp-t-meta500 13.5px/16.5px var(--sp-font)
Type--sp-t-date400 15.5px/18.9px var(--sp-font)
Type--sp-t-sub400 13px/15.9px var(--sp-font)
Type--sp-t-cap600 11.7px/14.3px var(--sp-font)
+ + diff --git a/mockups/canvases/skillpath-ios/00f-design-tokens.html b/mockups/canvases/skillpath-ios/00f-design-tokens.html new file mode 100644 index 00000000..fa883626 --- /dev/null +++ b/mockups/canvases/skillpath-ios/00f-design-tokens.html @@ -0,0 +1,130 @@ + + + + +Skill Path - Design tokens 6/6 + + + +

Design tokens 6/6

12 of the 73 tokens. One shared :root, byte-identical in every board.

Type--sp-t-tab500 12px/14.6px var(--sp-font)
Type--sp-t-day500 11px/13.4px var(--sp-font)
Type--sp-t-count2600 10.7px/13.1px var(--sp-font)
Type--sp-t-chip600 9.3px/11.3px var(--sp-font)
Type--sp-t-time590 17px/22px var(--sp-font)
Metrics--sp-w402px
Metrics--sp-h874px
Metrics--sp-status54px
Metrics--sp-gutter20px
Metrics--sp-row85.2px
Metrics--sp-road37px
Metrics--sp-bend39px
+ + diff --git a/mockups/canvases/skillpath-ios/00g-evidence.html b/mockups/canvases/skillpath-ios/00g-evidence.html new file mode 100644 index 00000000..a2cb13cc --- /dev/null +++ b/mockups/canvases/skillpath-ios/00g-evidence.html @@ -0,0 +1,127 @@ + + + + +Skill Path - Evidence 1/7 + + + +

Evidence 1/7

One row per token, and what it was measured on. A token with no evidence is a guess.

--sp-fontrefkit font: "3" of 3 Days = no call, weak (0.721 SF Pro); "S" of Skill Path = no call, weak (0.510 SF Pro Rounded). Platform stack, cut not claimed
--sp-sheetflat census, c2 quest sheet (150-250, 440-460) and c5 lesson sheet: 100%. This is the recording's white plateau -- H.264 flat-field quantisation puts paper white at 253, and 255 appears only as ringing beside dark text
--sp-stripflat census, c2 weekday strip (222-252, 242-292): 100%
--sp-levelflat census, c2 level card interior (200-260, 340-360): 100%
--sp-sky-1flat census, c4 sky at y 66-74, both sides of the island: 100%
--sp-sky-2flat census, c2 home sky at y 300-310, left of the streak card: 100%
--sp-sky-3flat census, c4 path sky at y 300-320 and y 520-528: 100%
--sp-day-onmode of the c2 Mon check disc (47-59, 263-271), all pixels: no flat core at 20pt
--sp-chipc4 inactive chip reads #C5DBED flat over #9DCDE8 sky: (197-157)/(255-157) = .41
--sp-chip-onflat census, c4 Skincare chip right of its label (144-153, 112-140): 67%
--sp-nodemode of the c4 Barrier Repair node core (50-60, 420-450)
+ + diff --git a/mockups/canvases/skillpath-ios/00h-evidence.html b/mockups/canvases/skillpath-ios/00h-evidence.html new file mode 100644 index 00000000..61580b3b --- /dev/null +++ b/mockups/canvases/skillpath-ios/00h-evidence.html @@ -0,0 +1,127 @@ + + + + +Skill Path - Evidence 2/7 + + + +

Evidence 2/7

One row per token, and what it was measured on. A token with no evidence is a guess.

--sp-node-offflat census, c4 locked Weekly Exfoliation node (158-178, 565-575): 84%
--sp-ctaflat census, c5 START LESSON button interior (150-250, 770-790): 99%
--sp-cta-lipcolumn scan c5 x 200: the button's bottom lip, y 820.8-824.5
--sp-scrimc5 over c4 at two grounds: sky 144,195,226 -> 95,139,163 and locked node 188,214,228 -> 121,150,165. (1-a) = 26/44 = 0.59 on red, 11/19 = 0.58 on green
--sp-dashmode of the c4 road centre dash core (97-100, 566-572)
--sp-ringc2 quest-progress ring, coverage solve against the #FDFDFD sheet
--sp-card-edgec2 column scan x 25: the quest row edges read 248/253 against the sheet
--sp-inkink core, darkest 15% of c2 3 Days (47-143, 181-209): #060606, and of Today's Quest: #1E1E1E
--sp-ink-2ink core, c2 1/5 completed (270-358, 469-482)
--sp-ink-3ink core, c2 CURRENT STREAK (46-153, 157-168)
--sp-ink-4ink core, c2 Quests resets at midnight (38-195, 496-510)
+ + diff --git a/mockups/canvases/skillpath-ios/00i-evidence.html b/mockups/canvases/skillpath-ios/00i-evidence.html new file mode 100644 index 00000000..23df9b9a --- /dev/null +++ b/mockups/canvases/skillpath-ios/00i-evidence.html @@ -0,0 +1,127 @@ + + + + +Skill Path - Evidence 3/7 + + + +

Evidence 3/7

One row per token, and what it was measured on. A token with no evidence is a guess.

--sp-ink-subink core, c2 quest row subtitles (78-380, 549-563)
--sp-ink-skyink core, c5 Barrier Repair title (101-256, 690-712)
--sp-ink-sky-2ink core, c4 Under-Eye Care node label (200-310, 277-292)
--sp-ink-sky-3ink core, c4 Weekly Exfoliation, the locked label
--sp-ink-invthe sheet white; white type is the same plateau
--sp-ink-hdrc2 Hi, James reads #CFF0FF brightest-15% over #9BCBE6 sky
--sp-greenmean of the c2 level-node core (38-42, 386-397)
--sp-green-2mean of the c2 level track core (82-98, 388-394)
--sp-green-palemean of the c2 locked level node (269-275, 385-397)
--sp-track-offmean of the c2 unfilled level track (312-333, 388-394)
--sp-xpc2 +25 XP chip label, ink core widened to the glyph
+ + diff --git a/mockups/canvases/skillpath-ios/00j-evidence.html b/mockups/canvases/skillpath-ios/00j-evidence.html new file mode 100644 index 00000000..9b5d4096 --- /dev/null +++ b/mockups/canvases/skillpath-ios/00j-evidence.html @@ -0,0 +1,127 @@ + + + + +Skill Path - Evidence 4/7 + + + +

Evidence 4/7

One row per token, and what it was measured on. A token with no evidence is a guess.

--sp-tab-onflat census, c4 active tab pill, 8% of the tab-bar window
--sp-tab-on-inkink core, c4 active Path label (140-178, 832-843)
--sp-tab-off-inkink core, c4 inactive Home icon (56-80, 807-826)
--sp-playink core of the c4 Barrier Repair play triangle (55-78, 428-450): #5F8AA4, and of the c5 sheet triangle (45-62, 700-722): #608AA4
--sp-gemink core, c2 +2 gem chip label (153-170, 574-585)
--sp-lockmode of the c4 keyhole glyph (163-171, 586-598), all pixels
--sp-r-cardc2 streak-card corner, row scans at y 131 and y 296
--sp-r-levelc2 level-card corner, row scans at y 334 and y 431
--sp-r-rowc2 quest-row corner
--sp-r-ctac5 START LESSON corner
+ + diff --git a/mockups/canvases/skillpath-ios/00k-evidence.html b/mockups/canvases/skillpath-ios/00k-evidence.html new file mode 100644 index 00000000..44e4a819 --- /dev/null +++ b/mockups/canvases/skillpath-ios/00k-evidence.html @@ -0,0 +1,127 @@ + + + + +Skill Path - Evidence 5/7 + + + +

Evidence 5/7

One row per token, and what it was measured on. A token with no evidence is a guess.

--sp-r-pillby construction, not measured
--sp-r-phonecircular stand-in for the 17 Pro's continuous display corner; refkit --crop-phone masks the same number
--sp-t-heroprobe t-hero, c2 "3 Days": ref ink 96.8 pt wide, board 96.8
--sp-t-titleprobe t-title, c4 "Skill Path": ref 100.5, board 100.5
--sp-t-h1probe t-h1, c2 "Level 4": ref 54.9, board 55.8, +1.6%
--sp-t-sectprobe t-sect, c2 "Today’s Quest": ref 112.6, board 112.6. Half a point smaller than h1, and the two do not merge: forcing this run to 17.5 costs c1 and c2 0.10 and 0.15
--sp-t-h2probe t-h2, c5 "Barrier Repair": ref 153.7, board 150.9. The width asks for 25px and the frame does not: 25px costs c5 0.31, so the -1.8% stands
--sp-t-greetprobe t-greet, c2 "Welcome Back": ref 134.9, board 134.0
--sp-t-countprobe t-count, c2 "235" in the gem pill: ref 27.9, board 28.9. A wider box takes the pill border with it, so this one was settled on a zoom pair as well, scratch/p_gem.png
--sp-t-nodeprobe t-node, c4 "Under-Eye Care": ref 120.2, board 120.2
+ + diff --git a/mockups/canvases/skillpath-ios/00l-evidence.html b/mockups/canvases/skillpath-ios/00l-evidence.html new file mode 100644 index 00000000..ca426231 --- /dev/null +++ b/mockups/canvases/skillpath-ios/00l-evidence.html @@ -0,0 +1,127 @@ + + + + +Skill Path - Evidence 6/7 + + + +

Evidence 6/7

One row per token, and what it was measured on. A token with no evidence is a guess.

--sp-t-rowprobe t-row, c2 quest row 1 title: ref 130.3, board 131.2
--sp-t-chipnameprobe t-chipname, c4 "Oral Posture": ref 86.7, board 85.7
--sp-t-ctaprobe t-cta, c5 "START LESSON": ref 116.7, board 118.5. The width is what set the tracking: .09em ran 125.9 wide, .045em lands within 2%
--sp-t-bodyprobe t-body, c2 "Hi, James": ref 67.0, board 65.1
--sp-t-metaprobe t-meta, c2 "95/120 XP": ref 63.3, board 63.3
--sp-t-dateprobe t-date, c2 the Thu numeral "12": ref 14.9, board 15.8. Two glyphs is a thin sample; 14.6px measures better and renders worse, so the round number stands
--sp-t-subprobe t-sub, c2 quest row 1 subtitle: ref 196.4, board 195.4
--sp-t-capprobe t-cap, c2 "CURRENT STREAK": ref 108.0, board 108.9. A cap-height read said 14px, which set it 18% too wide
--sp-t-tabprobe t-tab, c2 "Home": ref 32.6, board 31.6. The four labels band at 49.3-81.9 / 144.3-168.5 / 232.7-261.5 / 313.6-363.0; "Progress" is 49.3 wide against 49.3
--sp-t-dayprobe t-day, c2 "Mon": ref 20.5, board 20.5
+ + diff --git a/mockups/canvases/skillpath-ios/00m-evidence.html b/mockups/canvases/skillpath-ios/00m-evidence.html new file mode 100644 index 00000000..9cf371cf --- /dev/null +++ b/mockups/canvases/skillpath-ios/00m-evidence.html @@ -0,0 +1,127 @@ + + + + +Skill Path - Evidence 7/7 + + + +

Evidence 7/7

One row per token, and what it was measured on. A token with no evidence is a guess.

--sp-t-count2probe t-count2, c2 "1/5 completed": ref 72.6, board 72.6. 14px was 26% too wide
--sp-t-chipprobe t-chip, c2 the quest-row "+25 XP": ref 36.3, board 36.3. 12px was 8% too wide
--sp-t-timerepo standard chrome (templates/gen.py); the source's clock is not measured
--sp-wiPhone 17 Pro logical width
--sp-hiPhone 17 Pro logical height
--sp-statusrepo standard chrome (templates/gen.py), iOS Dynamic Island status bar
--sp-gutterc2 streak-card row scan: left edge 20.5, right edge 382.5, on a 402 pt frame
--sp-rowc2 quest titles at 527.1 / 611.8 / 697.4: pitch 84.7 and 85.6
--sp-roadc4 road verticals run x 80-117 and x 287-324 on every row between bends
--sp-bendcircle fit on the c4 bend at y 214.5: predicted left edge 85.2 / 82.4 / 80.7 at y 234 / 240 / 246 against 85 / 82 / 81 measured
+ + diff --git a/mockups/canvases/skillpath-ios/01-home.html b/mockups/canvases/skillpath-ios/01-home.html new file mode 100644 index 00000000..f4f3727d --- /dev/null +++ b/mockups/canvases/skillpath-ios/01-home.html @@ -0,0 +1,129 @@ + + + + +Skill Path - Home + + + +
Hi, James
Welcome Back
235
CURRENT STREAK
3 Days
Mon
Tue
Wed
Thu
12
Fri
13
Sat
14
Sun
15
Level 4
95/120 XP
30 XP
60 XP
90 XP
120 XP
150 XP
Today’s Quest
Quests resets at midnight
0/5 completed
Morning Skincare Routine
Apply cleanser, moisturizer and Shampoo
+25 XP
+2
Push Day Workout
Complete today’s push workout…
+25 XP
+2
Mewing Practice
5 minutes of proper tongue posture and
+25 XP
+2
Morning Skincare Routine
Apply cleanser, moisturizer and Shampoo
+25 XP
+2
Home
Path
Shop
Progress
5:54
+ + diff --git a/mockups/canvases/skillpath-ios/02-home-quest-done.html b/mockups/canvases/skillpath-ios/02-home-quest-done.html new file mode 100644 index 00000000..77b0d3c9 --- /dev/null +++ b/mockups/canvases/skillpath-ios/02-home-quest-done.html @@ -0,0 +1,129 @@ + + + + +Skill Path - Home, one cleared + + + +
Hi, James
Welcome Back
235
CURRENT STREAK
3 Days
Mon
Tue
Wed
Thu
12
Fri
13
Sat
14
Sun
15
Level 4
95/120 XP
30 XP
60 XP
90 XP
120 XP
150 XP
Today’s Quest
Quests resets at midnight
1/5 completed
Push Day Workout
Complete today’s push workout…
+25 XP
+2
Mewing Practice
5 minutes of proper tongue posture and
+25 XP
+2
Morning Skincare Routine
Apply cleanser, moisturizer and Shampoo
+25 XP
+2
Morning Skincare Routine
Apply cleanser, moisturizer and Shampoo
+25 XP
+2
Home
Path
Shop
Progress
5:55
+ + diff --git a/mockups/canvases/skillpath-ios/03-path.html b/mockups/canvases/skillpath-ios/03-path.html new file mode 100644 index 00000000..be0d6b1a --- /dev/null +++ b/mockups/canvases/skillpath-ios/03-path.html @@ -0,0 +1,129 @@ + + + + +Skill Path - Skill Path + + + +
Morning Cleanse
+25 XP
Under-Eye Care
+25 XP
Barrier Repair
+25 XP
Weekly Exfoliation
+25 XP
Face Shape & Cut
+25 XP
Washing Correctly
+25 XP
Skill Path
Fitness
Skincare
Hair
Oral Posture
Home
Path
Shop
Progress
6:09
+ + diff --git a/mockups/canvases/skillpath-ios/04-path-scrolled.html b/mockups/canvases/skillpath-ios/04-path-scrolled.html new file mode 100644 index 00000000..d60b1e70 --- /dev/null +++ b/mockups/canvases/skillpath-ios/04-path-scrolled.html @@ -0,0 +1,129 @@ + + + + +Skill Path - Skill Path scrolled + + + +
Morning Cleanse
+25 XP
Under-Eye Care
+25 XP
Barrier Repair
+25 XP
Weekly Exfoliation
+25 XP
Face Shape & Cut
+25 XP
Washing Correctly
+25 XP
Skill Path
Fitness
Skincare
Hair
Oral Posture
Home
Path
Shop
Progress
6:09
+ + diff --git a/mockups/canvases/skillpath-ios/05-lesson-sheet.html b/mockups/canvases/skillpath-ios/05-lesson-sheet.html new file mode 100644 index 00000000..d4ab0fd1 --- /dev/null +++ b/mockups/canvases/skillpath-ios/05-lesson-sheet.html @@ -0,0 +1,129 @@ + + + + +Skill Path - Lesson sheet + + + +
Morning Cleanse
+25 XP
Under-Eye Care
+25 XP
Barrier Repair
+25 XP
Weekly Exfoliation
+25 XP
Face Shape & Cut
+25 XP
Washing Correctly
+25 XP
Skill Path
Fitness
Skincare
Hair
Oral Posture
Home
Path
Shop
Progress
Barrier Repair
+25 XP
START LESSON
6:09
+ + diff --git a/mockups/canvases/skillpath-ios/README.md b/mockups/canvases/skillpath-ios/README.md new file mode 100644 index 00000000..6eb14f64 --- /dev/null +++ b/mockups/canvases/skillpath-ios/README.md @@ -0,0 +1,281 @@ +# Skill Path + +Five screens of an unnamed gamified self-improvement app, rebuilt from a nine +second screen recording posted by +[@BreejeAnadkat](https://x.com/BreejeAnadkat/status/2096553815071993964). The +clip pans and zooms across three iPhone 17 Pro simulator windows; two of them +hold this app. A Home tab with a streak card, a level bar and a quest list, and +a Path tab with a serpentine road of lessons. The folder is named for the Path +tab's own title, because the app never names itself. + +23 boards, five of which park the source frame under its replica. + +| # | Board | What it shows | +| --- | --- | --- | +| 01 | `home` | Home, no quest cleared, "0/5 completed" | +| 02 | `home-quest-done` | the same screen one quest later, row 1 ticked | +| 03 | `path` | the Path tab at the top of its scroll | +| 04 | `path-scrolled` | the same content 184.3pt further down | +| 05 | `lesson-sheet` | the Barrier Repair sheet over a scrimmed Path | +| 00, 00b–00f | `design-tokens 1/6` … `6/6` | the 73 tokens, 13/12/12/12/12/12 to a board, one `:root` shared by every one of the 23 | +| 00g–00m | `evidence 1/7` … `7/7` | what each of those 73 was measured on, 11/11/11/10/10/10/10 to a board | + +A fresh clone builds the first 18. The five `ref-*` boards hold third-party +video frames, so they are gitignored and `gen.py` skips them when +`assets/refs/` is absent. `layout.json` names them either way — the canvas +drops a row entry whose file it cannot find, so a committed layout that +mentions the references does not go dirty on a capture-less regeneration. + +### Why the foundation boards are plural + +73 tokens and 73 evidence rows are about 4000px of table, and the artboard is +980px tall, so a single pair of boards showed roughly a quarter of itself and +clipped the rest in silence. The fix is to split, never to trim — the evidence +is the deliverable — so `gen.py` chunks both tables at `TOK_ROWS` and +`EV_ROWS`, and both numbers are measured rather than eyeballed: the tallest +chunk of each candidate is rendered on its own and put to + +```bash +refkit shoot ./0*.html -o scratch/ovf --scale 2 --check-overflow +``` + +14 token rows fit and 15 overflow by 10px — and it is the one chunk that +carries `--sp-font`'s 107-character stack that decides it, not the row count on +its own. 11 evidence rows fit and 12 overflow by 5px. `TOK_ROWS` and `EV_ROWS` +are then read as caps rather than as slice sizes: six boards of +13/12/12/12/12/12 rather than five of 14 and a three-row stub, every chunk +still under the count that was measured. Two things about that check are worth +knowing, because both of them hid this: + +- **Do not pass `--crop-phone`.** With it a full-bleed board is cropped to the + phone rect before the check runs, and a table 3000px past the bottom never + shows up at all. That is why the five screen boards, which are checked with + the crop, were fine and these two were not. +- **It does not see horizontal overrun.** The probe flags an element whose own + `overflow` is `hidden` and scrolls, not the page running wider than the + board. The token table had sized itself to `--sp-font`'s 107-character stack: + its row dividers measure 1033px across, starting at the 24px body padding and + ending 579px past the right edge of a 478px artboard, so the entire value + column was off the board — and `--check-overflow` reported `fits` on every + run. It was found by looking at the render. Both tables are now pinned to + `TW = 430px`, which is 478 less the 2 × 24px body padding, with + `table-layout: fixed` and `overflow-wrap: anywhere` so a long value wraps + down the column instead of stretching the board sideways. + +## How close it lands + +Mean absolute delta against the source frames, whole 402 × 874 frame, phone +crop, in levels of 255: + +| Board | frame | Δ | Board | frame | Δ | +| --- | --- | --- | --- | --- | --- | +| 01 Home | c1 | 9.04 | 04 Path scrolled | c3 | 7.95 | +| 02 Home, one cleared | c2 | 8.11 | 05 Lesson sheet | c5 | 5.88 | +| 03 Skill Path | c4 | 6.88 | | | | + +`refkit batch probes.json --against scratch/mine` replays all **59 Phase-1 +probes** against the renders: + +- **21 box probes** — every string whose size is a token — at a mean |dw| of + **0.62pt** and a mean |dh| of 0.81pt. Eleven of the 21 match the capture's ink + width exactly; the worst is `t-date`, the two-glyph "12" of the selected + weekday, at 5.7%, and the worst on a whole string is `t-h2` at 1.9%. +- **7 edge scans** — both card gutters, both road verticals, the button lip, + the sheet top and the tab bar top — all within **1.9pt**, five of them within + 1.0. +- **31 colour probes**, mean Δmax 9.1. All 11 flat-fill probes are exact + matches. All 9.1 of the mean lives in the ink cores, and it is one + systematic effect, described below. + +These numbers sit alongside `flashcard-onboarding`'s 6.17–7.05, the repo's +other canvas cloned from a video, and well above `duolingo-ios`'s 1.32–2.93, +which was cloned from stills. **A video frame is not a screenshot.** At 1.01 to +1.08 capture px per design pt a 12px label is eleven pixels tall through an +H.264 encoder, and a sharp render diffed against a soft frame scores an error +the geometry does not contain. + +What the residual is made of, measured rather than assumed: + +| | c1 | c2 | c3 | c4 | c5 | +| --- | --- | --- | --- | --- | --- | +| whole frame | 9.04 | 8.11 | 7.95 | 6.88 | 5.88 | +| excluding the four 60pt corners | −0.81 | −0.88 | −0.91 | −0.96 | −0.72 | +| best whole-frame shift within ±2px | −0.79 | −0.28 | −0.11 | −0.05 | −0.00 | +| Gaussian blur on the render, best radius | −0.64 | −0.61 | −0.33 | −0.29 | −0.27 | + +The corners differ because the capture keeps whatever was outside the device's +rounded corner and the board shows the artboard's page. The shift column says +registration is right to within a pixel on four of the five. The blur column is +the price of a sharp render against a soft source and it is not payable — the +rest is glyph antialiasing across the whole frame. + +The one band that is worse than the frame on every screen is **y 0–40, at +Δ 24–33**. That is the status bar, and it is deliberate; see below. + +## The face is not called + +`refkit font` returns **"no call, weak"** twice: on the largest glyph on Home +(the "3" of 3 Days, 0.721 SF Pro) and on the Path title (the "S" of Skill Path, +0.510 SF Pro Rounded). A 1.01× video frame of a 24pt cap cannot separate SF Pro +from SF Pro Rounded, and the ranking is not promoted into a claim. The source +is a simulator build with no custom face in it, so `--sp-font` is the platform +stack and the cut is not stated. + +**The stand-in's bill arrives as width, and every size in the file was fitted +to it.** SF Pro is not installed in this renderer either — a probe of eight +stacks (`-apple-system`, `BlinkMacSystemFont`, `SF Pro Text`, `SF Pro Display`, +`SF Compact Text`, `Helvetica Neue`, `Helvetica`, `Arial`) came back +byte-identical — so the boards are set in the platform fallback. The 20 rows of +`TYPE` in `gen.py` each carry the reference's ink width, the board's ink width +and the probe id that measures both, and `refkit batch` re-runs all 20 on +demand. Nothing in the ramp was read off a cap height, because a cap measured +through H.264 blur is 1–2pt taller than the glyph: `CURRENT STREAK` read as +14px that way and set 18% too wide, and `1/5 completed` read as 14px and set +26% too wide. + +### The renderer's metrics, not SF Pro's + +`tx()` places a run by the cap top the grid actually shows, which means +inverting the font's own metrics. Using SF Pro's nominal 0.714 em cap put every +run on the board low by 0.105 × font-size — 3.3pt on the 31.5px "3 Days". +`scratch/met.html` renders `HXE` at 12 / 18 / 25 / 31.5 / 40px inside a block +of known top: the fallback's cap top lands at `lh/2 − 0.350·fs` below the block +top, to ±0.008 across all five sizes, and its cap measures **0.733 em**. That +one constant is worth **1.50 on c1 and 1.31 on c2**, and 0.2–0.3 on the +three Path screens, which carry less type: putting `CAP_TOP` back to the +0.245 that SF Pro's metrics imply takes the five screens to +10.53/9.40/8.19/7.11/6.20. + +## The chrome is the repo's, not the source's + +The phone frame and the status bar both come from this repo, not from the +recording, on the same principle: standard chrome wins, so that a board reads +next to the other canvases in this folder. + +- **The phone frame** is `--sp-r-phone: 55px`, a circular stand-in for the 17 + Pro's continuous display corner, and the same number `refkit --crop-phone` + masks. +- **The status bar** is `statusbar()`, the `.sb` / `.sb .time` / `.sb .island` + rules and the `SB_ICONS` inline-SVG cluster, copied **verbatim from + `templates/gen.py`**: clock at `top:18.2px; width:142.4px`, island 125 × 36 + at top 11, the three glyphs at their fixed left/top. The source's own bar was + never measured and none of its glyphs were cropped. + +That decision is priced, not assumed: it is most of the Δ 24–33 in the top +40pt band of every screen, and it is the reason **there is no status-bar probe +in `probes.json`**. There is nothing to score there that would be scoring the +source. The only thing the boards take from the source's bar is the clock +*string* — 5:54, 5:55 and 6:09, the simulator's own time in the three windows — +because that is content, not chrome. + +## Crop it, do not draw it + +17 assets, listed in `crops.json`, cut from `assets/refs/cN.png` at a measured +pt box, written to `assets/art/.png` and placed back by `art()` at the same +numbers. **84 KB total**, nothing over 8 KB. + +| ids | what | +| --- | --- | +| `medal`, `crown`, `avatar` | the streak medal, the level crown, the header avatar | +| `home-clouds`, `cloud-l` | the two photographic cloud washes | +| `ic-dumbbell`, `ic-mewing`, `ic-skincare`, `ic-razor` | the four quest-row icons | +| `chip-skincare`, `chip-hair`, `chip-oral` | the three category-chip glyphs | +| `bolt-lv`, `bolt-chip`, `gem-hdr`, `gem-chip`, `lock` | the XP bolts, the gems, the keyhole | + +Each box carries its own background rather than being cut out to alpha, because +each is placed back at the pt it was cut from, over ground the generator paints +to the same token. A tight cut-out would only add a matte line. + +**Everything else is CSS**: the streak and level cards, the quest rows and their +progress rings, the weekday strip, the level track and its nodes, the whole +serpentine road and its dashes, the category pills, the lesson sheet, the +START LESSON button, the tab bar and all four of its icons, and every glyph of +type. + +Two things that look croppable are not: + +- **The lesson sheet's scalloped top.** Its measured boundary fits five circles + whose centres all land on y 705, so it is five `border-radius` discs. A crop + there would carry the scrimmed road behind it and could not be reused at the + other scroll position. +- **The header's frosted veil.** `backdrop-filter: blur(13px)` over + `rgba(157,205,232,.55)`, solved from the sky at #9BCBE6 reading #C5DBED where + the road passes under the header. Cropping it would freeze one scroll + position into the art. + +## Defects in the source, kept + +- **Three of the five quest rows are the same quest.** Rows 1, 4 and 5 all read + "Morning Skincare Routine / Apply cleanser, moisturizer and Shampoo", with + three different icons — a jar, a jar again and a razor. Replicated as read. +- **The recorder's cursor is in three frames.** An arrow sits over the Barrier + Repair node in c4, over the Weekly Exfoliation XP pill in c3 and over quest + row 1 in c1. It is not drawn on any board, so those three regions carry a + small permanent delta. +- **c3, c4 and c5 include one row of bezel.** Row 0 of those three captures + reads #0D252D, #112A27 and #1F2B33 where the screen-inner rect should already + be content. The scale solve is unaffected — it is fitted on the full rect — + but it is part of the top band's score. + +## Guessed, not measured + +**One string.** Node `n1`'s label on the Path screen sits behind the frosted +header on every frame in the clip; only a capital C is legible. The board says +"Morning Cleanse". It is a plausible reading of one letter and the app's +vocabulary, and nothing else in the file is like it. + +## Three measurement notes + +- **There is no capture scale, there are five.** The clip zooms, so `SCALES` in + `gen.py` carries one px-per-pt figure per frame — c1 1.01194, c2 1.07450, + c3 1.01490, c4 1.01490, c5 1.07985 — and every probe row in `probes.json` + carries its own `"pt"`. Boxes are always design pt. +- **The device is 402 × 874, not 393 × 852.** That is an iPhone 17 Pro. Solving + each frame's screen-inner rect against 402 × 874 makes its width and height + scales agree to **0.07%**; against 393 × 852 they disagree by 0.34%. +- **Downscale renders with an area average, not LANCZOS.** The verify loop + shoots at 3× and resamples to each capture's pixel size. LANCZOS rings, and + the ringing lands exactly where the ink probes read. Switching + `scratch/rs.py` to `Image.BOX` took the five screens from + 9.15/8.26/8.05/6.98/5.97 to 9.03/8.09/7.95/6.88/5.88 — the table above + reads 9.04 and 8.11 on the first two because a later crop fix to + `bolt-chip` cost them 0.01 and 0.02 — and made every ink + probe on the render return its declared token *exactly* — `#0E1114`, + `#575757`, `#8B959E`, `#22323E`, `#9FB2BF`. That is the useful result: the + render reaches the token, and the whole of the colour probes' Δ column is the + capture's own blur bias. `gem` is the extreme case at Δ 64, a 10px magenta + glyph two pixels wide in a 1.07× frame, whose darkest 2% comes back + desaturated at #8D6898 against the board's #B23BD8. + +## Rebuilding + +```bash +python3 mockups/canvases/skillpath-ios/gen.py +refkit tokens mockups/canvases/skillpath-ios +``` + +`gen.py` is the only source of truth; the `NN-*.html` boards are its output. +It re-cuts `assets/art/` from `assets/refs/` when the captures are present and +leaves the committed crops alone when they are not, so the seven non-reference +boards regenerate byte-identically from a fresh clone. + +**`cut()` needs Pillow, and it fails quietly without it.** The import sits +inside a `try`, so a bare system `python3` regenerates every board and silently +skips `assets/art/` — a changed box in `crops.json` then looks applied and is +not. Editing a crop box means regenerating with an interpreter that has Pillow: + +```bash +~/.local/share/uv/tools/super-prototyping-tools/bin/python \ + mockups/canvases/skillpath-ios/gen.py +``` + +That path is where `uv tool install` puts `super-prototyping-tools`; any +interpreter with Pillow will do. Not a hypothetical: `bolt-chip`'s box +originally reached 5.5pt into the "+" of "+25 XP" and put a stray fragment on +every quest row, and the first fix appeared to do nothing for exactly this +reason. + +`icon.png` is drawn, not cropped: the app is unnamed and its own icon never +appears in the recording, so the icon is this board's own Path tab glyph over +its own sky tokens, built by `scratch/icon.py`. Nothing in it is claimed as +measured. diff --git a/mockups/canvases/skillpath-ios/assets/art/avatar.png b/mockups/canvases/skillpath-ios/assets/art/avatar.png new file mode 100644 index 0000000000000000000000000000000000000000..c9e540420cd35d2f9b14550fbefb3c4205f0efdb GIT binary patch literal 4315 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 JPDHLkV1oH80+0Xz literal 0 HcmV?d00001 diff --git a/mockups/canvases/skillpath-ios/assets/art/bolt-chip.png b/mockups/canvases/skillpath-ios/assets/art/bolt-chip.png new file mode 100644 index 0000000000000000000000000000000000000000..2d3cc19f5c63ae5db9c583b45060d3ce4f640588 GIT binary patch literal 464 zcmV;>0WbcEP)o zO>Yum6h@!>-ghX&hm=^M1xdq)3)HUs3;t=BE^64iFl;6QOhBB01y?PZB{KW&7d!sS;B9L_Ru-$Biy_c=(X>>FIo=Vb@6cP36 z;I==vNs_GAYm)d65pgEAmyp30*nPbD{OQ~Ld*jGv{SlT43a=&zpc4@Qhj3WjEs`Y3 z_L+08M42NGA&5Zaj~_A~ZqwWAuV0cM%d!!d+q;MB59i(U_q{8R3I!B+lFQ|CKA+$3 z?kklFy{2g@A#R_x0T@UM07p_q+O5`Pc-eX0=HU>lz8a0k!_i4CCh*kcqbTZM^gEqy zth?E4cC%Rz27|Y6uDZ3Z!Wj&306ff|X;syy*<-vZUN^h%`jbiR#R;N_q!EGQ#F<%u z6)0A#l{z<_PRG5mgDX$~5GMd=^p0AG1}pnzy?QpjJR4o09gtgK6bL{a07#Y}OEr?~ zVs9Z-n~eyOpro-HA^=JNkY9Nbo-U~XaL$orX#iC8-@4zz_26)9I`=OC000020etesZ_Xz$VyHzcAX<&I5W07}-JS8Ffbl%d z!{p5T&f#^KC_z%q)bwt4SB8+LX}r41h5!fwAO@$zLKHyNk}#j2{l1z^CP%yb+ugWj zBpEdTU_v1Y0D!@MjmPKb=Ve*8+ig?Dqn0~j&7$-gT>bI(;$-yU)9vMa!*gwA7B!7v zVT}?>7*tdhKnP*@d3bSoVP@TK*Ezpv>Z+>D?8)0fcwJ1-27{B^(R3w*UVL9(PKK4L zz1@77Wtp#)q!?ULgfBn84hDnS%DqTbmgQ*ljnk`se@nB22MjZSQWUfAH{;qPUQ5*r zw4pZAYd_2P()HA+)Hd55KhKYnep*J6un_=+836;Fh_svwA#{>Xx7*#_+iRf}376ncT>@}02@$K7 zd(+#A<2du{Ff<|noEn}gFmoj9M!ol&8=H}f@V`jH9tKCiHT2TDG4#NvT?EnA(07*qoM6N<$f~fif4FCWD literal 0 HcmV?d00001 diff --git a/mockups/canvases/skillpath-ios/assets/art/chip-hair.png b/mockups/canvases/skillpath-ios/assets/art/chip-hair.png new file mode 100644 index 0000000000000000000000000000000000000000..22bef0e53b5b5eecc3e26debeb62db504a476046 GIT binary patch literal 605 zcmV-j0;2tiP)@40bw>#msPF$ieTxcJ5ur&#dTQ=2yLNvZglk9wp-^G%uU*+Y9@}I3`mM{Q z02zRp;la!@0O;e*U_^w&<~BJG?t7n)JMRg{1Bxd$z_KUN#u@AhhZF6YWI?+B#Q=cp zw9goCYRpiEzFD}pMR#&3oB@E60?-i}eiwAv2I5Ba83XXj05^*XwoL zF%cCRC8wt(>%Cw6xMAj;m57}SrIZu6+c20IrT`|fntq>hUwn+q*&=~rgiqol_nfw$jj^yD4L6_9 zo2I$Cyee9RrK+k>dm>V!<4w*0lmH+Q6)iFP*=&~P&1DG4KOGUyypN(3cQx^zFWp~? zT(b9mHk++hD{%rq)j|j{M(5;35})RI~{ zpd-ACj+vR+iA*MwuItRUxZG!}3*g#W0$0M_X}*Ktm8dr0i*HU={^v@^R7^O reIR`o?jE+0e#kv*guV6p5a|8@;}zn5QwYxc00000NkvXXu0mjfdq5&J literal 0 HcmV?d00001 diff --git a/mockups/canvases/skillpath-ios/assets/art/chip-oral.png b/mockups/canvases/skillpath-ios/assets/art/chip-oral.png new file mode 100644 index 0000000000000000000000000000000000000000..6b6ddf2a9b06421a77c7f474a130083286ff424e GIT binary patch literal 831 zcmV-F1Hk-=P)E46n$4YX707?)b zeIYO)Yig>dt4Tlo(r}C-0u2C+06=5_5CDJ@f|~aC*be0iuV{azd$NRwuMOGrM!ciOM;(+oLka9WKeME^1GIr2p1o zEg(V>1d$MXn&oBMee3Yh!0l=kd zCl`IB?RHE18+R;}u&NqnRh>*Gi^U>IlD2JEtB2L<%lh%L-EILeaoyAay!XbK(@2@_G0Bzc}& zXBUeFGnYlVF4lG3sA^G^_xJb9<>$6--V?5>Di&Zc7z}!Y-oRhZp1Mx6i|qP_ZMONN z-)yyqPiHrcxZfIdZfaHRsmm`S_JtZi01PvL5W{pf^?g*;&1M5YnXay{jn76w z7nxO-T@N@B07)}soo<$^`FuWPNnJO>7pSNg>ztjT@pXalio3eZ?$|qM>d7caS z_V$+C$oNqda1GvKoc&Yj2ylvXhR%}e)Z`bQbw&w2cPDF?(O;Z4oh?zzH6mCDa zM)t$^-z8)3X8FUzimLJL4|n<1Cr-yiq|7_bL{7&V{rL0m&rkxuu?aCyKZG!Z5MvAm zHqUc)S&RY9JB<#b{W;d`(Uf2%L!PWpyzDG9U?Wf=;4iY458F7zaNLZ2-yg4^wnD*s zb7^P!p5uOn0A@Hxpp$d%`Qq_EmBxoV9I%kT^T+WYpR@lbxUaK0d6vb{V_N_K002ov JPDHLkV1oQbh9Lj| literal 0 HcmV?d00001 diff --git a/mockups/canvases/skillpath-ios/assets/art/chip-skincare.png b/mockups/canvases/skillpath-ios/assets/art/chip-skincare.png new file mode 100644 index 0000000000000000000000000000000000000000..03c186cfe78324ba27a84faa5a4c9915a7690187 GIT binary patch literal 639 zcmV-_0)YLAP)EZh)6f{S04|^S$GlvJRuq*Dalh(BLaX;TH#RLuDb(; zs>Yav#2QxZ$^2cS=vfq}rz$4=d_YPXa~=$&IWjrHaC)g0_xIuU_V(+y?;^%`?bX%Q z<@IU5Bb$zgfSa2ypFaPXOeUidzrQ@?2<~(K8471z*LB{{0bE>M3}zUB4E*9%-Rf0PwyY4u^%^YqplPZaf}0jh{}Z1=_ZqyXEx0t?N4H z3?QYLbMn3gkhA9ef_)J}tg31}9)}Q|b4}x$rYS`BLD(T@UDtJ8ueq4w=z;vLNp*&~ z0bq=T5PSF4%7b#7m92|CY?bhD?-AbIy>Bh?7f}4q5+Rb1C+BDL#jk%~ Z`~t`R-4y0XP!IqB002ovPDHLkV1kG+A&CG0 literal 0 HcmV?d00001 diff --git a/mockups/canvases/skillpath-ios/assets/art/cloud-l.png b/mockups/canvases/skillpath-ios/assets/art/cloud-l.png new file mode 100644 index 0000000000000000000000000000000000000000..970d77ff7dda52bce4c4fb5250eefcef0d4741b4 GIT binary patch literal 5214 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 Y1HezCCFg7YQ2+n{07*qoM6N<$f-~qO>i_@% literal 0 HcmV?d00001 diff --git a/mockups/canvases/skillpath-ios/assets/art/crown.png b/mockups/canvases/skillpath-ios/assets/art/crown.png new file mode 100644 index 0000000000000000000000000000000000000000..e17037307fbbc5f0b37f138d557800d015e5874e GIT binary patch literal 1092 zcmV-K1iSl*P)v&_jdMdOsXmZA`*hCGVs5OBEq~qpd!S)N#S&U`u@-N!)j>Wnprg> zA|kr`YE#4`MIusqn!HhAMNgtCSJp4HphdiP-54d4$|Z7y?wqf$b)s0v|tqyt-K)930e>aY_jQF$2=H&3t`&e0)4VJsXWi zlY>`G#yO{|LS(ExzgXPd-0VzeBh-=oaDfxc~Q$ ztoe0yviRlapT7O!&6jV)jR>qT0pUEYKV6@4=Bnw~fVMuW>i+)zfF_b;)vlPC4ZQcC z*4Gyo=NIA9w{6=rzrA}m?6LZ06?R_Kb?w{ey=TGx{(eDEUk zPMQE1YmK$u`)g@J2&>R`UB^vtjLotP0E{V$BFi#1Jjo`*VMU-#i6WxPkE$k-fy${uuCaMXJU#<$n!iF z&KP!VjWty^9F&9IY}dgmR8)Ws2l$a9DHCX#io<+%G)gI@R%41Os&q|vbLB(u+)IpU zRD_5!g@_2~;phOMqHNT#5rx4c#s2{8#an@OmjsId0000< KMNUMnLSTYzJqkep literal 0 HcmV?d00001 diff --git a/mockups/canvases/skillpath-ios/assets/art/gem-chip.png b/mockups/canvases/skillpath-ios/assets/art/gem-chip.png new file mode 100644 index 0000000000000000000000000000000000000000..970d1dfa64628b2c96cc10a82523df1753c620a2 GIT binary patch literal 585 zcmV-P0=E5$P)&BJrTw&tU8mt7Ytx~kae$2Ep z_r5O1?a7mzlXH$NR%`JVh`az^0Ym}Tp?XyS2oOMx7ZFuwohdLLKtn)tBL?dM0xtog z20&Fs1W`~gSU^MoN*{v=rC=>0cu)lq?@I&`v4#LeM5@lHL#6-A_n8Vqielh(!_&SOQvqDtJZ)qm|=efTmSjob5+{o0;Il8xjcnr7Z5$Bo0&T{*zV zpjbc^Rkc>S-R}1D#>M-Kd|E_NRI%Y~HcLr+yOyqq1COVG#k&i4nrz6n_}Jd-!;Hxmv7_+U?$} zUh`Dgfr5D*BY5%Fs8R8N3xiwqmV67@)}}TR1}C*Ww9#C1w&`bA9_!q9w^V`#Rq}O4S-Q2A`bTt Xl#v25D~M*|R&- z3s6*L?nl4>4E^!fZR`?e#u`x+HG-rpL6*JqtLb_+n`&*C{YESRXC%+_ox?_wBwH>3 zn8<~@>+Ip-UVqpGf&I3g0H}}DWU{&ZI4rKO0p*?3?3n%Jx!O58N`G$b?a`zb5|IHQ z!uR+0tE-{bX19}uQF!}dba^=#UQd?GMH1JTx$xF|F6!~{^ROI9mc3OwikXdeT7RnS z-^2x%@ zt*S~Xwb^X$?iSlh;TxGP1;~2^^t7MBX2(!qfq1L2GU;s24jZUXyFE;b}yjFPUDj$i6 zkfOi@BEBq3C`&}fd*|H2!9lOrbB%@wj5ngc+j;%$Y@>&RckilyW<->7u3#scRiHeq zh@@5FJx@DDx7%(1{z|=SEt=vgYXAUfwer?k?wl)bN2}E;3<9O~<405g=e@Po1i``K z;raPFzf?+ry$4{nkss2Mi0o-*+Iw2j=lAc;V4g;4ZCe2#rIo9=#V=m&N56JeS4|u2 z*)O9t03#v*n3D$-tm--^dtYJmO29L4>@O1x|Aws*|?ETaX!*Dhm z#BqFhc5-ywzHQ<$^NalC8-`a*Ag`>5%<=_*iywAo`{{PK#$otytUu*))!d3mCRRjP zIRGI3+9x7_h^VqvyWMVopNohjp=V}hr4$5T`&K_?YheJu76PX?07fqufMW&_3Y3sl d`hU9$z<;yPnj@k)w`%|Z002ovPDHLkV1f+fj!6Ij literal 0 HcmV?d00001 diff --git a/mockups/canvases/skillpath-ios/assets/art/home-clouds.png b/mockups/canvases/skillpath-ios/assets/art/home-clouds.png new file mode 100644 index 0000000000000000000000000000000000000000..536a9c53a2c2a0154078eb70f43071c94a880205 GIT binary patch literal 6095 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 Va1lY6?QQ@7002ovPDHLkV1k4H@?!u1 literal 0 HcmV?d00001 diff --git a/mockups/canvases/skillpath-ios/assets/art/ic-dumbbell.png b/mockups/canvases/skillpath-ios/assets/art/ic-dumbbell.png new file mode 100644 index 0000000000000000000000000000000000000000..395f3be0237c76ca11443aa96c6aa8d43e5a81b6 GIT binary patch literal 1760 zcmV<61|Ru}P)B7nq9=V3qy zR7l&Ec@ZdJru%fCKHWp(G{fp5A`xNxEcSl}0Kfo*006?Jw@)j7OQzVfy4b;w77>Z8 ze`QZEtP&AD^X}=>{MV1|*@JSlBE@t5w`6aVTjk|&$)g;z^@WT)9l!txOa#u&mA)q! zBZgo-us%KQEk#~vGd}A-Ez?Ov5HRP55|z*hn8}DRk#$|LYO;(ErC1m7Cn6F+044!Q z7y>5H5*Um94k8eO2zVJ^wp&Y)FB^8&A|oOOKxCG2V+JJ0RDhEouuPspwS0C+O1UFN zL<&RzF+`vwPk}MZ%rQV9h=|xs7nxhKMwAeM3<7{)0LU`oYw>{y#DIYaG7TayqvGV4 z1R$(WPnoy`Dp*^c03(9kvy&Pv<` zM8piEk){~l-}idG>zkV}eAVrC-HJ|oYOD3cS!%5m7j)&ukTdi&Fx-a(vMcKoH?q6MAU0=W0X%UbugJuNUz!+$tT7}ji zf?D!f00k0aV^;ZTv-mj2@$uQ&#oec)qwDMY-Iu%VPJ1{URx1d@;OeVR)07CTAPW#d zDI^Kb&M$9oZ%5;YYPI_I-C-+^eUB{!%9%<`aB_XiMVBEMJ?JlAF8}$*@zJNFuo?et zYd1-fBuN|)iC3?CK~NJ$W?(d!F&g9a?CS6T_}BIIb(*HW?YFKK zV^uH-X_`JJkC&I1-@bjTR;xB=Q51E%-5?0Ix3_~JV6ucnw!mb%xV^o-xVRV&hraLc z?d>H=((Cmm6Bq-np>?hUu=-du6ebdZ7!pI%$5d6Seh@CS+>b^E2*Wy&bUGcSoXKpl z&=A36if@By@A9tVhC93a`>zf=?VZ^qJN|redU|FIl(L{0U{lmz&SL|m;QO^^vl&GZ zfJUQH_x-c+`2765A~UTulXhMAVKRzaF~k{-M*lgvIXyX@CX3zO-A=b-jA=HT^Tm8H z7#Q9PwkGFrKooyplD+TaYTQ8yH~H` zU%$?i^!4l4hrjNJjhYq0B(HS0;#BK??AM~*t^J1Ina*Yv&KBlDFsb=1R?x;On6cx6 zv)V^2lPJsJd3g73@3-Ig(iD#qQ?Ik<W=4QLIeI1Ga@3`e8UY&KI$b-SH7j-mxSC8CaU@h6C zh&GicH@4JXTYtqgPV#eT)`P?5`@=J<1yEa-@_!f;L5VNlvsc0gBf@L0vEN(9h`<`e zPvKjMt-x&H;l_;+p=UR?pRl*=z#H!g-`}|D)qer{Xr)0!PZ$#b0000W2>63i+9jc#71B+KKlM%1joU}OIOTl}!GIz}c%QzF?HP_+-}rdrf7F|l}Jpg~k6 zDv_0-eH8#G;b;)Oni>pMJz9J;^WL!CA6_k1=m#NRe|kNWGDtfoJaUNl!T8V|;x zH1jUL4|XIX0|1agT-Fzh(*6Q42tZ88Kmb5c)r67>jQ?XKY7tTT|8cHqa+n#D>hqK;mk6W(sv;2p8KYq4u1G;hdRR)`ruH?gE^8u_J_b4vkm!xl zJU%`?K0b!F_1;hCC*J!kvk3#E1DaU#e4go)51SdLrU|RnV^dY5(a3vmttC=p4HE-k zN)^(w+&!#*-rn6lJ?)987>_P4E-o*xtTBe5KvWo}(5GxW(jSUJWGrI9{r&xqA3w_7 z?)3DOnWxj~cwEfqbMHMdv5K*lRQJ36ZogAeXKh)Q+x@O6im$(YGr1XZ_#i-b$Q16m zK!nX^bA5BYdwg20Rz#HN`FuYA`t|E*oEJq=WX?HfEHzC7U^<)Cib8t2|+&Jk-2(HaYbJTHnox5jwy zRW%hzRq;}BEDyMyu5E~7!M}g|_VCBQeytvMyIon9A%qaZcs#b2B}!d#mSx70HC9wa zL{*s?hFgiue5BydG<*|vh~hH3y1Kf!xNy#iNC;uO-QM2bUf*1=f32&kN^slI?zX$C ztN@J0EzFaP=vav;0R^|Qua=+h0 z*&0j6aUJTq-fg!4U@QzX+sS0+y(fkQWn#g*e8Er+>bflocX4s?<;$1#dNUbM%+@TI z%k{cuX6Fns5ky7mx?Vjz{O9_=lgZ@#^KXl*g>z0KMCCw>Lr6Q&w_b_>BFZucfXL*2 z)W%pg_59PR3WeA>>-YQ0xqVR-MKM0hyb#~r-Yu68Cnsmq$<$`94bd`)G<69|LL~8R zy=JBug@|K_A%?^^W}eMvAvV_7EX$ZVhS;_(8=lYS0G^(n@;vw617K!)*~C?(*Uy&{ zC6aWOp`~^)6-_N zvDUV2yIQV@$hypXUu2$0iNso)Wm(eF*>vuFv3%IfKaIS1Dlhs}ifRuxod=yxL`_Bj z%Cg+;b_w5R_oSj(mV56{=W}C>s%BX>9*;+(k+qyEw_dNUk<6WRveN5I(gaJ2;|AK5 z7sSXi`)NL1uh(^5v!ZF+TD55^0LHnZC}NBugwbf^i-MRkXUUUcqkTiwm-_N9Khuxd zY__;uv`u7Y654DwO=yW|^|0EPduPmIu_%h7u4|LINimttCV8GYqeKvS!^qf!xsbkj zFhB%RXvAbPzP!97GS*sBt*SjWq^b{_U)$~D)#B>+#p3krwA`1@x!G(s%E1f~O4}u7 z4!zwAd`YjFx;hiV7@V9;vh2I}J~I};Uw1#Ns&dXv#*@WjaejV&cIIOose%nyA=2v< z4eywAl-bn*y>A?v31$Ew1_25*jcgv)tJUh}=H~A1u5IJz&!7MO=bvY1XPILf7)#Z| zJxLJ)XVsA zY5xRF)7pE0bdgon^prm|(HJ}5t-YgG=-UMLLoGNX8aI2>|vPS`2{jXgCoOp#{^1&GGc4D2?%h?^at0@+fZ2aCQ0@ z{g4yyOstbfhL|0aG~qt3yPWSPBS}E~_hyQ^wT~|-rZr#;_yPKnU$$wqK|d--bVcbHF-eXzvKe7?HB|D9#oWHNQm4Tl3&ZCYqF z0AT07Gn}L#=2Kw+Lc~x3h&T~>eO+E(UzcU6x_Ehc5tS^v$g-^8?~4e801vf*zA%vz#v3yhOeaq9V#tqx;uK+->;GJJCmp3;z zMN!T!W@T9xMIjE|`RVabS(el3ImwTY4*=;f zJ)fRW&nHQeG>5B0=WAu0bIp!>o}BKbKtxun)!p6QwhXh`%&c1Hxhlrv@x|<7GMV%T zv6UH(AOvK*yv)aW0Yte0sA>p7Th;~(A|mP@9v*)Eyb+Ph%O7U;{{Ai^X_^kthUp;n z&Xd;s1F4ftqmMUaz(LOtLhFh$02VAslErHA`1DYP^6KhpG#cg~`Dip63V`AR#m7D b8%+NXLHo;>M#qRp00000NkvXXu0mjfa#>Y{ literal 0 HcmV?d00001 diff --git a/mockups/canvases/skillpath-ios/assets/art/ic-skincare.png b/mockups/canvases/skillpath-ios/assets/art/ic-skincare.png new file mode 100644 index 0000000000000000000000000000000000000000..9d4db921cee110d4b1c194ece866577084afff99 GIT binary patch literal 1336 zcmV-81;_e{P)~}gF|Nb?zbXK9#Aro|Nr~f~ z`7@t*+EEoLtLXm0WS8Y`#s~@t5h>RPzWRuj99f#aDgqdody`tW&Hw-^0N?KgUEmy| zdhCseloK=C8v_(5n-&?IHHAo7Lv?sGoWH~$rAK`PFsPuY>d54FhusdF4M?m70GbAi zh0FmMGysAE5g4G#fChO0sh^C-AXOwt6^KX#NPKwDckkYP`m|lGRx9Mo%gejF=7%5d z=Zl`R6X=NqKyqZqWngu*TB1Yyw@H$e$4C6}=ihJsdh_MUyPUf^-QM2*^y~F(d4GL@ z0Gfh!*)AX=%Kltc1HDNf{S`TfIaCpW5AQ#`{panMr*w67m2R$5N}Em7wGq#QU>ag% zzk3cYX)&gdlFllkLllYhP`hH@;CA`it7_M^0Vb6?xkHQyAb_mMijWAICN9cq!v5z6 za8CnrdYB=lbbEViNtVmytM9*iczF2vmz(Qr9g6^ulInoSi10BJ`lOa;-)KNY+JHLl z?-sxR_T%GIzPY(s-rX&i%h#{d+>inQvgEO1=yO!ZN+cq_Pwg}Gkq|}BSj^`S_xG9g ztD9HNVm_PI5iMzjr}OOh0l&9LvM_amcj-NLV_ko7``6V|>X1{r_Qq~)mJkp?vWlR@ z;&kMsTeRu&6QMw|TibispWtGfm zx9gRomMSGb^lZxCc-vpby<`hP0H%F8%{fYC-EOxLf!x{UB~4#k2>?vhhZTWAuk=`t z01!D7(A;&ar*+r005l}pRJr7s0rg4$rn0~yB~zZh>T8f~*L7W1RX3l_XN$!mrS!sA z9IAFOzKuUB096$cw^UcN#k`r#W`@el+`a6>RKCIssrcqYRaI3)Q*v_`)reTH*B?KA z+-x@Iz8cju7!y4rqNMJicF%=4RA53yn2@=9{QTeNoO36u)oMO(s@gB+4JiQSY~A2D z7d^S&> za%=50g4|aiuBFbAsQm0s%948 zcDpT?B>N;uUe~p`jj}$pDW&z|=&qj@AQ|iCzLQVp^Saq}p{k($mof2|awcAi$+6NE>vdgUU0t=ADJ4}kx7w3?ayL~2pep>@IN|47ol*Wqd3H+| z7ncB1s?1bGRP9{>Q-rY>%whHbiHM>D0!SvyLO|~*j^k6F4{hvWIc#t^nKwBAIN?PO#=h}$KbhLo uN)0LVz0000HCV0a1$IL5npuN9G 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.png and places each back at its own box, so an asset cannot drift from where it was measured. Chrome -- cards, pills, buttons, the road, type -- is CSS.", + "_note": "Every box carries its own background, because every one of them is placed back at the pt it was cut from, over ground the generator paints to the same token. A tight alpha cut-out would only add a matte line.", + "medal": [ + "c2", + 298.0, + 147.0, + 360.0, + 220.0 + ], + "avatar": [ + "c2", + 341.0, + 72.0, + 385.0, + 118.0 + ], + "gem-hdr": [ + "c2", + 263.5, + 87.5, + 282.5, + 102.0 + ], + "crown": [ + "c2", + 30.0, + 346.0, + 55.0, + 367.0 + ], + "bolt-lv": [ + "c2", + 291.0, + 350.0, + 304.0, + 365.0 + ], + "bolt-chip": [ + "c2", + 77.0, + 573.0, + 89.5, + 586.0 + ], + "gem-chip": [ + "c2", + 135.0, + 571.0, + 152.0, + 584.0 + ], + "ic-dumbbell": [ + "c2", + 35.7, + 521.6, + 69.7, + 555.6 + ], + "ic-mewing": [ + "c2", + 35.7, + 606.8, + 69.7, + 640.8 + ], + "ic-skincare": [ + "c2", + 35.7, + 692.0, + 69.7, + 726.0 + ], + "ic-razor": [ + "c2", + 35.7, + 777.2, + 69.7, + 794.0 + ], + "chip-skincare": [ + "c4", + 58.0, + 110.0, + 80.0, + 144.0 + ], + "chip-hair": [ + "c4", + 172.0, + 110.0, + 198.0, + 144.0 + ], + "chip-oral": [ + "c4", + 258.0, + 110.0, + 284.0, + 144.0 + ], + "cloud-l": [ + "c4", + 2.0, + 548.0, + 80.0, + 630.0 + ], + "lock": [ + "c4", + 155.0, + 572.0, + 182.0, + 606.0 + ], + "home-clouds": [ + "c2", + 2.0, + 296.0, + 400.0, + 313.0 + ], + "_note2": "home-clouds and cloud-l are the two photographic cloud washes; the lesson sheet's scalloped top is not a crop, because its measured boundary fits five circles whose centres all land on y 705 and a crop there would carry the scrimmed road behind it." +} diff --git a/mockups/canvases/skillpath-ios/gen.py b/mockups/canvases/skillpath-ios/gen.py new file mode 100644 index 00000000..f8d57484 --- /dev/null +++ b/mockups/canvases/skillpath-ios/gen.py @@ -0,0 +1,882 @@ +"""Emit mockups/canvases/skillpath-ios/ from five frames of one screen recording. + +The source is a 9-second pan-and-zoom over three iPhone 17 Pro simulator +windows (https://x.com/BreejeAnadkat/status/2096553815071993964). Two of the +three windows hold the same unnamed gamified self-improvement app: a Home tab +with a streak card, a level bar and a quest list, and a Path tab with a +serpentine road of lessons. This folder rebuilds five of its screens. + +Because the recording zooms, every frame has its own scale, so there is no one +"capture scale" here: SCALES below carries one px-per-pt figure per frame and +every measurement in this file was read at the scale of the frame it came from. +The device is 402 x 874 pt, not the 393 x 852 the rest of this repo uses -- +that is an iPhone 17 Pro, and the numbers only close on 402 x 874 (width and +height scales agree to 0.07% there and disagree by 0.34% at 393 x 852). + +Chrome is CSS: cards, pills, the tab bar, the progress bar, the road and every +glyph of type. Illustration is cropped out of the capture at its own measured +box -- `crops.json` names each box, `cut()` writes assets/art/.png and +`art()` places the back at the same numbers. + + python3 mockups/canvases/skillpath-ios/gen.py + +Artboards are output. Edit this file, never the HTML. +""" +import base64 +import json +from pathlib import Path + +OUT = Path(__file__).resolve().parent +REFS_DIR = OUT / "assets" / "refs" +ART_DIR = OUT / "assets" / "art" +CROPS = {k: v for k, v in json.loads((OUT / "crops.json").read_text()).items() + if not k.startswith("_")} + +# capture px per design pt, one per frame: the recording zooms between them. +# Each is (frame width / 402 + frame height / 874) / 2 on the screen-inner rect +# found by scanning the bezel transition. +SCALES = {"c1": 1.01194, "c2": 1.07450, "c3": 1.01490, + "c4": 1.01490, "c5": 1.07985} + +NAME = "Skill Path" +PAGE_NAME = "(example) " + NAME +P = "sp" + +W, H = 402.0, 874.0 # iPhone 17 Pro logical size + +# ---------------------------------------------------------------- tokens ---- +# `refkit font` returns "no call, weak" on both the largest glyph on the Home +# screen ("3" of 3 Days, 0.721) and on the Path title ("S" of Skill Path, +# 0.510): a 1.01x video frame of a 24pt cap cannot separate SF Pro from SF Pro +# Rounded. The app is a simulator build with no custom face anywhere in it, so +# the family recorded is the platform stack and the cut is not claimed. +FONT = ('-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display",' + '"Helvetica Neue",Helvetica,Arial,sans-serif') + +# name -> (weight, px, evidence). The px column is the size at which the board's +# ink width matches the capture's, measured on the string named in the row. +TYPE = { + "hero": (700, 31.5, 'probe t-hero, c2 "3 Days": ref ink 96.8 pt wide, board 96.8'), + "title": (700, 24.5, 'probe t-title, c4 "Skill Path": ref 100.5, board 100.5'), + "h1": (700, 17.5, 'probe t-h1, c2 "Level 4": ref 54.9, board 55.8, +1.6%'), + "sect": (700, 17.0, 'probe t-sect, c2 "Today\u2019s Quest": ref 112.6, board 112.6. ' + 'Half a point smaller than h1, and the two do not merge: ' + 'forcing this run to 17.5 costs c1 and c2 0.10 and 0.15'), + "h2": (700, 24.5, 'probe t-h2, c5 "Barrier Repair": ref 153.7, board 150.9. ' + 'The width asks for 25px and the frame does not: 25px ' + 'costs c5 0.31, so the -1.8% stands'), + "greet": (700, 20.0, 'probe t-greet, c2 "Welcome Back": ref 134.9, board 134.0'), + "count": (700, 16.0, 'probe t-count, c2 "235" in the gem pill: ref 27.9, board ' + '28.9. A wider box takes the pill border with it, so this ' + 'one was settled on a zoom pair as well, scratch/p_gem.png'), + "node": (600, 16.6, 'probe t-node, c4 "Under-Eye Care": ref 120.2, board 120.2'), + "row": (600, 15.5, 'probe t-row, c2 quest row 1 title: ref 130.3, board 131.2'), + "chipname": (600, 15.0, 'probe t-chipname, c4 "Oral Posture": ref 86.7, board 85.7'), + "cta": (700, 15.0, 'probe t-cta, c5 "START LESSON": ref 116.7, board 118.5. ' + 'The width is what set the tracking: .09em ran 125.9 wide, ' + '.045em lands within 2%'), + "body": (500, 15.0, 'probe t-body, c2 "Hi, James": ref 67.0, board 65.1'), + "meta": (500, 13.5, 'probe t-meta, c2 "95/120 XP": ref 63.3, board 63.3'), + "date": (400, 15.5, 'probe t-date, c2 the Thu numeral "12": ref 14.9, board 15.8. ' + 'Two glyphs is a thin sample; 14.6px measures better and ' + 'renders worse, so the round number stands'), + "sub": (400, 13.0, 'probe t-sub, c2 quest row 1 subtitle: ref 196.4, board 195.4'), + "cap": (600, 11.7, 'probe t-cap, c2 "CURRENT STREAK": ref 108.0, board 108.9. ' + 'A cap-height read said 14px, which set it 18% too wide'), + "tab": (500, 12.0, 'probe t-tab, c2 "Home": ref 32.6, board 31.6. The four ' + 'labels band at 49.3-81.9 / 144.3-168.5 / 232.7-261.5 / ' + '313.6-363.0; "Progress" is 49.3 wide against 49.3'), + "day": (500, 11.0, 'probe t-day, c2 "Mon": ref 20.5, board 20.5'), + "count2": (600, 10.7, 'probe t-count2, c2 "1/5 completed": ref 72.6, board 72.6. ' + '14px was 26% too wide'), + "chip": (600, 9.3, 'probe t-chip, c2 the quest-row "+25 XP": ref 36.3, board ' + '36.3. 12px was 8% too wide'), + } +TYPE_TOKENS = [("Type", "t-" + k, "%d %gpx/%gpx var(--x-font)" + % (w, fs, round(fs * 1.22, 1)), ev) + for k, (w, fs, ev) in TYPE.items()] +# The clock is not fitted like the rest: it is the repo's standard chrome, +# so it keeps the template's own 17px/22px rather than this table's 1.22 lead. +TYPE_TOKENS.append(("Type", "t-time", "590 17px/22px var(--x-font)", + "repo standard chrome (templates/gen.py); the source's " + "clock is not measured")) + +TOKENS = [ + ("Font", "font", FONT, + 'refkit font: "3" of 3 Days = no call, weak (0.721 SF Pro); "S" of Skill ' + 'Path = no call, weak (0.510 SF Pro Rounded). Platform stack, cut not claimed'), + + ("Surface", "sheet", "#FDFDFD", + "flat census, c2 quest sheet (150-250, 440-460) and c5 lesson sheet: 100%. " + "This is the recording's white plateau -- H.264 flat-field quantisation puts " + "paper white at 253, and 255 appears only as ringing beside dark text"), + ("Surface", "strip", "#F5F9FC", + "flat census, c2 weekday strip (222-252, 242-292): 100%"), + ("Surface", "level", "#E6F7EF", + "flat census, c2 level card interior (200-260, 340-360): 100%"), + ("Surface", "sky-1", "#9DCDE8", + "flat census, c4 sky at y 66-74, both sides of the island: 100%"), + ("Surface", "sky-2", "#94C6E2", + "flat census, c2 home sky at y 300-310, left of the streak card: 100%"), + ("Surface", "sky-3", "#90C3E2", + "flat census, c4 path sky at y 300-320 and y 520-528: 100%"), + ("Surface", "day-on", "#E2E9F5", + "mode of the c2 Mon check disc (47-59, 263-271), all pixels: no flat core at 20pt"), + ("Surface", "chip", "rgba(255,255,255,.40)", + "c4 inactive chip reads #C5DBED flat over #9DCDE8 sky: (197-157)/(255-157) = .41"), + ("Surface", "chip-on", "#F6FAFD", + "flat census, c4 Skincare chip right of its label (144-153, 112-140): 67%"), + ("Surface", "node", "#FCFEFF", + "mode of the c4 Barrier Repair node core (50-60, 420-450)"), + ("Surface", "node-off", "#BDD6E4", + "flat census, c4 locked Weekly Exfoliation node (158-178, 565-575): 84%"), + ("Surface", "cta", "#5B8BA8", + "flat census, c5 START LESSON button interior (150-250, 770-790): 99%"), + ("Surface", "cta-lip", "#43708C", + "column scan c5 x 200: the button's bottom lip, y 820.8-824.5"), + ("Surface", "scrim", "rgba(26,60,74,.415)", + "c5 over c4 at two grounds: sky 144,195,226 -> 95,139,163 and locked node " + "188,214,228 -> 121,150,165. (1-a) = 26/44 = 0.59 on red, 11/19 = 0.58 on green"), + + ("Line", "dash", "#CFDDE9", + "mode of the c4 road centre dash core (97-100, 566-572)"), + ("Line", "ring", "#DDE3EA", + "c2 quest-progress ring, coverage solve against the #FDFDFD sheet"), + ("Line", "card-edge", "#F8F9FB", + "c2 column scan x 25: the quest row edges read 248/253 against the sheet"), + + ("Ink", "ink", "#0E1114", + "ink core, darkest 15% of c2 3 Days (47-143, 181-209): #060606, and of " + "Today's Quest: #1E1E1E"), + ("Ink", "ink-2", "#575757", "ink core, c2 1/5 completed (270-358, 469-482)"), + ("Ink", "ink-3", "#8B959E", "ink core, c2 CURRENT STREAK (46-153, 157-168)"), + ("Ink", "ink-4", "#B9BBC1", "ink core, c2 Quests resets at midnight (38-195, 496-510)"), + ("Ink", "ink-sub", "#A4A9AF", "ink core, c2 quest row subtitles (78-380, 549-563)"), + ("Ink", "ink-sky", "#22323E", "ink core, c5 Barrier Repair title (101-256, 690-712)"), + ("Ink", "ink-sky-2", "#255471", "ink core, c4 Under-Eye Care node label (200-310, 277-292)"), + ("Ink", "ink-sky-3", "#6795B3", "ink core, c4 Weekly Exfoliation, the locked label"), + ("Ink", "ink-inv", "#FDFDFD", "the sheet white; white type is the same plateau"), + ("Ink", "ink-hdr", "rgba(253,253,253,.72)", + "c2 Hi, James reads #CFF0FF brightest-15% over #9BCBE6 sky"), + + ("Accent", "green", "#16BE70", "mean of the c2 level-node core (38-42, 386-397)"), + ("Accent", "green-2", "#29BA76", "mean of the c2 level track core (82-98, 388-394)"), + ("Accent", "green-pale", "#D7FFEE", "mean of the c2 locked level node (269-275, 385-397)"), + ("Accent", "track-off", "#C5ECD7", "mean of the c2 unfilled level track (312-333, 388-394)"), + ("Accent", "xp", "#3FBE84", "c2 +25 XP chip label, ink core widened to the glyph"), + ("Accent", "tab-on", "#E3EDF3", "flat census, c4 active tab pill, 8% of the tab-bar window"), + ("Accent", "tab-on-ink", "#9FB2BF", "ink core, c4 active Path label (140-178, 832-843)"), + ("Accent", "tab-off-ink", "#4E4E4E", "ink core, c4 inactive Home icon (56-80, 807-826)"), + ("Accent", "play", "#5F8AA4", + "ink core of the c4 Barrier Repair play triangle (55-78, 428-450): #5F8AA4, " + "and of the c5 sheet triangle (45-62, 700-722): #608AA4"), + ("Accent", "gem", "#B23BD8", + "ink core, c2 +2 gem chip label (153-170, 574-585)"), + ("Accent", "lock", "#80A4BB", + "mode of the c4 keyhole glyph (163-171, 586-598), all pixels"), + + ("Radius", "r-card", "28px", "c2 streak-card corner, row scans at y 131 and y 296"), + ("Radius", "r-level", "24px", "c2 level-card corner, row scans at y 334 and y 431"), + ("Radius", "r-row", "22px", "c2 quest-row corner"), + ("Radius", "r-cta", "20px", "c5 START LESSON corner"), + ("Radius", "r-pill", "999px", "by construction, not measured"), + ("Radius", "r-phone", "55px", + "circular stand-in for the 17 Pro's continuous display corner; refkit " + "--crop-phone masks the same number"), + + # Type. Every size here was fitted to the reference's own ink width with + # refkit bbox, not read off a cap height: SF Pro is not in the renderer, the + # stand-in does not set to the same width, and a cap measured through H.264 + # blur is 1-2 pt taller than the glyph. Each row carries the reference width, + # the width the board rendered at the size that was replaced, and the string + # both were measured on. + *TYPE_TOKENS, + + ("Metrics", "w", "402px", "iPhone 17 Pro logical width"), + ("Metrics", "h", "874px", "iPhone 17 Pro logical height"), + ("Metrics", "status", "54px", + "repo standard chrome (templates/gen.py), iOS Dynamic Island status bar"), + ("Metrics", "gutter", "20px", + "c2 streak-card row scan: left edge 20.5, right edge 382.5, on a 402 pt frame"), + ("Metrics", "row", "85.2px", + "c2 quest titles at 527.1 / 611.8 / 697.4: pitch 84.7 and 85.6"), + ("Metrics", "road", "37px", + "c4 road verticals run x 80-117 and x 287-324 on every row between bends"), + ("Metrics", "bend", "39px", + "circle fit on the c4 bend at y 214.5: predicted left edge 85.2 / 82.4 / " + "80.7 at y 234 / 240 / 246 against 85 / 82 / 81 measured"), +] + + +def _root(): + """One :root block, byte-identical in every board. No `}` inside it: + refkit tokens reads it with a non-greedy regex.""" + out, seen = [":root{"], None + for group, name, value, _ in TOKENS: + if group != seen: + out.append("" if seen else None) + out.append(" /* %s */" % group) + seen = group + out.append(" --x-%s:%s;" % (name, value)) + return "\n".join(x for x in out if x is not None) + "\n}" + + +TOKENS_CSS = _root() + + +# ------------------------------------------------------------------ art ---- +def cut(): + """Refresh assets/art/ from assets/refs/ at the boxes in crops.json, each + at the scale of the frame it came from.""" + if not REFS_DIR.exists(): + return + try: + from PIL import Image # noqa: local dep + except ImportError: # no Pillow, no cut + return + ART_DIR.mkdir(parents=True, exist_ok=True) + src, n = {}, 0 + for cid, (ref, x0, y0, x1, y1) in CROPS.items(): + f = REFS_DIR / (ref + ".png") + if not f.exists(): + continue + if ref not in src: + src[ref] = Image.open(f).convert("RGB") + k = SCALES[ref] + src[ref].crop(tuple(round(v * k) for v in (x0, y0, x1, y1))).save( + ART_DIR / (cid + ".png"), optimize=True) + n += 1 + print("%-24s %6d crops" % ("assets/art/", n)) + + +def _uri(cid): + f = ART_DIR / (cid + ".png") + return ("data:image/png;base64," + base64.b64encode(f.read_bytes()).decode() + if f.exists() else "") + + +def art(cid, dx=0.0, dy=0.0, z=None): + """One , placed at the box it was measured from (dx/dy only for the + same asset reused on a screen that scrolls it).""" + _, x0, y0, x1, y1 = CROPS[cid] + return ('' + % (_uri(cid), x0 + dx, y0 + dy, x1 - x0, y1 - y0, + ";z-index:%d" % z if z else "")) + + +# ------------------------------------------------------------ phone frame ---- +BASE = """*{box-sizing:border-box;margin:0;padding:0} +body{font-family:var(--x-font);-webkit-font-smoothing:antialiased; + display:flex;justify-content:center;padding:24px} +img.a{position:absolute;display:block}""" + +PHONE = """.phone{position:relative;flex:none;width:var(--x-w);height:var(--x-h); + border-radius:var(--x-r-phone);overflow:hidden;background:var(--x-sheet);color:var(--x-ink); + transform:translateZ(0); + box-shadow:0 0 0 11px #1D191A,0 0 0 12.5px #3A3735,0 24px 60px rgba(29,25,26,.28)} +.sb{position:absolute;left:0;top:0;width:var(--x-w);height:var(--x-status);z-index:9} +.sb .time{position:absolute;left:0;top:18.2px;width:142.4px;text-align:center;font:var(--x-t-time)} +.sb .island{position:absolute;top:11px;left:50%;transform:translateX(-50%); + width:125px;height:36px;border-radius:20px;background:#000} +.sb svg{position:absolute;display:block;fill:currentColor}""" + +# The status bar is the repo's standard chrome, copied verbatim from +# mockups/canvases/templates/gen.py. The source's own bar was not measured +# and its glyphs were not cropped: the repo's chrome wins over the source's, +# the same way the phone frame does. +# Cellular, wifi, battery at their measured status-bar positions, inheriting +# currentColor so one call recolours the whole bar. +SB_ICONS = ( + '' + '' + '' + '' + '' + '' + '' + '' + '' + '') + + +def statusbar(colour="var(--x-ink)", time="9:41", island=True): + """island=False for the shell boards: the art draws its own camera housing.""" + return ('
%s
%s
%s
' + % (colour, '
' if island else "", time, SB_ICONS)) + + +# ----------------------------------------------------------------- emit ---- +def page(title, body, extra_css=""): + html = ('\n\n\n\n' + '%s\n\n\n\n%s\n\n\n' + % (title, TOKENS_CSS, BASE, PHONE, extra_css, body)) + return html.replace("--x-", "--%s-" % P) + + +def write(name, html): + (OUT / (name + ".html")).write_text(html) + print("%-24s %6d" % (name, len(html))) + + +# --------------------------------------------------------------- helpers ---- +# Measured, not assumed. SF Pro is not installed in the renderer (a probe of +# eight stacks -- -apple-system, "SF Pro Text", "SF Pro Display", "Helvetica +# Neue", Helvetica, Arial, "SF Compact Text" -- came back byte-identical), so +# the board is set in the platform fallback and the fallback's metrics are the +# ones that decide where a cap lands. scratch/met.html renders HXE at 12 / 18 / +# 25 / 31.5 / 40 px inside a block of a known top; the cap top comes out at +# lh/2 - CAP_TOP*fs below that top, with CAP_TOP = 0.350 to +-0.008 across all +# five sizes, and the cap itself measures 0.733 em (SF Pro's is 0.714). tx() +# inverts the measured relation, not the nominal one: assuming SF Pro's 0.714 +# put every run low by 0.105*fs, which is 3.3 pt on the 31.5 px "3 Days". +CAP_TOP = 0.350 + +def tx(x, cap_top, text, style, colour="var(--x-ink)", weight=None, + extra="", cls="t"): + """Absolutely place one run of text by the cap-top the grid actually shows. + `style` names a row of TYPE, so the size that decides the position is the + same one the stylesheet sets; `weight` overrides that row's weight alone.""" + w, fs, _ = TYPE[style] + lh = round(fs * 1.22, 1) + top = cap_top - lh / 2.0 + CAP_TOP * fs + return ('
%s
' + % (cls, x, top, style, + ";font-weight:%d" % weight if weight and weight != w else "", + colour, extra, text)) + + +def box(x, y, w, h, r=0.0, css="", cls="b"): + return ('
' + % (cls, x, y, w, h, ";border-radius:%.1fpx" % r if r else "", css)) + + +def art_at(cid, x, y, w, h): + """The same measured asset placed a second time. Used only for the bolt and + gem glyphs, which the source repeats at several sizes; the crop box in + crops.json is still the one instance that was measured.""" + return ('' % (_uri(cid), x, y, w, h)) + + +EXTRA = """.t,.b{position:absolute} +.t{white-space:nowrap;letter-spacing:-.01em} +.sky{position:absolute;left:0;top:0;width:402px} +.card{position:absolute;background:var(--x-sheet)} +.pill{position:absolute;border-radius:999px} +.road{position:absolute;left:0;top:0;width:402px;height:874px} +.blur{position:absolute;left:0;top:0;width:402px;height:152px; + background:rgba(157,205,232,.55); + -webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px);z-index:4} +.node{position:absolute;width:47px;height:47px;border-radius:24px; + background:var(--x-node);box-shadow:0 3px 7px rgba(31,74,97,.16)} +.tabbar{position:absolute;left:23.5px;top:794.3px;width:355px;height:59.7px; + border-radius:30px;background:var(--x-sheet); + box-shadow:0 6px 22px rgba(40,64,80,.13);z-index:6}""" + + +# ------------------------------------------------------------- tab bar ---- +TAB_C = [67.5, 158.0, 248.5, 339.0] # column centres, pitch 90.5 +TABS = ["Home", "Path", "Shop", "Progress"] + +TAB_ICON = { + "Home": '' + '', + "Path": '' + '', + "Shop": '' + '', + "Progress": '' + '' + '' + '', +} + + +def tabbar(active): + out = ['
'] + i = TABS.index(active) + out.append(box(TAB_C[i] - 46.8, 798.3, 93.6, 52.0, 26.0, + ";background:var(--x-tab-on);z-index:7")) + for j, name in enumerate(TABS): + on = j == i + colour = "var(--x-tab-on-ink)" if on else "var(--x-tab-off-ink)" + out.append('%s' + % (TAB_C[j] - 9.35, colour, TAB_ICON[name])) + out.append(tx(0, 833.4, name, "tab", colour, + extra=";width:%gpx;left:%.1fpx;text-align:center;z-index:8" + % (120, TAB_C[j] - 60))) + return "".join(out) + + +# ---------------------------------------------------------------- home ---- +DAYS = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"] +DAY_C = [53.0, 102.5, 152.0, 201.5, 251.0, 300.5, 350.0] # pitch 49.5 +LEVEL_X = [48.25, 125.1, 202.0, 278.9, 355.75] # pitch 76.875 +LEVEL_XP = ["30 XP", "60 XP", "90 XP", "120 XP", "150 XP"] + +# emoji box per quest row: the ink centres on x 52.7, 27.6 below the row top, +# so a 34pt box lands at 35.7. ic-razor is cut short at the tab bar. +ICON = {"ic-dumbbell": (10.6, 34.0, 34.0), "ic-mewing": (10.6, 34.0, 34.0), + "ic-skincare": (10.6, 34.0, 34.0), "ic-razor": (10.6, 34.0, 16.8)} + +QUESTS = [ + ("ic-skincare", "Morning Skincare Routine", "Apply cleanser, moisturizer and Shampoo"), + ("ic-dumbbell", "Push Day Workout", "Complete today’s push workout…"), + ("ic-mewing", "Mewing Practice", "5 minutes of proper tongue posture and"), + ("ic-skincare", "Morning Skincare Routine", "Apply cleanser, moisturizer and Shampoo"), + ("ic-razor", "Morning Skincare Routine", "Apply cleanser, moisturizer and Shampoo"), +] + +CHECK = ('' + '') + + +def home(done): + """done = how many of the five quests have been cleared; the source shows + 0/5 (c1) and 1/5 (c2), and the cleared row leaves the top of the list.""" + o = ['
', + art("home-clouds"), + box(0, 312, 402, 562, 0, + ";background:var(--x-sheet);border-radius:36px 36px 0 0"), + tx(22.3, 75.4, "Hi, James", "body", "var(--x-ink-hdr)"), + tx(22.3, 98.7, "Welcome Back", "greet", "var(--x-ink-inv)"), + box(252.2, 78.2, 75.4, 36.3, 18.15, + ";background:rgba(255,255,255,.16);" + "border:1px solid rgba(255,255,255,.46)"), + art("gem-hdr"), + tx(287.5, 86.5, "235", "count", "var(--x-ink-inv)"), + art("avatar")] + + # streak card + o += [box(20.5, 130.5, 362.0, 166.0, 28.0, ";background:var(--x-sheet);" + "box-shadow:0 6px 18px rgba(40,72,92,.10)"), + box(20.5, 231.0, 362.0, 65.5, 0, ";background:var(--x-strip);" + "border-radius:0 0 28px 28px"), + tx(45.6, 157.3, "CURRENT STREAK", "cap", "var(--x-ink-3)", + extra=";letter-spacing:.02em"), + tx(46.5, 180.6, "3 Days", "hero", "var(--x-ink)"), + art("medal")] + for i, d in enumerate(DAYS): + on = i < 3 + o.append(tx(0, 248.5, d, "day", "var(--x-ink-3)", + extra=";width:80px;left:%.1fpx;text-align:center%s" + % (DAY_C[i] - 40, + ";color:var(--x-ink-2);font-weight:700" if i == 3 else ""))) + if on: + o.append(box(DAY_C[i] - 10, 261.0, 20.0, 20.0, 10.0, + ";background:var(--x-day-on)")) + o.append(CHECK % (DAY_C[i] - 7, 264.0, 14, 14, "var(--x-ink-3)", 2.6)) + else: + o.append(tx(0, 264.3, str(9 + i), "date", + "var(--x-ink-2)" if i == 3 else "var(--x-ink-3)", + weight=700 if i == 3 else 400, + extra=";width:80px;left:%.1fpx;text-align:center" + % (DAY_C[i] - 40))) + o.append(box(198.5, 283.5, 6.0, 6.0, 3.0, ";background:var(--x-ink-2)")) + + # level card + o += [box(19.5, 333.8, 362.5, 98.2, 24.0, ";background:var(--x-level)"), + art("crown"), + tx(62.4, 349.0, "Level 4", "h1", "#0F1B15"), + art("bolt-lv"), + tx(307.1, 350.9, "95/120 XP", "meta", "#72887D")] + o.append(box(LEVEL_X[0], 386.9, LEVEL_X[-1] - LEVEL_X[0], 9.4, 4.7, + ";background:var(--x-track-off)")) + o.append(box(LEVEL_X[0], 386.9, 231.0 - LEVEL_X[0], 9.4, 4.7, + ";background:var(--x-green-2)")) + for i, x in enumerate(LEVEL_X): + on = i < 3 + o.append(box(x - 13.5, 382.6, 27.0, 18.0, 9.0, + ";background:var(--x-green)" if on + else ";background:var(--x-green-pale)")) + if on: + o.append(CHECK % (x - 6.5, 385.1, 13, 13, "var(--x-ink-inv)", 2.8)) + else: + o.append('' + '' % (x - 3)) + o.append(tx(0, 410.4, LEVEL_XP[i], "meta", "#435849", + extra=";width:120px;left:%.1fpx;text-align:center" % (x - 60))) + + # quest card + rows = QUESTS[done:done + 4] + o += [box(20.5, 450.0, 361.0, 382.0, 24.0, ";background:var(--x-sheet);" + "border:1px solid var(--x-card-edge)"), + tx(37.2, 468.1, "Today’s Quest", "sect", "var(--x-ink)"), + tx(38.2, 496.0, "Quests resets at midnight", "sub", "var(--x-ink-4)"), + box(256.0, 465.0, 111.5, 22.5, 11.25, ";background:var(--x-sheet);" + "border:1px solid var(--x-card-edge)"), + '' + '' + '' + % (10.7 * done), + tx(285.0, 470.6, "%d/5 completed" % done, "count2", "var(--x-ink-2)")] + for i, (icon, title, sub) in enumerate(rows): + top = 511.0 + i * 85.2 + o.append(box(27.5, top, 350.2, 82.0, 22.0, ";background:var(--x-strip)")) + dy, w, h = ICON[icon] + o.append(art_at(icon, 35.7, top + dy, w, h)) + o.append(tx(77.3, top + 16.1, title, "row", "var(--x-ink)")) + o.append(tx(77.3, top + 38.5, sub, "sub", "var(--x-ink-sub)")) + o.append(art_at("bolt-chip", 77.0, top + 62.0, 18.0, 13.0)) + o.append(tx(96.5, top + 65.4, "+25 XP", "chip", "var(--x-xp)")) + o.append(art_at("gem-chip", 135.0, top + 60.0, 17.0, 13.0)) + o.append(tx(155.5, top + 65.4, "+2", "chip", "var(--x-gem)")) + o.append(box(341.0, top + 20.5, 28.5, 28.5, 14.25, + ";border:1.6px dashed var(--x-ring)")) + o.append(tabbar("Home")) + return "".join(o) + + +# ---------------------------------------------------------------- path ---- +# Road centreline in content pt. The board at scroll 0 is c4; c3 is the same +# content 184.3 lower down, which is what SCROLL_B holds. +ROAD = [(305.5, -200.0), (305.5, 213.3), (98.5, 213.3), (98.5, 363.9), + (305.5, 363.9), (305.5, 513.9), (98.5, 513.9), (98.5, 698.1), + (305.5, 698.1), (305.5, 883.4), (98.5, 883.4), (98.5, 1120.0)] +BEND = 39.0 +SCROLL_B = -184.3 + +CHIPS = [("Fitness", -60.0, 96.7, None, None), + ("Skincare", 46.7, 108.3, "chip-skincare", 85.5), + ("Hair", 165.0, 76.0, "chip-hair", 199.5), + ("Oral Posture", 251.0, 132.0, "chip-oral", 284.0)] +ACTIVE_CHIP = "Skincare" + +# node: (x, y, state, label) +NODES = [(65.5, 138.1, "done", "Morning Cleanse"), + (164.4, 288.4, "done", "Under-Eye Care"), + (65.5, 438.4, "play", "Barrier Repair"), + (166.8, 588.8, "locked", "Weekly Exfoliation"), + (65.5, 808.3, "play", "Face Shape & Cut"), + (166.8, 958.4, "locked", "Washing Correctly")] + + +def road_d(dy): + """One path string with BEND-radius corners at every turn.""" + pts = [(x, y + dy) for x, y in ROAD] + d = ["M %.1f %.1f" % pts[0]] + for i in range(1, len(pts) - 1): + (px, py), (cx, cy), (nx, ny) = pts[i - 1], pts[i], pts[i + 1] + ax = cx + (0 if px == cx else (BEND if px > cx else -BEND)) + ay = cy + (0 if py == cy else (BEND if py > cy else -BEND)) + bx = cx + (0 if nx == cx else (BEND if nx > cx else -BEND)) + by = cy + (0 if ny == cy else (BEND if ny > cy else -BEND)) + d.append("L %.1f %.1f Q %.1f %.1f %.1f %.1f" % (ax, ay, cx, cy, bx, by)) + d.append("L %.1f %.1f" % pts[-1]) + return " ".join(d) + + +def road(dy): + p = road_d(dy) + return ('' + '' % (p, p)) + + +LOCK_BOX = CROPS["lock"] + + +def nodes(dy): + o = [] + for x, y, state, label in NODES: + cy = y + dy + if cy < -60 or cy > 960: + continue + locked = state == "locked" + o.append(box(x - 23.5, cy - 23.5, 47.0, 47.0, 23.5, + ";background:var(--x-node-off);z-index:2" if locked + else ";background:var(--x-node);z-index:2;" + "box-shadow:0 3px 7px rgba(31,74,97,.16)")) + if state == "done": + o.append((CHECK % (x - 8.5, cy - 8.5, 17, 17, + "var(--x-ink-sky-2)", 2.4)) + .replace("position:absolute;", "position:absolute;z-index:3;")) + elif state == "play": + o.append('' + '' + % (x - 6.5, cy - 10.15)) + else: + o.append(art("lock", x - (LOCK_BOX[1] + LOCK_BOX[3]) / 2.0, + cy - (LOCK_BOX[2] + LOCK_BOX[4]) / 2.0, z=3)) + o.append(tx(x + 35.5, cy - 14.1, label, "node", + "var(--x-ink-sky-3)" if locked else "var(--x-ink-sky-2)", + extra=";z-index:3")) + o.append(box(x + 35.4, cy + 9.35, 59.1, 17.5, 8.75, + ";background:rgba(255,255,255,.92);z-index:3")) + o.append(art_at("bolt-chip", x + 41.0, cy + 11.6, 11.5, 13.0)) + o.append(tx(x + 55.0, cy + 13.4, "+25 XP", "cap", "var(--x-xp)", + extra=";z-index:4")) + return "".join(o) + + +def path(dy, clouds=True): + o = ['
'] + if clouds: + o.append(art("cloud-l", 0.0, dy * 0.26)) + o.append(road(dy)) + o.append(nodes(dy)) + o.append('
') + o.append(tx(22.7, 80.8, "Skill Path", "title", "var(--x-ink-inv)", + extra=";z-index:5")) + for name, x, w, cid, tx0 in CHIPS: + on = name == ACTIVE_CHIP + o.append(box(x, 106.0, w, 40.0, 20.0, + ";z-index:5;background:%s" + % ("var(--x-chip-on)" if on else "var(--x-chip)"))) + if cid: + o.append(art(cid, 0.0, 0.0, 6)) + if tx0: + o.append(tx(tx0, 118.5, name, "chipname", "#22303A", extra=";z-index:6")) + else: + o.append(tx(x + 48.0, 118.5, name, "chipname", "#22303A", extra=";z-index:6")) + return "".join(o) + + +# -------------------------------------------------------- lesson sheet ---- +# Five circles whose centres all land on y 705: the scalloped top of the sheet, +# fitted to the white/scrim boundary sampled every 4pt in c5. +SCALLOP = [(52.0, 56.5), (146.0, 76.2), (230.0, 54.5), (310.0, 65.25), (388.0, 58.0)] + + +def sheet(): + circles = "".join('' % (x, r) + for x, r in SCALLOP) + o = [box(0, 0, 402, 874, 0, ";background:var(--x-scrim);z-index:10"), + '' + '%s' + '' % circles, + box(24.5, 680.0, 58.0, 58.0, 29.0, + ";background:var(--x-tab-on);z-index:12"), + '' + '', + tx(102.8, 694.5, "Barrier Repair", "h2", "var(--x-ink-sky)", + extra=";z-index:13"), + art_at("bolt-chip", 101.9, 725.0, 12.5, 14.0), + tx(119.0, 726.6, "+25 XP", "cap", "var(--x-xp)", extra=";z-index:13"), + box(22.0, 767.5, 358.3, 57.0, 20.0, + ";z-index:12;background:linear-gradient(180deg," + "var(--x-cta) 0,var(--x-cta) 52.5px,var(--x-cta-lip) 52.5px)"), + tx(142.6, 788.1, "START LESSON", "cta", "var(--x-ink-inv)", + extra=";letter-spacing:.045em;z-index:13")] + return "".join(o) + + +# --------------------------------------------------------------- boards ---- +SCREENS = [ + ("01-home", "Home", "5:54", lambda: home(0) ), + ("02-home-quest-done", "Home, one cleared", "5:55", lambda: home(1) ), + ("03-path", "Skill Path", "6:09", + lambda: path(0.0) + tabbar("Path")), + ("04-path-scrolled", "Skill Path scrolled", "6:09", + lambda: path(SCROLL_B) + tabbar("Path")), + ("05-lesson-sheet", "Lesson sheet", "6:09", + lambda: path(0.0) + tabbar("Path") + sheet()), +] + +REFS = [("01-home", "c1"), ("02-home-quest-done", "c2"), ("03-path", "c4"), + ("04-path-scrolled", "c3"), ("05-lesson-sheet", "c5")] + + +def screen(name, title, time, build): + body = ('
%s%s
' + % (build(), statusbar("var(--x-ink-inv)", time))) + return page("%s - %s" % (NAME, title), body, EXTRA) + + +def ref_boards(): + """ref-NN-*.html hold the capture itself, at 1pt = 1px beside the rebuild. + Never committed: assets/refs/ is third-party and .gitignore already keeps + it out. Regenerating them is what `clone-prototype` phase 5 does.""" + if not REFS_DIR.exists(): + return + for board, ref in REFS: + f = REFS_DIR / (ref + ".png") + if not f.exists(): + continue + uri = "data:image/png;base64," + base64.b64encode(f.read_bytes()).decode() + body = ('
' + '
' % uri) + write("ref-" + board, page("%s - reference %s" % (NAME, ref), body, EXTRA)) + + +# --------------------------------------------------------- token boards ---- +# The artboard is 478 x 980 and the evidence is the deliverable, so the tables +# split across boards rather than being trimmed to fit. Both row counts below +# are the largest value that still reports `fits` under +# refkit shoot ./0*.html -o scratch/ovf --scale 2 --check-overflow +# run WITHOUT --crop-phone: with it a full-bleed board is cropped to the phone +# rect first and an overflowing table never shows up. +TOK_ROWS = 14 # 73 tokens -> 6 boards of 13/12/12/12/12/12; 15 rows + # overflows by 10px, on the one chunk that carries + # --sp-font's 107-character stack +EV_ROWS = 11 # 73 rows -> 7 boards of 11/11/11/10/10/10/10; 12 overflows + # by 5px +SUF = "bcdefghijklmnopqrstuv" + +# 478 - 2 x 24px body padding. The artboard clips horizontally as silently as +# it clips vertically -- and --check-overflow does not catch that one, because +# it only flags an element whose own overflow is `hidden`, never the page +# running wider than the board. So the table is pinned to the width rather than +# left to size itself. Left to itself it sized to --sp-font's stack: the old +# board's row dividers measure 1033px wide, starting at the 24px padding and +# ending 579px past the right edge of the 478px artboard, so the whole value +# column was off the board and --check-overflow still said `fits`. +TW = 430 + +TABLE_CSS = """.w{flex:none;width:%dpx} +h1{font:600 15px/1.4 var(--x-font);color:var(--x-ink);margin:0 0 4px 2px} +p.cap{font:12px/1.5 var(--x-font);color:#8B959E;margin:0 0 12px 2px} +table{border-collapse:collapse;background:var(--x-sheet);border-radius:14px; + overflow:hidden;box-shadow:0 8px 30px rgba(40,64,80,.12); + width:%dpx;table-layout:fixed} +td{padding:7px 12px;border-top:1px solid #EEF1F4;overflow-wrap:anywhere} +tr:first-child td{border-top:0} +code{font:12px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}""" % (TW, TW) + + +def _split(seq, cap): + """The fewest boards of at most `cap` rows, balanced. Slicing at the cap + would leave the last board a three-row stub; this spreads the remainder, + and every chunk still comes in under the count that was measured to fit.""" + n = -(-len(seq) // cap) + out, i = [], 0 + for k in range(n): + take = -(-(len(seq) - i) // (n - k)) + out.append(seq[i:i + take]) + i += take + return out + + +def _of(k, pages): + return " %d/%d" % (k + 1, len(pages)) if len(pages) > 1 else "" + + +def _sheet(title, cap, table, css): + return page("%s - %s" % (NAME, title), + '

%s

%s

' + '%s
' % (title, cap, table), + TABLE_CSS + "\n" + css) + + +def tokens_board(chunk, of): + rows = [] + for group, name, value, _ in chunk: + swatch = "" + if value.startswith("#") or value.startswith("rgba"): + swatch = ('' % value) + rows.append('%s--%s-%s' + '%s%s' + % (group, P, name, swatch, value.replace("<", "<"))) + css = """table{font:13px/1.5 var(--x-font)} +td{vertical-align:middle} +td:first-child{color:#8B959E;width:76px} +td:nth-child(2){width:116px} +i{display:inline-block;width:15px;height:15px;border-radius:4px; + margin-right:8px;vertical-align:-3px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.10)}""" + return _sheet("Design tokens" + of, + "%d of the %d tokens. One shared :root, " + "byte-identical in every board." % (len(chunk), len(TOKENS)), + "".join(rows), css) + + +def evidence_board(chunk, of): + rows = ['--%s-%s%s' + % (P, name, ev.replace("<", "<")) + for _, name, _, ev in chunk] + css = """table{font:13px/1.55 var(--x-font)} +td{vertical-align:top} +td:first-child{width:126px}""" + return _sheet("Evidence" + of, + "One row per token, and what it was measured on. " + "A token with no evidence is a guess.", + "".join(rows), css) + + +def foundation_boards(): + """Every board of the Foundations row, in canvas order: the token table, + then the evidence table, each split across as many boards as the 980px + artboard takes. The `00`, `00b`, `00c` ... suffixes run across both sets, + so the filenames sort into the order the row lists them.""" + tok, evd = _split(TOKENS, TOK_ROWS), _split(TOKENS, EV_ROWS) + i = 0 + for k, chunk in enumerate(tok): + yield ("00%s-design-tokens" % ("" if i == 0 else SUF[i - 1]), + "Design tokens" + _of(k, tok), tokens_board(chunk, _of(k, tok))) + i += 1 + for k, chunk in enumerate(evd): + yield ("00%s-evidence" % ("" if i == 0 else SUF[i - 1]), + "Evidence" + _of(k, evd), evidence_board(chunk, _of(k, evd))) + i += 1 + + +FOUNDATIONS = list(foundation_boards()) + + +# --------------------------------------------------------------- layout ---- +LAYOUT = { + "name": PAGE_NAME, + "rows": [ + {"title": "Foundations", + "files": [{"file": n, "label": lbl} for n, lbl, _ in FOUNDATIONS]}, + {"title": "Screens", "numbered": True, + "files": [{"file": n, "label": l} for n, l, _, _ in SCREENS]}, + # Same order as the row above: the canvas lays every row out from x = 0 at + # one pitch, so item N here lands column-for-column under item N up there. + {"title": "Source of truth: captures", "numbered": True, + "files": [{"file": "ref-" + n, "label": dict((a, b) for a, b, _, _ in SCREENS)[n]} + for n, _ in REFS]}, + ], +} + + +if __name__ == "__main__": + cut() + for name, _, html in FOUNDATIONS: + write(name, html) + for name, title, time, build in SCREENS: + write(name, screen(name, title, time, build)) + ref_boards() + (OUT / "layout.json").write_text(json.dumps(LAYOUT, indent=2) + "\n") + print("%-24s %6d rows" % ("layout.json", len(LAYOUT["rows"]))) + print("\nnext: refkit tokens", OUT) diff --git a/mockups/canvases/skillpath-ios/icon.png b/mockups/canvases/skillpath-ios/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4c33a7ac79ab424a7cd23ec7c009623f64107fdd GIT binary patch literal 13587 zcmX9_bzD@>*WQH%mhP?<1?g@i1?f&{q`SM86p#=J32Bz@4yi>#8flOQ5s>cOcfY^) zuY2z^b3b#=+?g{co*S#7CXb6ng#`cra1|9~wEzGh@)igHqa!cI9%VKF0ROV0thA2b z@==$+mx*uM-ot9oI_2>zlkt{amIy@}Hq00MuRyG_ii|HJK@}Z!6$LEO;qukJMoB1f zTjFF1#a=>53}`yFoaUt1aadDRjQwnX<27{HQ!r&-zXDo&ee?T_@ssMftE0bt?=j@z z$-TyEsh$|uhu!1||4^!K*Ff~9^~QBFyH3Tz=HT$KsHR4O%7MQ4_}C>L<`ad z{i%n*o-Fa3tG&b6O-)Jext205fx`)r()#*>c1u>t_AD?6AjsQN&|J-!`Ll)9&90DH zlZ9MN8pMq%3$@luy#BI3*sLK-peB*tZajv+GOSY&W3wjCNA&YDAq`6nn&tZQonEB&CSzr(!O`D2A}D^#uKV_#?KAjy7_bctiA&{HJ0&G0LEQzVX*izF5SW5_Vcp@dV05(K?N2x zAQLkpqN1`hJ1}Of-t2UGZB3=)?wdfRP)=83%!HbN)g(iqYRz7)etz?gsB_{r6Y)My z)32#SR7Z|QLnxqyOp{_Blxe{+MBd(9H%Oyi#K%YPZyEIH`&u8t(v77S^u_-k+hGKn zNU8x7V1f1GFv|hJvY;VvX{CWsJr-t|d7(k9PMmg3VcnR8*JAj`euuiRnZD^*?IvT7 z@V*?be{5=Rd^ZlCp0tNTlu^e5?A$(2tvWw!U;HQpm~IAAQc!3d9U1K(RI+3}QD?if z^@XnI1v|a1sK09PvYa8S&Jnu%d3gwEV$@<;zapMm2J%HzOOr&^C5P2V_c=N0ZPd#s z4?WyjHk$otGo6zUB1o*%_iN!T_YVazz|xp@?SvDtwWwr4mJE^7XlYt305@S~@;o7? zfU=Cdpo&!bz@5(ZhvnRyn>FgOXXO@GTU#$L>YK~UMOYz@+JoYWwVnxp)^l{mSu&)q zvcBtzWBH=SjrImhD0W!`sxyOt?@?!y<*huD8g zIsks|UWY?HZd!lf1mdBH*44qZ`5<6H`S;(u*ah1L)wom{3Q!E3V4g~QW)oCbk?F>; z3E#(g=gGcc<(Q7j0&Cvxa0{k);wbS*X`#}|1y`nZzQ&`yze8NqRMMdk%sqc!Zo!?M zd0RTbn!j-Cta-AL-+h(kShx={Jh?gfUgp_fa&upPxzZ);;n~6Ssm@TYSu47EezyDP zasnrulN}$XF^bOvV1_k)Re)c;A-NFIVcWG0*E*|t3iJu-L39a;OVIv!dDUInL?V%0gl{J>1WBEkX3(g3Gp>Lq)8$wZHohJKK^F^~|tuEuD2I>lJ& zz7uM7jK~>b*D$y5N0B;F8Zc-uWaB9eWa!xN8l4>We645R`how1Yu-Mjm>; zu_7jvdzCQwXZ~v7G1A(GfQ2wfI-`@WPBzlZvT;N`{%Ex)aDfAHL*I2*v*h8!`%LHE z5a*w&r6POTeDpThHn($k!iu%4n_I*MpvCYQ&OMo(nTn!7$~2_Pn`RpNr`_oIarwGH zf`I`>ax+*THd6~|!Nd6*!Vq}Wyin3}w=t1dCHC;mlsHTtM9i~1QG1Hd3! zB#%tlCx(WV6_hVgig}$r549j3C4-Lm=+}A{bzX1`{yTZykav47G;g{Xd@-4|qUXK) zdWb=8Bw1aVz%A|_!(v%|`CO)Oklo*(ePV0(bLy+SZ#X{HW}?I(WULVfVuJyD*eob`P2X|tDtTLq5xB&ufLRtbdx6?JU)^doA$IbM zUZB<6i}V6HN2gf>XbK_&k5;q4=cm2b{J%ci9nKr^HdmM=yAhFGw(Q_Vxk}D{D*sVoTn)QtP|E zdALBz0~)RQYauOM4FtAkTtIhjc)Pe zYI}59xZ%^JPzvpaY&7ZPgjGjvw<(lR)tH8cEZmelKjOk%pg#W=`(6*A{5?1*3SsEH zgR?zLtjteS>Wt`R`GYLV{{pm-U%SznHYc0w`_{=rtdqVzeGUn^c?b5svSjez=Q<7MVLi_ZqZI;sx=M0v3F6^( zUeqzHutMke&40e*2XE9${!+IJ#ArQ4n*(xZ^!9%2zC0SsuIcbWE-!17W-XijJ@QDH z3C#xM7o7~6^_!_gGq2!>T1kFV{2|GZhf~a`c2_Ze!m~T_@0+OOw2t%otk!IBF0k@C zPMOX~OS|Rx{RNj_KSoT#=&TCqW8&z}W9L%N978LB{=={?swJXmx zk-*GS$;AIUjHRD#vqG=0Zwu9}8(fu3W*nZ}P&EJ`)1lI3_$n1I zKK+MGq+b=0N(r$8gcAc9d-*z_LDB}-*&i`CvYhCXuU=w7Gh>FkZ?s!sCX(*&DL{}f zV|kESMOQ$SG+;s9_^6AFwYYN|B2S`6NdzE?3}C_1&@`|f zx)Gc3dqT^$84Y6JiHN`gWErk-j`Q=|kIs*{NJ^K{6ZbYWXGSxv&My1xJ7wwvrV?BL zQoLy$(54z|e2{cmc7+sF(eagbIkwH{cWrDe3P7>(jR$d5^Ji!i088cxgc7SlBGZ1n z3n*i{(4bKkLoAU$2YxyXsQm0d` z-wOx8HrkGtq`qNltj3I@bXlFVx1f({0hz(x%ajUExZkbLs|tguwH{5}K6_$V9% zVdOn78igfr&=6qAVol1oy>0fS7P0N0!&DK6LJ%3C2hb!<-1823tX#J@|IKe@uP!_ZRi>Vk)kwsGEVVVe3Uo;HJ~<| zLb=PTd`;-}w2-eZ7(h)HDRc+-o+RS1bR}ONZqImmxacdq0Crf!0<5u zVPr=w7$hZ-S<3>IW$?E#Muk}Rf(q7#BI*ScUVX8hUv){iT4q#K7b00eL*9LB;|c+Oi0S~PAq3iXNDK#SKvL@ zsAH2euUQ?L=MJmE##R+Lf-1lf7oolYR6@S0*ico%{FnnJDKOL`(eno&6@`WYTI|}S zhS%Ud+`tU=&j*85zKgc=Z07gP0H7XrnpmnPl-grbBi^6Aw&gUVDx|xK`cO^<#+lJA z+S5S|-rsdZ<@m+%jE%$ei)h|E*z4k)V}BbEW`@=uuPjFG=5AY}r_smV?D!e1 zAX;(E07&P#;1dN^IbYVdOb=N;l%6hzvDn4ZbBu;SV6^;ARR>;WE#y*u)_IaK6y()v z+glUS`+ad`?frbSm5M5jBMQ|PQ0ONyY67akZH!N+v|loM&mWDe7u`Gwo`<=YweUDi zvcu{HbIWDeZh|$OJO05O`RtTMVsMlh>@y2l2jGT38UZ^mgQ65}?`V<1*-l9|DMUwU z^D&VmzADAg=LLYfNQ=En7w7ONwLet0Eua zc`=$*RM1z;36>3XxlG@^wXr8o6o3F$O%4UtTHE)OHxJ7W&@>>5{d^Bc;PQ%SRx zM+}Xkz;Gy+t}{L3=O{DersErL^RRpg7@Sg|#FYPlQV2-DdY5JZVI|yNcqlntL6y6m z@Oo|ilzCNPVH|8jMx9N}eZhVMdw&+jCL~xu#gj|T_Hv)qfXzM}Rs=90TD|bb;0KsE zLdzr3y|bUd9Pg9~1qEl|jr2GMEw>Q~2^4Hm!@4*$9Q(73nu~BK>NEg5Aatg-(iGdQ z#1b&U5Gut0b=;kGU7L#O%%lEV)Dp=L1p%Xo=?EEQUc@+{z9L)KY!}S#Z9ifG5h@RC zXlY)aV@2wpZ(m502z}z@JyJa5#WJpA#Z?avD+EODh82;-fD@ViE>F!w-JZxoo8$i! ze_Ci}(iHfB7K1{N-h`bW^BJE3XOC_1D>m}RPHrlIXC{equZ6L|v0R1+q}CYzl_1}Z z0XLt7`#n$F_L4in7Rld=rjOYArS+VL{Sz~Zc`Yc*Gjw`FeiRe>n?Hr?XQzcH4GH!*E^`c&&DX|7IPvDp}4Lhc$_t(_jSCA3Rq#0yP6N&w8Iztz^v0BVGQ8j zY#|$qf4|W(9d6W(enshdJSgKx8TgDqDHZ&&)M;2hgi2(5g$x;`QK({KIF{Z-@VLx~A?a_%2ij+O-Rarcq)ztYu8vx*i6Ujwj7Ils?Gbxo&cOZy;{ax5F z%2H&66FedCanJoP!zi;JM~ng|V#WjmLY7hYIs0W38F`h`TQ&% z)b43cZn{rBATlc7v0rB1HrUBQwRgE)==ulCTbY^<1QgL^LQ=*^d2ui@yQ@np$Z`_s z*6urOn6vV(h6NB7RW##)V;K-wFWi3k=BuM)PYe`&vX5GHrp-;4sz$HQC$|xWMGv+A z4x&ao!X~kb)vH7z)fn#_ z7*RtMvFRf#NHy?Y;v}SgxRH*eCjybAHx*>K&1yWB~3kkBKIK%I^ip0Z;0E_^N`N#*Ks?QaaW8}GA;Y%gl3C-Xc$FX1He*Q^Sn4OCA1Xuttb#s$od zy`Q&^=g{)4HVVhjwt_DQP3ZaJ+u=)`%%?&ekLpPzXT#knM2)JUBCe%~dva{^=N0E) zxr4g4HuVK8VWPe$Ta6$5ErOpLBSRl*6x$5rLSEsvjYUajyPZy47$%?d$8Sb)jTzfW zK74l#mV=@^-*mqT;WLI-+M|_?Sl?|LY63j@qeuyBL@F^^)L&LOHxmk7|Mit6S-*!l zL}J|RoQ>IGD$2)xYzMu4@5G_fyv&4UjwfVJz%yZ%2CqO5Ex}R~zNck@nO6<)70Er? zm;u`%GD@sZ>2+`$ZqIily~ct&1a4}M9&#Cv*f03wO^D^*_}9fGm$MqHx;L3chL+1W z51?gyQqR8TM}Bt&rp4}mfADd)U#ll=PU(QLPv~{HV-}wo9XSV2K zQ4C6$LJ4@j)WE&74eKPbq0QIBbxMZ4RL&Ls*w@wer*1QU^llRk>+&XN`szNA;-CCnnEV!qQiVoEOhw5h!9=`E@PMtm!$ue+ zAG^ZE*?aE%PqCd!D0c;AU6VVSe0NWsE%hrCtJ~q&t3Nc8JJ+PZL@mDlH*&XfKz6aJ zgw8paH?3%j`gu*eB)a`>0t3K$Q9i_ehM*bCH6dDEl`6t<(nUu8&kp~!o2mjH`CHla zLtX~XbJHO#b66FcCMfmop#Kqz)A8`P%irDFd{3|ntXG_3CkkY&UYcv!Tm?%B4AJ_wybNfnTibF(|!6t1c;5 zv`+8S3{RoTxs10_5O}vSv>!%5ynFkHo=d)-8o~sv3km}6R>eC=eyT|%(W+_8U&*7K zGAuAiI6dt0|3_7uPm;M@_j&Q3FR9{a9dwtN;59)xi!CFGxJaCvnh};kuPpsL_D8Px zG&h8@$W8<}x9D@#QOnknb#Hjx8;9>1sSHN}9}i7|kz{tt?RLtY8~(=)NvS#!#-TE;g{0q-TYCuO~u}d zcp=w|Jcr8qkajk5*A}#1J-m3R=qSppJL6{yNP&RimkAYD$v^eK9QN!8AI|%xx2p$G z2o7LG!}GtOSB70SK)<-pZgbz2qbcL}hDITUl(a11E4{VqgZATf-p?L$Dw)T|(;!fC zpWTbp-`x-%=&o4Xm*i_wWAPhC(lZ@;nHndJI4iPz2$uQM0?<6{s4Lo<_%rfpAW@ZQ z)J*E>24&Wh`0&y7bYDe!MEg{S1_v2!I)nADobDYNc326+{qN7m;s+xmnkx5n-@F2E zp_uQh0vawZcN5TztEV&5yf?y`p}VV?cI;STK)d7pHx-$Rdo4`Tuk59yNs!?v0L7BW z6bm@kMFv?T`(dz<+KXH|sg9hHe}TXTTEEQdMsxEvje$RjQ9lSNT-P!N){LPa>^AJ} z(M6XI7hW9A3g=iz>7GzK(N@=Skwao|nzHiF>&O)Rsf3(e1@E;2BsKotFdhyDJx=c7h+ zGSxeN$EminK_M8|5`@RP-cNBejGi{jz%_@N_`hepYZ=R6mIuenwL28VY#iJ^#aX+> z)r5A2+o145OW!F87csWi9rZ;gs|x$=`8)eL6vrS@3JyI&S)X^O;;I@R-kXaMr@0?# zB((PUdrgc;-(S9{HrZ=VQ$LuoiCGU9kF;{pzb!tv9iVHu>By*>!As)heg)`e`j=T{ zUPw|XvJW5g{J66e0#`X(n0?7}cz8|0>K&v~g z-zXSxy;0xHQsvl)(gDvuFHm4J{q6PT7^UZS78@JFx-W?~$whCSh|zS&LAq)|q7OB9*L4X z`%>=Tq%N7avbqu8Aa8s<_$Bsee0p)?->8>Y4SsVoScvXQTyk&03FdKo+cCIIN_dfg z@lo#_9!+(DVnk+NOq%Rt2qkrP%HQ@nR7c)56;VB;{2Ksi#*rtbfZV_I9bOZB^I8E z*+@P$Rh}hsIRAAzC6s+_n^{>0PmfR=Lb={WebXfNQBt_*ZYTZj3n(2kGJDcd+~JHh zqCioa4L+m&aF);&u_*D({;m>DB@+wKtIxUo9f#9p5t>xhiKXA_f)0>n3TGf?Bdb0| z4zPH=1NKN$_`p#JAp3*$$~a2?W9ifvuX<};s^m>MmazSX&BP`Q`5}Ml3gRe{;F-ba z`?FBaTvE$+4@3=wzym8zm~6H^3I z-_LFXSO!jv`Hfl^Gb+6ZWUc1p_pfN(OgXQoIS^y^RNF!PzXo-Emj8TvenJ$>`W}Lf zyMAk=(e5r%yKOY7uO~DljJJSN$VL`op4JTYgkdn{$(OFjS0oVRn74?&%e&uir`e0;maGESY_wc_mGBb1bGT5M%wQ2rEP*cg>WU30+zT_jW z&eczl8jo~VYV+HUE)mV9R2J?Oh*F*x+}acuc|0~J?DmxHBizF3nWMyaq`$T$upXepi|B7ofjTDsvr|KzUA33 zz1tY2vf; za9d*W!MafsR6feDj zpV&Yj%;hATBb*(*Q2?i>$28A-$Ps##i79d_lu{*U>G$Y9loC!TSK$K zhJm?K-_bli z>6WsGBqc?{^CZOMG+eSM`woZwnsw+lMEFzgGUiJ$B52~6gjwQJ00u3K`k8)9Cyd67 zCgECG@!DG4#j&3&j!51ZluZQI*@^S5aEO|MOjA&Dc3Meofu_$Qn4e|xwS89Rl*VJg z$=_Ni!-u;+By}^Pc@vQWa-@JNllG|>oiWMgY2}X+S|60Uw5&oa9Jmc}fQCy)WitZ! z80YTBvVLHdsi#P_mOsX&fkfR9Kja+sAeY$)ZS%V>5-OZMROlA3g;5|MB4lo$Zl3eNZQoGj?8@0>xI}3kHf{nnk9GL={fTG$)5{jSS;gNCHJ$T0!W{pw`tJaw`)Ive5ztp; zy}wH|+!w_~Hd~M}cPh69Kgt1!%*c#6 z6Ge-H9l6 zDB|Q*S%i!BjHkx}U$+|u`OeZ-C5Mvm#iOSWNJyqtoO*ft>!h^;+iJYACECvdzQcBD zC>(9JfHOw9bbj_UMFXr_HD6@%Q-0wN6M>CY3O;}9Gh~+{j=s=!3bmkFaB?V5K$k28 zO{n>9I2x^eN^)%@>!Aq6QdgzzT^kXO0jsKEk@Hs#WH)A?4*qEbnh);fb!|ESH3#;H zb9)=>%Nl49NQp$9O+RHiVQUikO`3O2W&9I zC&vkwcksDpMP;NhCdoRk%+Jh{s6l&=DGL&?JRj;oR3Z-*2X(yMlFaJ2aE1tg6Je?n zBgQLEsN4D1x;NrlKNRZY*aWTIT>>5cOeH6veM|g#cTvS_2HOr5H2|M(D5v<@7ow~u z(}tDi4;hI7kXb3USfUJe`L>5l9^|f!8K<@XHunvBak8uB5Td z++rr76_uu!I)u72FR7b{*7z$cTuH=le}A3UhZUwoGTBImDkU7;Ow4dn>z+{BY|Ns| zuq#X=Rj%;Ej6iQH)fUDuR3IgAtNJmvOhM@jFuaa|1gZro{1CD3wOF7c11z?x$%0gU zdk+P$jJ!$>xGbPok4ig_{H5kxm<<7YJ3Tl4!ho`B?MR z<{|rFvPe<#;19p3<~;TXDADpwToILt!Gxd!iF3eM{g^r%bZh4?9dQ(t-HKy)6pr~!*wRB_XnXoz&#`a6i0p>CY^ z=BejfjO~Ja0KAtL_!6UfWl{FL1XN&}UEhRG(a!BAzqQ*c+t!7Mh+@XNc9gFGq7~#; z0-CoWap6y`H=%V>vKsS-XuVMGs#G0REEyAhAS*6G^!C1^UU_$)FdhM@kCU2>&u0~$7S(Nube2Lf0 z2wiGy?BK!d*^8%2htB;C{n!T-uuM*sjpfh`uKrI* zTv2o(09jc}2AWs=ymoposRuLwWKb-5hWfMO0}M@bAhT#4Z_KHfc4HEv(8 zuvx%@YPav8Bp^(uFk7Ys6foq<=+VXn{LUdBGE^z~bNNX5+)!}O$m_bM2N=t3JV}rAr z9g+jv;*1K|!Kc6fs3k!Te6@tsDi;sRx$CLF;lylZ0AY@{FoeIf{i92+~mpm0#(GI9)Ee zB3jkWE+55jbXeBzhddhrfMaT!S+SEYA!c%>?i$*!R!SKVcIpfIW%qL9jNAK(z!Thi zbd0N5K}0V1F>?Af#Q>C(G-c{=U=AFq!e#`_UJ#%7WI z{>YlunA(3*Sl`Hh9$Jym&Y+@x`r>2qfszOURt~vq^)bmpBEKZpt}|tjeL`T)W|t10 zpn$%n>e8XRM*J&@wZ&g8BFy9>bQBC=I8o#+gRM%$S z+L%MH$k%;WyS6c|@m}#IEH?-gx}sU^n=fTqm1ri>FN&QG+?e>DAX!SebOE{|IogJ< zqhuPsH;^Mb#I(7k<6h`x%KkfQxp+etX@bZZ$A``kt+aDu44-G82eCE(UGcQ(X^DS} z^$~jwoK9*gj;ZR1?Ny-~v6Cy``d9|Xc+_cNxSQc#FiZ8zUx|$;`>)qRR`S;UZj45*JMpvO~Fy}!b-_)2@1g&zWyE;TR_s$>F6)(A0`F{B3~&2HItms)CobcyZYpUb;Ln; zYsigfD^6b7+|8^3K;S<1UvDq;`FPKTGUVTLo|&Xbz{ayz%aVoLt4cYvO%kUYDfY*d zB8=nE|5_2NlStAWl5hDy&hy=OTI4&Dv=?Bcp45KYari6r{%hz%e|j^uE9V{)J0Gg7 z7B4&ab>E-Y46ho;9fJIBXc3RTp;yPR5m#oPW*R;YjN=-->FTO->C$~~qt}Hv&z=8cxw*c!T?QM^>O3&5Q& z?Y^jWHETW_bG6Dcod1fQk}k5Q#!6ob8SAS581vc5PD?vwI}raUc8`LKl)$kj4Fq% zfu%-uDmxz^AxUw8ltH7BdBBkaQqUn2y)*|jr3nyc{u^;XCEP+~V+ zNKDKBNM0hP>v1`IJ;mPP$*rQ`?8DFn0ZD1^7-2@50UBJX{Ycs>cKB?DQg)72DeBQu zJH>MS{)+4PwvX%oxvvGD7ZLvS=R8f$!E8r@qMQYj4s)&KVI6EymPD-(wRU( zb7lescGQC0FSif_Xw%+n#X!2a6w4OF^52?cszH0$C*22lKVaWy{ycvl4fu+rvWDQ# ziV2swcKyk+3m7?-M}%w?>QYaH)aEI4uU@5OYvaC`wIH>C#qamMZ0-UT5=8F4JUt5? zhzL-y7fO!Y4qztr07snjNyCB`3dFgB5Qhlc$?ax{s6^;`uv(~ZYaa{mjd~A?@CXBi zhEc1FwW!v>PS8PK$aM*l`+8_H*)x4bRI4r^$ig5)qDL5|Ti0AtqJ~Lh%dHUo1zfuF zDT(nXQ4ElP1xC9Nu^nJ;lX{*aSfz(#O82ea#n$JA-l4h%gQavHE|6x>S;uJkXQ@Tl z@II{dtFAu%-wasPWx4B9Rb_qA6^G%2zMZ^TL6d3Tn3edDw?(zIPBokgwPkRgpM#HY zZVYY9&or4`fQU@o_A8}|PUo~g6NWm7fTcQh-t7&(lD(`&%(+gDL&B0H!$loWU;kZl zy;;azzbkDP#|DxxUxpvV8|RMz%GqMr+4W#h`lK?^qpO{m=chSAvU4E%s=ck7I&=@%O%};g zr+j{-zdK5k*^fh)SkY(7?URmmXOjLmYT88ogpKZvpZUtdLuukuE_%k*)CR<&Zsq!h zm}@|&%NUR6>iSv>Nma#dj=1lzFlFHim{FxyY&LnmpPz5Gta?yxFc%K@kQ0#F9I;%H@X_IhrHM!v|qF^Ojp6x`Q z)sp&oXoCMzM^(PDm7{YMKu(ENv3&TQCPnnz+nT*3pcInsTantx#Y}o5>-5oCgN}|m z%;0O#A|`s&#o-#;o-qwq)g9naGLz!=)WIvIH??5U*}VstZr08 zb1bJpU5z)DOWw}Z-tGLy@|sh692hpMlzRe9jkvVhQE&%q=_zPzytAE)i(+wOH3Z9< zf+<|7{9?EOWZqZY^i@Tu%G&V$Bn>>4E}_@o2!3HpYn#s