Compare commits
No commits in common. "main" and "v1.18.1" have entirely different histories.
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "ms-ai-architect",
|
"name": "ms-ai-architect",
|
||||||
"version": "1.18.2",
|
"version": "1.18.1",
|
||||||
"description": "Microsoft AI Solution Architect - structured architecture guidance for the full Microsoft AI stack",
|
"description": "Microsoft AI Solution Architect - structured architecture guidance for the full Microsoft AI stack",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Kjell Tore Guttormsen"
|
"name": "Kjell Tore Guttormsen"
|
||||||
|
|
|
||||||
13
CHANGELOG.md
|
|
@ -7,19 +7,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
## [1.18.2] - 2026-09-23
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
- Regenerated the playground screenshots from the current demo: 24 PNGs (12 surfaces × 2 themes) in `playground/screenshots/v1.15.0/`, including the dark onboarding view removed in 1.18.1. The README gallery, `docs/playground.md` and `tests/screenshot/README.md` describe this set.
|
|
||||||
- `tests/screenshot/run.mjs` clears PNGs a previous run left behind and writes `playground/screenshots/MANIFEST.json` (sha256 per PNG and of the demo state rendered).
|
|
||||||
- Aligned the demo project description with its reports (a housing-allowance chatbot, not building permits) and set six demo fixtures equal to the corrected AI Act deadlines already shown in the demo; `tests/kb-update/test-demo-project-description.test.mjs` keeps the demo block equal to its fixtures.
|
|
||||||
|
|
||||||
### Removed
|
|
||||||
- The v1.10.0, v1.11.0, v1.14.0 and v2-mockup screenshot sets (77 PNGs), which showed an earlier demo, and `tests/screenshot/shoot-mockup.local.mjs`, whose input file is not in the repository.
|
|
||||||
|
|
||||||
### Added
|
|
||||||
- `tests/kb-update/test-screenshots-manifest.test.mjs`: fails when a PNG in the tree is not output of the latest screenshot run, a PNG changed, the demo state changed after the run, or a doc points at another screenshot directory.
|
|
||||||
|
|
||||||
## [1.18.1] - 2026-09-23
|
## [1.18.1] - 2026-09-23
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
|
||||||
28
README.md
|
|
@ -8,7 +8,7 @@ Microsoft AI Solution Architect — structured architecture guidance for the ful
|
||||||
|
|
||||||
*AI-generated: all code produced by Claude Code through dialog-driven development. Every change is human-directed, reviewed, and validated before commit.*
|
*AI-generated: all code produced by Claude Code through dialog-driven development. Every change is human-directed, reviewed, and validated before commit.*
|
||||||
|
|
||||||

|

|
||||||

|

|
||||||

|

|
||||||

|

|
||||||
|
|
@ -439,24 +439,22 @@ node scripts/build-demo-state.mjs
|
||||||
|
|
||||||
### Screenshot gallery
|
### Screenshot gallery
|
||||||
|
|
||||||
Screenshots of every surface in both themes live in `playground/screenshots/v1.15.0/`, taken of the current demo project. They are committed so forkers see what the plugin produces without running anything:
|
Screenshots of every surface in both themes live in `playground/screenshots/v1.11.0/` (the v1.10.0 set is preserved as historical reference). They are committed so forkers see what the plugin produces without running anything:
|
||||||
|
|
||||||
| # | File | What you see |
|
| # | File | What you see |
|
||||||
|---|------|--------------|
|
|---|------|--------------|
|
||||||
| 01 | `01-onboarding-empty-{dark,light}.png` | Onboarding surface, empty state |
|
| 01 | `01-onboarding-empty-light.png` | Onboarding surface, empty state (the dark variant was removed in 1.18.1; regenerate to restore it) |
|
||||||
| 02 | `02-project-overview-{dark,light}.png` | Project view: sidebar with 17 artifacts, aggregate verdict, top risks |
|
| 02 | `02-project-rapporter-regulatory-{dark,light}.png` | All 6 regulatory renderers (classify pyramid, requirements, transparency, FRIA, conformity kanban, DPIA matrix) |
|
||||||
| 03 | `03-project-artifact-classify-{dark,light}.png` | EU AI Act classification (risk pyramid, role, obligations) |
|
| 03 | `03-project-rapporter-security-{dark,light}.png` | 6×5 + 7×5 risk matrices, radar, top-risks, residual-pair, recommendation-card, review kanban |
|
||||||
| 04 | `04-project-artifact-security-{dark,light}.png` | Security assessment (6×5 matrix) |
|
| 03 | `03-project-rapporter-economy-{dark,light}.png` | Cost distribution P10/P50/P90, license capability matrix |
|
||||||
| 05 | `05-project-artifact-ros-{dark,light}.png` | ROS analysis (risk matrix, radar) |
|
| 03 | `03-project-rapporter-documentation-{dark,light}.png` | Migrate mat-ladder, ADR critique-card, summary read-more, POC traffic-light, utredning screen-tabs, compare scenario-cards |
|
||||||
| 06 | `06-project-artifact-cost-{dark,light}.png` | Cost estimate (P10/P50/P90 in NOK) |
|
| 03 | `03-project-rapporter-tool-{dark,light}.png` | 7 tool commands (no report — pipeline-string builders) |
|
||||||
| 07 | `07-project-artifact-summary-{dark,light}.png` | Technical summary and decision note |
|
| 04-06 | `04-project-oversikt-{dark,light}.png` etc. | Project screen-tabs (oversikt / kontekst / eksport) |
|
||||||
| 08 | `08-project-import-modal-{dark,light}.png` | Import modal (viewport only) |
|
| 07 | `07-home-{dark,light}.png` | Home with project list + 3 entry tracks |
|
||||||
| 09 | `09-project-search-{dark,light}.png` | Sidebar search filtering artifacts |
|
| 08 | `08-catalog-{dark,light}.png` | Catalog with 29 commands in 5 expansion-grupper |
|
||||||
| 10 | `10-home-{dark,light}.png` | Home with project list |
|
| 09 | `09-onboarding-prefilled-{dark,light}.png` | Onboarding with state from demo |
|
||||||
| 11 | `11-catalog-{dark,light}.png` | Command catalog |
|
|
||||||
| 12 | `12-onboarding-prefilled-{dark,light}.png` | Onboarding with state from the demo |
|
|
||||||
|
|
||||||
Regenerate via `cd tests/screenshot && npm install && npx playwright install chromium && node run.mjs`. The run also writes `playground/screenshots/MANIFEST.json`; `tests/kb-update/test-screenshots-manifest.test.mjs` fails when a screenshot in the tree is not from the latest run or the demo changed after it.
|
Regenerate via `cd tests/screenshot && npm install && npx playwright install chromium && node run.mjs`.
|
||||||
|
|
||||||
### Validation
|
### Validation
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ disclose within 90 days of the initial report.
|
||||||
|
|
||||||
## Supported versions
|
## Supported versions
|
||||||
|
|
||||||
The latest tagged release (currently 1.18.2) is the only supported
|
The latest tagged release (currently 1.18.1) is the only supported
|
||||||
version. Security fixes land on `main` and are released as a new tag;
|
version. Security fixes land on `main` and are released as a new tag;
|
||||||
we do not backport fixes to older releases. See `CHANGELOG.md` for the
|
we do not backport fixes to older releases. See `CHANGELOG.md` for the
|
||||||
release history.
|
release history.
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ Erstatter v2 5-stegs-pipelinen med en multi-surface-app som persisterer state og
|
||||||
|
|
||||||
`scripts/build-demo-state.mjs` leser alle 17 fixture-filer fra `playground/test-fixtures/` og injiserer dem som en `<script type="application/json" id="demo-state-v1">`-blokk i playground HTML (idempotent — erstatter eksisterende blokk). "Last inn demo-data"-knappen på onboarding-overflaten kaller `ACTIONS['load-demo']` som leser blokken, erstatter alle state-grener via Proxy-mutasjon, kjører `migrateDataVersion` (v2→v3 auto-parser raw_markdown til artifacts), og navigerer til project-surface. Demo viser 17 artifacts gruppert i sidebar med severity-badges, aggregate verdict (BLOKKERT), top-risks-liste, og fungerende re-importer/slett-knapper per artifact.
|
`scripts/build-demo-state.mjs` leser alle 17 fixture-filer fra `playground/test-fixtures/` og injiserer dem som en `<script type="application/json" id="demo-state-v1">`-blokk i playground HTML (idempotent — erstatter eksisterende blokk). "Last inn demo-data"-knappen på onboarding-overflaten kaller `ACTIONS['load-demo']` som leser blokken, erstatter alle state-grener via Proxy-mutasjon, kjører `migrateDataVersion` (v2→v3 auto-parser raw_markdown til artifacts), og navigerer til project-surface. Demo viser 17 artifacts gruppert i sidebar med severity-badges, aggregate verdict (BLOKKERT), top-risks-liste, og fungerende re-importer/slett-knapper per artifact.
|
||||||
|
|
||||||
`tests/screenshot/` inneholder en frittstående Playwright-runner med egen `package.json` (gitignored `node_modules`). `node run.mjs` produserer 24 PNG-er (12 surfaces × 2 tema) under `playground/screenshots/v1.15.0/`. v1.15.0-surfaces: onboarding-empty, project-overview, project-artifact-{classify,security,ros,cost,summary}, project-import-modal (viewport-only — modal er position:fixed overlay), project-search, home, catalog, onboarding-prefilled. Runneren sletter PNG-er en tidligere kjøring la igjen, og skriver `playground/screenshots/MANIFEST.json` (sha256 per PNG + sha256 av demo-state-blokken). `tests/kb-update/test-screenshots-manifest.test.mjs` feiler når et PNG i treet ikke er output fra siste kjøring, eller demoen er endret etter at bildene ble tatt — kjør `node run.mjs` på nytt. Eldre sett (v1.10.0, v1.11.0, v1.14.0, v2-mockup) er fjernet i 1.18.2. Disse committes så forkere ser pluginen uten å installere noe. Demo-org er "Acme Kommune" og demo-prosjekt er "Acme: Kunde-chatbot".
|
`tests/screenshot/` inneholder en frittstående Playwright-runner med egen `package.json` (gitignored `node_modules`). `node run.mjs` produserer 24 PNG-er (12 surfaces × 2 tema) under `playground/screenshots/v1.15.0/`. v1.15.0-surfaces: onboarding-empty, project-overview, project-artifact-{classify,security,ros,cost,summary}, project-import-modal (viewport-only — modal er position:fixed overlay), project-search, home, catalog, onboarding-prefilled. v1.10.0/v1.11.0/v1.14.0 beholdt som historisk referanse. Disse committes så forkere ser pluginen uten å installere noe. Demo-org er "Acme Kommune" og demo-prosjekt er "Acme: Kunde-chatbot".
|
||||||
|
|
||||||
## Design-system 100%-adoption (v1.11.0 → v1.14.0)
|
## Design-system 100%-adoption (v1.11.0 → v1.14.0)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -239,7 +239,7 @@
|
||||||
{
|
{
|
||||||
"id": "acme-kunde-chatbot",
|
"id": "acme-kunde-chatbot",
|
||||||
"name": "Acme: Kunde-chatbot",
|
"name": "Acme: Kunde-chatbot",
|
||||||
"description": "AI-chatbot som svarer innbyggere på henvendelser og forhåndsvurderer søknader om kommunal bostøtte ut fra opplastede vedlegg. Trenger DPIA, ROS, EU AI Act-klassifisering og kostnadsestimat før beslutning. Alle 17 rapport-typer er pre-importert med eksempel-data.",
|
"description": "AI-chatbot som hjelper innbyggere med byggesak-spørsmål. Trenger DPIA, ROS, EU AI Act-klassifisering og kostnadsestimat før beslutning. Alle 17 rapport-typer er pre-importert med eksempel-data.",
|
||||||
"scenarios": [
|
"scenarios": [
|
||||||
"Chatbot/agent",
|
"Chatbot/agent",
|
||||||
"Beslutningsstøtte"
|
"Beslutningsstøtte"
|
||||||
|
|
|
||||||
|
|
@ -1,31 +0,0 @@
|
||||||
{
|
|
||||||
"generator": "tests/screenshot/run.mjs",
|
|
||||||
"dir": "playground/screenshots/v1.15.0",
|
|
||||||
"demoStateSha256": "f952333f8cc8471c1bf0bfa0e4aff638bdb81b5c1351e4e0b1ca0fea7f24969f",
|
|
||||||
"files": {
|
|
||||||
"01-onboarding-empty-dark.png": "258c8e1d71ee0ef91ca9b0521939bc7b8ed340f1d2a8b477760463d21314da95",
|
|
||||||
"01-onboarding-empty-light.png": "bc0ddc7c386f3eb5d7d9a25f225563d10d917ac263c6df9571a0a8f558b4ebb7",
|
|
||||||
"02-project-overview-dark.png": "dbd45d1b49d33d7483f0bf6e22419e5e6621aec2b7802e6d6880ecc4498a855a",
|
|
||||||
"02-project-overview-light.png": "c98f83ce1f01d7367e10bbc30a97152c27777af55f4df2c62819d808b1f1d001",
|
|
||||||
"03-project-artifact-classify-dark.png": "ab8255ca57624ee81e3790561403934dbd516463c8d3fb2a36aa8d7640492a95",
|
|
||||||
"03-project-artifact-classify-light.png": "268386ca08b5ec5f9a7bb83dab928b4d2f9268781f99e29e0020243fd3926bd0",
|
|
||||||
"04-project-artifact-security-dark.png": "1b3cbc8ddbf0fba6af5de559fdf8208eb4ffe909fe2775d60e52443f53cf3b57",
|
|
||||||
"04-project-artifact-security-light.png": "ed95d278bcf41ebf9377f7a7641b022a14550694feb08a3e03195a347634dd28",
|
|
||||||
"05-project-artifact-ros-dark.png": "7f2bde4833fa35d30b79bc57c847c172d2383cdcfe85bd061860b7b7020602f8",
|
|
||||||
"05-project-artifact-ros-light.png": "02721873b69e2a8fd6636b0b3229035fc89e4af6d04f087228c2e214355f8991",
|
|
||||||
"06-project-artifact-cost-dark.png": "c2516e500aa6eb6b81ec6c770d8a771de653d78ff533b77f0f2c9e6b8f48c2bc",
|
|
||||||
"06-project-artifact-cost-light.png": "54a5d7994f8b660819d6b1302a8cef5605bea505bc729076621975de5f26ae24",
|
|
||||||
"07-project-artifact-summary-dark.png": "513cc3e39e8ee5a9dfa8201d881799e7b5023f1eb6afb96a40be13d9833ab093",
|
|
||||||
"07-project-artifact-summary-light.png": "7ddea4ad5aed3b273323312fe68e767e160adedae937cda9030153ef6107d04d",
|
|
||||||
"08-project-import-modal-dark.png": "72dcf6748bbb5b8227fa2e105e420d04f53270c6a812746ccd33c946807c980e",
|
|
||||||
"08-project-import-modal-light.png": "6fb21d479c6d6e8da4c29e748e2d9611c266fc2577f01bf23248f795dcec5b39",
|
|
||||||
"09-project-search-dark.png": "76ad042f2fb1bd8f6c23d4c7088bcbd8f2cbeb116c31143823c7d1f243502ffa",
|
|
||||||
"09-project-search-light.png": "6ca20d2830775837858c242070836f45a17b2e58067daa82569d9985383a511d",
|
|
||||||
"10-home-dark.png": "c4180d9ef9c379e90759b4ec2f07e43f453e69aff1ef44ad696162f3455dafbd",
|
|
||||||
"10-home-light.png": "60c8907dfbfc3ac69797524bbe2fca2928379d15def16540436fe23b055fc117",
|
|
||||||
"11-catalog-dark.png": "7e211e14fbd6f1fcfe5eb895065675ccfe9d86f69f110d0c812123665bb2c891",
|
|
||||||
"11-catalog-light.png": "47439db2e9b941d9a9d6ade2244d63143c48abaeb619c779d1310dac597a6337",
|
|
||||||
"12-onboarding-prefilled-dark.png": "c443ae30e9f63d29f6153293b388bd6e6d9256ee414ddc3ab1f712a8af8a5c11",
|
|
||||||
"12-onboarding-prefilled-light.png": "bc0ddc7c386f3eb5d7d9a25f225563d10d917ac263c6df9571a0a8f558b4ebb7"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
BIN
playground/screenshots/v1.10.0/01-onboarding-empty-light.png
Normal file
|
After Width: | Height: | Size: 244 KiB |
|
After Width: | Height: | Size: 3.7 MiB |
|
After Width: | Height: | Size: 3.7 MiB |
|
After Width: | Height: | Size: 3.9 MiB |
|
After Width: | Height: | Size: 3.9 MiB |
|
After Width: | Height: | Size: 1.1 MiB |
|
After Width: | Height: | Size: 1.1 MiB |
|
After Width: | Height: | Size: 1.9 MiB |
|
After Width: | Height: | Size: 1.9 MiB |
|
After Width: | Height: | Size: 825 KiB |
|
After Width: | Height: | Size: 824 KiB |
BIN
playground/screenshots/v1.10.0/04-project-oversikt-dark.png
Normal file
|
After Width: | Height: | Size: 218 KiB |
BIN
playground/screenshots/v1.10.0/04-project-oversikt-light.png
Normal file
|
After Width: | Height: | Size: 216 KiB |
BIN
playground/screenshots/v1.10.0/05-project-kontekst-dark.png
Normal file
|
After Width: | Height: | Size: 214 KiB |
BIN
playground/screenshots/v1.10.0/05-project-kontekst-light.png
Normal file
|
After Width: | Height: | Size: 213 KiB |
BIN
playground/screenshots/v1.10.0/06-project-eksport-dark.png
Normal file
|
After Width: | Height: | Size: 189 KiB |
BIN
playground/screenshots/v1.10.0/06-project-eksport-light.png
Normal file
|
After Width: | Height: | Size: 188 KiB |
BIN
playground/screenshots/v1.10.0/07-home-dark.png
Normal file
|
After Width: | Height: | Size: 218 KiB |
BIN
playground/screenshots/v1.10.0/07-home-light.png
Normal file
|
After Width: | Height: | Size: 215 KiB |
BIN
playground/screenshots/v1.10.0/08-catalog-dark.png
Normal file
|
After Width: | Height: | Size: 380 KiB |
BIN
playground/screenshots/v1.10.0/08-catalog-light.png
Normal file
|
After Width: | Height: | Size: 377 KiB |
BIN
playground/screenshots/v1.10.0/09-onboarding-prefilled-dark.png
Normal file
|
After Width: | Height: | Size: 246 KiB |
BIN
playground/screenshots/v1.10.0/09-onboarding-prefilled-light.png
Normal file
|
After Width: | Height: | Size: 244 KiB |
BIN
playground/screenshots/v1.11.0/01-onboarding-empty-light.png
Normal file
|
After Width: | Height: | Size: 244 KiB |
|
After Width: | Height: | Size: 3.6 MiB |
|
After Width: | Height: | Size: 3.6 MiB |
|
After Width: | Height: | Size: 4 MiB |
|
After Width: | Height: | Size: 3.9 MiB |
|
After Width: | Height: | Size: 1.1 MiB |
|
After Width: | Height: | Size: 1.1 MiB |
|
After Width: | Height: | Size: 1.9 MiB |
|
After Width: | Height: | Size: 1.9 MiB |
|
After Width: | Height: | Size: 815 KiB |
|
After Width: | Height: | Size: 814 KiB |
BIN
playground/screenshots/v1.11.0/04-project-oversikt-dark.png
Normal file
|
After Width: | Height: | Size: 197 KiB |
BIN
playground/screenshots/v1.11.0/04-project-oversikt-light.png
Normal file
|
After Width: | Height: | Size: 196 KiB |
BIN
playground/screenshots/v1.11.0/05-project-kontekst-dark.png
Normal file
|
After Width: | Height: | Size: 193 KiB |
BIN
playground/screenshots/v1.11.0/05-project-kontekst-light.png
Normal file
|
After Width: | Height: | Size: 192 KiB |
BIN
playground/screenshots/v1.11.0/06-project-eksport-dark.png
Normal file
|
After Width: | Height: | Size: 171 KiB |
BIN
playground/screenshots/v1.11.0/06-project-eksport-light.png
Normal file
|
After Width: | Height: | Size: 169 KiB |
BIN
playground/screenshots/v1.11.0/07-home-dark.png
Normal file
|
After Width: | Height: | Size: 215 KiB |
BIN
playground/screenshots/v1.11.0/07-home-light.png
Normal file
|
After Width: | Height: | Size: 213 KiB |
BIN
playground/screenshots/v1.11.0/08-catalog-dark.png
Normal file
|
After Width: | Height: | Size: 410 KiB |
BIN
playground/screenshots/v1.11.0/08-catalog-light.png
Normal file
|
After Width: | Height: | Size: 407 KiB |
BIN
playground/screenshots/v1.11.0/09-onboarding-prefilled-dark.png
Normal file
|
After Width: | Height: | Size: 246 KiB |
BIN
playground/screenshots/v1.11.0/09-onboarding-prefilled-light.png
Normal file
|
After Width: | Height: | Size: 244 KiB |
BIN
playground/screenshots/v1.14.0/01-onboarding-empty-light.png
Normal file
|
After Width: | Height: | Size: 245 KiB |
|
After Width: | Height: | Size: 3.7 MiB |
|
After Width: | Height: | Size: 3.7 MiB |
|
After Width: | Height: | Size: 3.4 MiB |
|
After Width: | Height: | Size: 3.4 MiB |
|
After Width: | Height: | Size: 1.1 MiB |
|
After Width: | Height: | Size: 1.1 MiB |
|
After Width: | Height: | Size: 2 MiB |
|
After Width: | Height: | Size: 2 MiB |
|
After Width: | Height: | Size: 963 KiB |
|
After Width: | Height: | Size: 961 KiB |
BIN
playground/screenshots/v1.14.0/04-project-oversikt-dark.png
Normal file
|
After Width: | Height: | Size: 197 KiB |
BIN
playground/screenshots/v1.14.0/04-project-oversikt-light.png
Normal file
|
After Width: | Height: | Size: 196 KiB |
BIN
playground/screenshots/v1.14.0/05-project-kontekst-dark.png
Normal file
|
After Width: | Height: | Size: 193 KiB |
BIN
playground/screenshots/v1.14.0/05-project-kontekst-light.png
Normal file
|
After Width: | Height: | Size: 192 KiB |
BIN
playground/screenshots/v1.14.0/06-project-eksport-dark.png
Normal file
|
After Width: | Height: | Size: 171 KiB |
BIN
playground/screenshots/v1.14.0/06-project-eksport-light.png
Normal file
|
After Width: | Height: | Size: 169 KiB |
BIN
playground/screenshots/v1.14.0/07-home-dark.png
Normal file
|
After Width: | Height: | Size: 216 KiB |
BIN
playground/screenshots/v1.14.0/07-home-light.png
Normal file
|
After Width: | Height: | Size: 214 KiB |
BIN
playground/screenshots/v1.14.0/08-catalog-dark.png
Normal file
|
After Width: | Height: | Size: 415 KiB |
BIN
playground/screenshots/v1.14.0/08-catalog-light.png
Normal file
|
After Width: | Height: | Size: 412 KiB |
BIN
playground/screenshots/v1.14.0/09-onboarding-prefilled-dark.png
Normal file
|
After Width: | Height: | Size: 247 KiB |
BIN
playground/screenshots/v1.14.0/09-onboarding-prefilled-light.png
Normal file
|
After Width: | Height: | Size: 245 KiB |
|
Before Width: | Height: | Size: 718 KiB |
|
Before Width: | Height: | Size: 245 KiB After Width: | Height: | Size: 245 KiB |
|
Before Width: | Height: | Size: 627 KiB After Width: | Height: | Size: 620 KiB |
|
Before Width: | Height: | Size: 622 KiB After Width: | Height: | Size: 616 KiB |
|
Before Width: | Height: | Size: 894 KiB After Width: | Height: | Size: 879 KiB |
|
Before Width: | Height: | Size: 885 KiB After Width: | Height: | Size: 872 KiB |
|
Before Width: | Height: | Size: 961 KiB After Width: | Height: | Size: 960 KiB |
|
Before Width: | Height: | Size: 954 KiB After Width: | Height: | Size: 954 KiB |
|
Before Width: | Height: | Size: 871 KiB After Width: | Height: | Size: 863 KiB |
|
Before Width: | Height: | Size: 864 KiB After Width: | Height: | Size: 857 KiB |
|
Before Width: | Height: | Size: 748 KiB After Width: | Height: | Size: 744 KiB |
|
Before Width: | Height: | Size: 742 KiB After Width: | Height: | Size: 739 KiB |
|
Before Width: | Height: | Size: 810 KiB After Width: | Height: | Size: 816 KiB |
|
Before Width: | Height: | Size: 802 KiB After Width: | Height: | Size: 809 KiB |
|
Before Width: | Height: | Size: 272 KiB After Width: | Height: | Size: 265 KiB |
|
Before Width: | Height: | Size: 268 KiB After Width: | Height: | Size: 262 KiB |
|
Before Width: | Height: | Size: 600 KiB After Width: | Height: | Size: 594 KiB |
|
Before Width: | Height: | Size: 593 KiB After Width: | Height: | Size: 588 KiB |
|
Before Width: | Height: | Size: 216 KiB After Width: | Height: | Size: 216 KiB |
|
Before Width: | Height: | Size: 214 KiB After Width: | Height: | Size: 214 KiB |
|
Before Width: | Height: | Size: 417 KiB After Width: | Height: | Size: 415 KiB |
|
Before Width: | Height: | Size: 414 KiB After Width: | Height: | Size: 412 KiB |
|
Before Width: | Height: | Size: 247 KiB After Width: | Height: | Size: 247 KiB |
|
Before Width: | Height: | Size: 245 KiB After Width: | Height: | Size: 245 KiB |