diff --git a/client/src/pages/CheckupPage.css b/client/src/pages/CheckupPage.css
index 26974c1..46f40a2 100644
--- a/client/src/pages/CheckupPage.css
+++ b/client/src/pages/CheckupPage.css
@@ -187,6 +187,91 @@
color: #9ec5e8;
}
+.checkup-thumb-search {
+ border-color: rgba(232, 160, 64, 0.35);
+}
+
+.checkup-thumb-loading {
+ color: rgba(201, 169, 110, 0.55);
+ font-size: 11px;
+}
+
+.checkup-thumb-badge-search {
+ border-color: rgba(232, 160, 64, 0.45);
+ color: #e8a040;
+ max-width: calc(100% - 12px);
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.checkup-retry-btn {
+ margin-top: 6px;
+ padding: 4px 8px;
+ border: 1px solid rgba(201, 169, 110, 0.35);
+ border-radius: 4px;
+ background: transparent;
+ color: #c9a96e;
+ font-size: 10px;
+ cursor: pointer;
+}
+
+.checkup-retry-btn:hover {
+ border-color: #c9a96e;
+ color: #e8d5b5;
+}
+
+.checkup-fix-cell-wrap {
+ width: 120px;
+}
+
+.checkup-fix-cell {
+ display: flex;
+ flex-direction: column;
+ gap: 6px;
+ align-items: flex-start;
+}
+
+.checkup-fix-btn {
+ padding: 8px 12px;
+ border: 1px solid #e8a040;
+ border-radius: 6px;
+ background: rgba(232, 160, 64, 0.15);
+ color: #e8a040;
+ font-size: 12px;
+ font-weight: 600;
+ cursor: pointer;
+ white-space: nowrap;
+}
+
+.checkup-fix-btn:hover:not(:disabled) {
+ background: rgba(232, 160, 64, 0.28);
+}
+
+.checkup-fix-btn:disabled {
+ opacity: 0.45;
+ cursor: not-allowed;
+ border-color: rgba(201, 169, 110, 0.25);
+ color: rgba(201, 169, 110, 0.45);
+ background: transparent;
+}
+
+.checkup-fix-error {
+ margin: 0;
+ font-size: 10px;
+ color: #ff8a80;
+ line-height: 1.3;
+ max-width: 110px;
+}
+
+.checkup-fix-hint {
+ margin: 0;
+ font-size: 10px;
+ color: rgba(201, 169, 110, 0.55);
+ line-height: 1.3;
+ max-width: 110px;
+}
+
.checkup-table tbody tr:hover {
background: rgba(201, 169, 110, 0.06);
}
diff --git a/client/src/pages/CheckupPage.tsx b/client/src/pages/CheckupPage.tsx
index ebb8182..8d1e2db 100644
--- a/client/src/pages/CheckupPage.tsx
+++ b/client/src/pages/CheckupPage.tsx
@@ -1,5 +1,10 @@
-import { useEffect, useMemo, useState } from 'react';
-import { api, type PaintingCheckupRow } from '../api/client';
+import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
+import {
+ api,
+ debugImageProxyUrl,
+ type DebugImageSearchResult,
+ type PaintingCheckupRow,
+} from '../api/client';
import './CheckupPage.css';
interface Props {
@@ -7,27 +12,43 @@ interface Props {
onOpenPainting?: (paintingId: number) => void;
}
-function previewSrc(row: PaintingCheckupRow, kind: 'gallery' | 'detail'): string | null {
+type RowSearchState =
+ | { status: 'idle' }
+ | { status: 'loading' }
+ | { status: 'done'; result: DebugImageSearchResult }
+ | { status: 'error' };
+
+const SEARCH_CONCURRENCY = 3;
+const FILTER_SEARCH_DEBOUNCE_MS = 350;
+
+function previewSrc(
+ row: PaintingCheckupRow,
+ kind: 'gallery' | 'detail',
+ version: number
+): string | null {
+ const bust = version > 0 ? `?v=${version}` : '';
if (kind === 'gallery') {
const file = row.gallery_preview ?? row.gallery_file;
- return file ? `/images/${file}` : null;
+ return file ? `/images/${file}${bust}` : null;
}
if (row.detail_on_demand) {
- return `/api/paintings/${row.id}/image?size=thumb`;
+ return `/api/paintings/${row.id}/image?size=thumb${version > 0 ? `&v=${version}` : ''}`;
}
const file = row.detail_preview ?? row.detail_file;
- return file ? `/images/${file}` : null;
+ return file ? `/images/${file}${bust}` : null;
}
function ImagePreviewCell({
row,
kind,
+ imageVersion,
}: {
row: PaintingCheckupRow;
kind: 'gallery' | 'detail';
+ imageVersion: number;
}) {
const path = kind === 'gallery' ? row.gallery_file : row.detail_file;
- const src = previewSrc(row, kind);
+ const src = previewSrc(row, kind, imageVersion);
const exists =
kind === 'gallery' ? row.gallery_file_exists : row.detail_file_exists;
const missing = path && exists === false;
@@ -63,11 +84,123 @@ function ImagePreviewCell({
);
}
+function SearchPreviewCell({
+ searchState,
+ onRetry,
+}: {
+ searchState: RowSearchState;
+ onRetry: () => void;
+}) {
+ if (searchState.status === 'loading' || searchState.status === 'idle') {
+ return (
+
+ {searchState.status === 'loading' ? 'Searching…' : 'Queued…'}
+
+ );
+ }
+
+ if (searchState.status === 'error') {
+ return (
+
+ Search failed
+
+
+ );
+ }
+
+ const { result } = searchState;
+ if (!result.imageUrl) {
+ return (
+
+ No result
+ {result.sourceLabel ?? result.source}
+
+ );
+ }
+
+ return (
+
+
})
{
+ (e.target as HTMLImageElement).src = '/placeholder-art.svg';
+ }}
+ />
+
+ {result.sourceLabel ?? 'Search'}
+
+
+ );
+}
+
+function FixCell({
+ searchState,
+ fixing,
+ fixError,
+ onFix,
+}: {
+ searchState: RowSearchState;
+ fixing: boolean;
+ fixError: string | null;
+ onFix: () => void;
+}) {
+ const canFix =
+ searchState.status === 'done' && !!searchState.result.imageUrl && !fixing;
+
+ return (
+
+
+ {fixError &&
{fixError}
}
+ {(searchState.status === 'loading' || searchState.status === 'idle') && (
+
Waiting for search…
+ )}
+ {searchState.status === 'done' && !searchState.result.imageUrl && (
+
No image to apply
+ )}
+
+ );
+}
+
+function needsSearch(state: RowSearchState | undefined): boolean {
+ return !state || state.status === 'idle' || state.status === 'error';
+}
+
export default function CheckupPage({ onBack, onOpenPainting }: Props) {
const [rows, setRows] = useState([]);
const [loading, setLoading] = useState(true);
const [error, setError] = useState(null);
const [filter, setFilter] = useState('');
+ const [searchById, setSearchById] = useState>({});
+ const [imageVersionById, setImageVersionById] = useState>({});
+ const [fixingId, setFixingId] = useState(null);
+ const [fixErrorById, setFixErrorById] = useState>({});
+ const [queuePending, setQueuePending] = useState(0);
+
+ const searchByIdRef = useRef(searchById);
+ const queueRef = useRef([]);
+ const activeRef = useRef(0);
+ const queuedSetRef = useRef(new Set());
+
+ useEffect(() => {
+ searchByIdRef.current = searchById;
+ }, [searchById]);
useEffect(() => {
let cancelled = false;
@@ -90,6 +223,114 @@ export default function CheckupPage({ onBack, onOpenPainting }: Props) {
};
}, []);
+ const updateQueuePending = useCallback(() => {
+ setQueuePending(queueRef.current.length + activeRef.current);
+ }, []);
+
+ const runSearch = useCallback(
+ (rowId: number) => {
+ activeRef.current += 1;
+ updateQueuePending();
+ setSearchById((prev) => ({ ...prev, [rowId]: { status: 'loading' } }));
+
+ api.getPaintingDebugImageSearch(rowId)
+ .then((result) => {
+ setSearchById((prev) => ({ ...prev, [rowId]: { status: 'done', result } }));
+ })
+ .catch(() => {
+ queuedSetRef.current.delete(rowId);
+ setSearchById((prev) => ({ ...prev, [rowId]: { status: 'error' } }));
+ })
+ .finally(() => {
+ activeRef.current = Math.max(0, activeRef.current - 1);
+ updateQueuePending();
+ pumpQueueRef.current();
+ });
+ },
+ [updateQueuePending]
+ );
+
+ const pumpQueue = useCallback(() => {
+ while (activeRef.current < SEARCH_CONCURRENCY && queueRef.current.length > 0) {
+ const rowId = queueRef.current.shift()!;
+ runSearch(rowId);
+ }
+ updateQueuePending();
+ }, [runSearch, updateQueuePending]);
+
+ const pumpQueueRef = useRef(pumpQueue);
+ useEffect(() => {
+ pumpQueueRef.current = pumpQueue;
+ }, [pumpQueue]);
+
+ const enqueueSearch = useCallback(
+ (rowId: number) => {
+ const state = searchByIdRef.current[rowId];
+ if (!needsSearch(state)) return;
+ if (queuedSetRef.current.has(rowId)) return;
+
+ queuedSetRef.current.add(rowId);
+ setSearchById((prev) => ({ ...prev, [rowId]: { status: 'idle' } }));
+ queueRef.current.push(rowId);
+ updateQueuePending();
+ pumpQueueRef.current();
+ },
+ [updateQueuePending]
+ );
+
+ const retrySearch = useCallback(
+ (rowId: number) => {
+ queuedSetRef.current.delete(rowId);
+ queueRef.current = queueRef.current.filter((id) => id !== rowId);
+ setSearchById((prev) => ({ ...prev, [rowId]: { status: 'idle' } }));
+ enqueueSearch(rowId);
+ },
+ [enqueueSearch]
+ );
+
+ const handleFix = useCallback(
+ async (row: PaintingCheckupRow) => {
+ const searchState = searchById[row.id];
+ if (searchState?.status !== 'done' || !searchState.result.imageUrl || fixingId) return;
+
+ setFixingId(row.id);
+ setFixErrorById((prev) => {
+ const next = { ...prev };
+ delete next[row.id];
+ return next;
+ });
+
+ try {
+ const updated = await api.fixPaintingImage(row.id, searchState.result.imageUrl);
+ setImageVersionById((prev) => ({ ...prev, [row.id]: (prev[row.id] ?? 0) + 1 }));
+ setRows((list) =>
+ list.map((r) =>
+ r.id === row.id
+ ? {
+ ...r,
+ gallery_file: updated.imagePath,
+ detail_file: updated.imagePath,
+ gallery_preview: updated.thumbnailPath,
+ detail_preview: updated.thumbnailPath,
+ gallery_file_exists: true,
+ detail_file_exists: true,
+ detail_on_demand: false,
+ }
+ : r
+ )
+ );
+ } catch (err) {
+ setFixErrorById((prev) => ({
+ ...prev,
+ [row.id]: err instanceof Error ? err.message : 'Could not replace image.',
+ }));
+ } finally {
+ setFixingId(null);
+ }
+ },
+ [fixingId, searchById]
+ );
+
const filtered = useMemo(() => {
const q = filter.trim().toLowerCase();
if (!q) return rows;
@@ -103,13 +344,36 @@ export default function CheckupPage({ onBack, onOpenPainting }: Props) {
);
}, [rows, filter]);
+ const filteredIds = useMemo(() => filtered.map((row) => row.id), [filtered]);
+
+ useEffect(() => {
+ if (loading) return;
+
+ const timer = setTimeout(() => {
+ for (const rowId of filteredIds) {
+ enqueueSearch(rowId);
+ }
+ }, FILTER_SEARCH_DEBOUNCE_MS);
+
+ return () => clearTimeout(timer);
+ }, [filteredIds, loading, enqueueSearch]);
+
+ const searchStats = useMemo(() => {
+ let done = 0;
+ let failed = 0;
+ for (const row of filtered) {
+ const state = searchById[row.id];
+ if (state?.status === 'done') done += 1;
+ if (state?.status === 'error') failed += 1;
+ }
+ return { done, failed };
+ }, [filtered, searchById]);
+
const stats = useMemo(() => {
const noGallery = rows.filter((r) => !r.gallery_file).length;
const onDemand = rows.filter((r) => r.detail_on_demand).length;
const missingGallery = rows.filter((r) => r.gallery_file && !r.gallery_file_exists).length;
- const missingDetail = rows.filter(
- (r) => r.detail_file_exists === false
- ).length;
+ const missingDetail = rows.filter((r) => r.detail_file_exists === false).length;
return { noGallery, onDemand, missingGallery, missingDetail };
}, [rows]);
@@ -121,7 +385,9 @@ export default function CheckupPage({ onBack, onOpenPainting }: Props) {
Painting checkup
-
Compare image files used in the 3D gallery vs painting detail view.
+
+ Compare gallery vs detail images; filtered rows are searched automatically.
+
@@ -135,6 +401,11 @@ export default function CheckupPage({ onBack, onOpenPainting }: Props) {
/>
{filtered.length} shown
+
+ search {searchStats.done}/{filtered.length} done
+ {queuePending > 0 ? ` · ${queuePending} active` : ''}
+
+ {searchStats.failed > 0 && {searchStats.failed} search failed}
{stats.noGallery} no gallery file
{stats.onDemand} detail on-demand
{stats.missingGallery} gallery missing
@@ -156,34 +427,61 @@ export default function CheckupPage({ onBack, onOpenPainting }: Props) {
Year |
Gallery |
Detail |
+ Search |
+ Fix |
- {filtered.map((row) => (
-
- |
- {onOpenPainting ? (
-
- ) : (
- row.title
- )}
- |
- {row.artist_name} |
- {row.year ?? '—'} |
-
-
- |
-
-
- |
-
- ))}
+ {filtered.map((row) => {
+ const searchState = searchById[row.id] ?? { status: 'idle' as const };
+ return (
+
+ |
+ {onOpenPainting ? (
+
+ ) : (
+ row.title
+ )}
+ |
+ {row.artist_name} |
+ {row.year ?? '—'} |
+
+
+ |
+
+
+ |
+
+ retrySearch(row.id)}
+ />
+ |
+
+ handleFix(row)}
+ />
+ |
+
+ );
+ })}
diff --git a/data/images/paintings/Albrecht_D_rer_Abduction_of_a_Woman.jpg b/data/images/paintings/Albrecht_D_rer_Abduction_of_a_Woman.jpg
index 980ab82..b16c643 100644
Binary files a/data/images/paintings/Albrecht_D_rer_Abduction_of_a_Woman.jpg and b/data/images/paintings/Albrecht_D_rer_Abduction_of_a_Woman.jpg differ
diff --git a/data/images/paintings/Albrecht_D_rer_An_Oriental_Ruler_Seated_on_His_Throne.jpg b/data/images/paintings/Albrecht_D_rer_An_Oriental_Ruler_Seated_on_His_Throne.jpg
index 6b19866..0df0cbc 100644
Binary files a/data/images/paintings/Albrecht_D_rer_An_Oriental_Ruler_Seated_on_His_Throne.jpg and b/data/images/paintings/Albrecht_D_rer_An_Oriental_Ruler_Seated_on_His_Throne.jpg differ
diff --git a/data/images/paintings/Albrecht_D_rer_Christ_and_Mary_Magdalene__Noli_me_Tangere_.jpg b/data/images/paintings/Albrecht_D_rer_Christ_and_Mary_Magdalene__Noli_me_Tangere_.jpg
index 6d566cc..ea4dde0 100644
Binary files a/data/images/paintings/Albrecht_D_rer_Christ_and_Mary_Magdalene__Noli_me_Tangere_.jpg and b/data/images/paintings/Albrecht_D_rer_Christ_and_Mary_Magdalene__Noli_me_Tangere_.jpg differ
diff --git a/data/images/paintings/Albrecht_D_rer_Circumcision_of_Jesus.JPG b/data/images/paintings/Albrecht_D_rer_Circumcision_of_Jesus.JPG
index bc9d8b3..809674d 100644
Binary files a/data/images/paintings/Albrecht_D_rer_Circumcision_of_Jesus.JPG and b/data/images/paintings/Albrecht_D_rer_Circumcision_of_Jesus.JPG differ
diff --git a/data/images/paintings/Albrecht_D_rer_Columbine.jpg b/data/images/paintings/Albrecht_D_rer_Columbine.jpg
index 6b19866..852aae0 100644
Binary files a/data/images/paintings/Albrecht_D_rer_Columbine.jpg and b/data/images/paintings/Albrecht_D_rer_Columbine.jpg differ
diff --git a/data/images/paintings/Albrecht_D_rer_Courtyard_of_Innsbruck_Castle_With_Clouds.jpg b/data/images/paintings/Albrecht_D_rer_Courtyard_of_Innsbruck_Castle_With_Clouds.jpg
index dd7127f..8978850 100644
Binary files a/data/images/paintings/Albrecht_D_rer_Courtyard_of_Innsbruck_Castle_With_Clouds.jpg and b/data/images/paintings/Albrecht_D_rer_Courtyard_of_Innsbruck_Castle_With_Clouds.jpg differ
diff --git a/data/images/paintings/Albrecht_D_rer_Courtyard_of_Innsbruck_Castle__Without_Clouds_.jpg b/data/images/paintings/Albrecht_D_rer_Courtyard_of_Innsbruck_Castle__Without_Clouds_.jpg
index dd7127f..8978850 100644
Binary files a/data/images/paintings/Albrecht_D_rer_Courtyard_of_Innsbruck_Castle__Without_Clouds_.jpg and b/data/images/paintings/Albrecht_D_rer_Courtyard_of_Innsbruck_Castle__Without_Clouds_.jpg differ
diff --git a/data/images/paintings/Albrecht_D_rer_Crucifixion.jpg b/data/images/paintings/Albrecht_D_rer_Crucifixion.jpg
index 513154b..dc68bfb 100644
Binary files a/data/images/paintings/Albrecht_D_rer_Crucifixion.jpg and b/data/images/paintings/Albrecht_D_rer_Crucifixion.jpg differ
diff --git a/data/images/paintings/Albrecht_D_rer_Emperor_Maximilan_I___1459-1519_.jpg b/data/images/paintings/Albrecht_D_rer_Emperor_Maximilan_I___1459-1519_.jpg
index 4997120..5bb15f8 100644
Binary files a/data/images/paintings/Albrecht_D_rer_Emperor_Maximilan_I___1459-1519_.jpg and b/data/images/paintings/Albrecht_D_rer_Emperor_Maximilan_I___1459-1519_.jpg differ
diff --git a/data/images/paintings/Albrecht_D_rer_En_f_nrik.jpg b/data/images/paintings/Albrecht_D_rer_En_f_nrik.jpg
index 6b19866..a0ff75e 100644
Binary files a/data/images/paintings/Albrecht_D_rer_En_f_nrik.jpg and b/data/images/paintings/Albrecht_D_rer_En_f_nrik.jpg differ
diff --git a/data/images/paintings/Albrecht_D_rer_Flight_to_Egypt.jpg b/data/images/paintings/Albrecht_D_rer_Flight_to_Egypt.jpg
index 6b19866..2d894dd 100644
Binary files a/data/images/paintings/Albrecht_D_rer_Flight_to_Egypt.jpg and b/data/images/paintings/Albrecht_D_rer_Flight_to_Egypt.jpg differ
diff --git a/data/images/paintings/Albrecht_D_rer_Four_Medicinal_Herbs.jpg b/data/images/paintings/Albrecht_D_rer_Four_Medicinal_Herbs.jpg
index 6b19866..83aa068 100644
Binary files a/data/images/paintings/Albrecht_D_rer_Four_Medicinal_Herbs.jpg and b/data/images/paintings/Albrecht_D_rer_Four_Medicinal_Herbs.jpg differ
diff --git a/data/images/paintings/Albrecht_D_rer_Head_of_a_young_woman.jpg b/data/images/paintings/Albrecht_D_rer_Head_of_a_young_woman.jpg
index 099e592..a7b0969 100644
Binary files a/data/images/paintings/Albrecht_D_rer_Head_of_a_young_woman.jpg and b/data/images/paintings/Albrecht_D_rer_Head_of_a_young_woman.jpg differ
diff --git a/data/images/paintings/Albrecht_D_rer_Lion.jpg b/data/images/paintings/Albrecht_D_rer_Lion.jpg
index e074c94..f993027 100644
Binary files a/data/images/paintings/Albrecht_D_rer_Lion.jpg and b/data/images/paintings/Albrecht_D_rer_Lion.jpg differ
diff --git a/data/images/paintings/Albrecht_D_rer_Lot_and_his_daughters.jpg b/data/images/paintings/Albrecht_D_rer_Lot_and_his_daughters.jpg
index 6b19866..f02eca3 100644
Binary files a/data/images/paintings/Albrecht_D_rer_Lot_and_his_daughters.jpg and b/data/images/paintings/Albrecht_D_rer_Lot_and_his_daughters.jpg differ
diff --git a/data/images/paintings/Albrecht_D_rer_Marriage_Coat_of_Arms_of_the_Families_Duerer_and_Holper__Verso_of_the_Albrecht_D_rer_the_Elder_portrait.jpg b/data/images/paintings/Albrecht_D_rer_Marriage_Coat_of_Arms_of_the_Families_Duerer_and_Holper__Verso_of_the_Albrecht_D_rer_the_Elder_portrait.jpg
index 6b19866..3516473 100644
Binary files a/data/images/paintings/Albrecht_D_rer_Marriage_Coat_of_Arms_of_the_Families_Duerer_and_Holper__Verso_of_the_Albrecht_D_rer_the_Elder_portrait.jpg and b/data/images/paintings/Albrecht_D_rer_Marriage_Coat_of_Arms_of_the_Families_Duerer_and_Holper__Verso_of_the_Albrecht_D_rer_the_Elder_portrait.jpg differ
diff --git a/data/images/paintings/Albrecht_D_rer_Not_this_Man_but_Barabbas.jpg b/data/images/paintings/Albrecht_D_rer_Not_this_Man_but_Barabbas.jpg
index 6b19866..045093e 100644
Binary files a/data/images/paintings/Albrecht_D_rer_Not_this_Man_but_Barabbas.jpg and b/data/images/paintings/Albrecht_D_rer_Not_this_Man_but_Barabbas.jpg differ
diff --git a/data/images/paintings/Albrecht_D_rer_Portrait_of_Barbara_Holper.jpg b/data/images/paintings/Albrecht_D_rer_Portrait_of_Barbara_Holper.jpg
index 84bd9bd..a574722 100644
Binary files a/data/images/paintings/Albrecht_D_rer_Portrait_of_Barbara_Holper.jpg and b/data/images/paintings/Albrecht_D_rer_Portrait_of_Barbara_Holper.jpg differ
diff --git a/data/images/paintings/Albrecht_D_rer_Portrait_of_a_man.jpg b/data/images/paintings/Albrecht_D_rer_Portrait_of_a_man.jpg
index d92a364..e243010 100644
Binary files a/data/images/paintings/Albrecht_D_rer_Portrait_of_a_man.jpg and b/data/images/paintings/Albrecht_D_rer_Portrait_of_a_man.jpg differ
diff --git a/data/images/paintings/Albrecht_D_rer_Portrait_of_the_artist_s_father.jpg b/data/images/paintings/Albrecht_D_rer_Portrait_of_the_artist_s_father.jpg
index 5a80e38..7177fa0 100644
Binary files a/data/images/paintings/Albrecht_D_rer_Portrait_of_the_artist_s_father.jpg and b/data/images/paintings/Albrecht_D_rer_Portrait_of_the_artist_s_father.jpg differ
diff --git a/data/images/paintings/Albrecht_D_rer_Saint_Augustine_with_Six_Canons.jpg b/data/images/paintings/Albrecht_D_rer_Saint_Augustine_with_Six_Canons.jpg
index 6b19866..626cf31 100644
Binary files a/data/images/paintings/Albrecht_D_rer_Saint_Augustine_with_Six_Canons.jpg and b/data/images/paintings/Albrecht_D_rer_Saint_Augustine_with_Six_Canons.jpg differ
diff --git a/data/images/paintings/Albrecht_D_rer_Saint_Jerome.jpg b/data/images/paintings/Albrecht_D_rer_Saint_Jerome.jpg
index dd7127f..f32d883 100644
Binary files a/data/images/paintings/Albrecht_D_rer_Saint_Jerome.jpg and b/data/images/paintings/Albrecht_D_rer_Saint_Jerome.jpg differ
diff --git a/data/images/paintings/Albrecht_D_rer_Saint_Jerome_in_His_Study.jpg b/data/images/paintings/Albrecht_D_rer_Saint_Jerome_in_His_Study.jpg
index dd7127f..f32d883 100644
Binary files a/data/images/paintings/Albrecht_D_rer_Saint_Jerome_in_His_Study.jpg and b/data/images/paintings/Albrecht_D_rer_Saint_Jerome_in_His_Study.jpg differ
diff --git a/data/images/paintings/Albrecht_D_rer_Saint_Thomas_Aquinas_and_Saint_Christopher.jpg b/data/images/paintings/Albrecht_D_rer_Saint_Thomas_Aquinas_and_Saint_Christopher.jpg
index 6b19866..7447998 100644
Binary files a/data/images/paintings/Albrecht_D_rer_Saint_Thomas_Aquinas_and_Saint_Christopher.jpg and b/data/images/paintings/Albrecht_D_rer_Saint_Thomas_Aquinas_and_Saint_Christopher.jpg differ
diff --git a/data/images/paintings/Albrecht_D_rer_Self-portrait_at_Thirteen.jpg b/data/images/paintings/Albrecht_D_rer_Self-portrait_at_Thirteen.jpg
index d3e6fb2..723e14b 100644
Binary files a/data/images/paintings/Albrecht_D_rer_Self-portrait_at_Thirteen.jpg and b/data/images/paintings/Albrecht_D_rer_Self-portrait_at_Thirteen.jpg differ
diff --git a/data/images/paintings/Albrecht_D_rer_Seven_Sorrows_Polyptych__Christ_among_the_Doctors.jpg b/data/images/paintings/Albrecht_D_rer_Seven_Sorrows_Polyptych__Christ_among_the_Doctors.jpg
index 6b19866..249b44a 100644
Binary files a/data/images/paintings/Albrecht_D_rer_Seven_Sorrows_Polyptych__Christ_among_the_Doctors.jpg and b/data/images/paintings/Albrecht_D_rer_Seven_Sorrows_Polyptych__Christ_among_the_Doctors.jpg differ
diff --git a/data/images/paintings/Albrecht_D_rer_Strid_emellan_St_Michael_och_Drakarna.jpg b/data/images/paintings/Albrecht_D_rer_Strid_emellan_St_Michael_och_Drakarna.jpg
index 6b19866..ed70443 100644
Binary files a/data/images/paintings/Albrecht_D_rer_Strid_emellan_St_Michael_och_Drakarna.jpg and b/data/images/paintings/Albrecht_D_rer_Strid_emellan_St_Michael_och_Drakarna.jpg differ
diff --git a/data/images/paintings/Albrecht_D_rer_The_Death_of_Orpheus.jpg b/data/images/paintings/Albrecht_D_rer_The_Death_of_Orpheus.jpg
index 5b1d630..4cd0e5f 100644
Binary files a/data/images/paintings/Albrecht_D_rer_The_Death_of_Orpheus.jpg and b/data/images/paintings/Albrecht_D_rer_The_Death_of_Orpheus.jpg differ
diff --git a/data/images/paintings/Albrecht_D_rer_The_Holy_Family.jpg b/data/images/paintings/Albrecht_D_rer_The_Holy_Family.jpg
index d9b119f..13fa234 100644
Binary files a/data/images/paintings/Albrecht_D_rer_The_Holy_Family.jpg and b/data/images/paintings/Albrecht_D_rer_The_Holy_Family.jpg differ
diff --git a/data/images/paintings/Albrecht_D_rer_Ung_man_med_m_ssa_p__hufvudet__Br_stbild_i_naturlig_storlek.jpg b/data/images/paintings/Albrecht_D_rer_Ung_man_med_m_ssa_p__hufvudet__Br_stbild_i_naturlig_storlek.jpg
index 6b19866..cfb0292 100644
Binary files a/data/images/paintings/Albrecht_D_rer_Ung_man_med_m_ssa_p__hufvudet__Br_stbild_i_naturlig_storlek.jpg and b/data/images/paintings/Albrecht_D_rer_Ung_man_med_m_ssa_p__hufvudet__Br_stbild_i_naturlig_storlek.jpg differ
diff --git a/data/images/paintings/Albrecht_D_rer_Venus_and_the_Three_Graces.jpg b/data/images/paintings/Albrecht_D_rer_Venus_and_the_Three_Graces.jpg
index 6b19866..003e8dc 100644
Binary files a/data/images/paintings/Albrecht_D_rer_Venus_and_the_Three_Graces.jpg and b/data/images/paintings/Albrecht_D_rer_Venus_and_the_Three_Graces.jpg differ
diff --git a/data/images/paintings/Albrecht_D_rer_Via_Crucis.jpg b/data/images/paintings/Albrecht_D_rer_Via_Crucis.jpg
index 6b19866..5a89a2e 100644
Binary files a/data/images/paintings/Albrecht_D_rer_Via_Crucis.jpg and b/data/images/paintings/Albrecht_D_rer_Via_Crucis.jpg differ
diff --git a/data/images/paintings/Albrecht_D_rer_Wire_drawing_mill_near_Nyremberg.jpg b/data/images/paintings/Albrecht_D_rer_Wire_drawing_mill_near_Nyremberg.jpg
index 6b19866..3b990ba 100644
Binary files a/data/images/paintings/Albrecht_D_rer_Wire_drawing_mill_near_Nyremberg.jpg and b/data/images/paintings/Albrecht_D_rer_Wire_drawing_mill_near_Nyremberg.jpg differ
diff --git a/data/images/paintings/Alexander_Rodchenko_Assembleia.jpg b/data/images/paintings/Alexander_Rodchenko_Assembleia.jpg
index adee8b7..475a631 100644
Binary files a/data/images/paintings/Alexander_Rodchenko_Assembleia.jpg and b/data/images/paintings/Alexander_Rodchenko_Assembleia.jpg differ
diff --git a/data/images/paintings/Alexander_Rodchenko_Books__Please___In_All_Branches_of_Knowledge.jpg b/data/images/paintings/Alexander_Rodchenko_Books__Please___In_All_Branches_of_Knowledge.jpg
index adee8b7..e541144 100644
Binary files a/data/images/paintings/Alexander_Rodchenko_Books__Please___In_All_Branches_of_Knowledge.jpg and b/data/images/paintings/Alexander_Rodchenko_Books__Please___In_All_Branches_of_Knowledge.jpg differ
diff --git a/data/images/paintings/Alexander_Rodchenko_Dance__An_Objectless_Composition.jpg b/data/images/paintings/Alexander_Rodchenko_Dance__An_Objectless_Composition.jpg
index adee8b7..ad64fa3 100644
Binary files a/data/images/paintings/Alexander_Rodchenko_Dance__An_Objectless_Composition.jpg and b/data/images/paintings/Alexander_Rodchenko_Dance__An_Objectless_Composition.jpg differ
diff --git a/data/images/paintings/Alexander_Rodchenko_Girl_with_a_Leica.jpg b/data/images/paintings/Alexander_Rodchenko_Girl_with_a_Leica.jpg
index 76f25c0..bfda999 100644
Binary files a/data/images/paintings/Alexander_Rodchenko_Girl_with_a_Leica.jpg and b/data/images/paintings/Alexander_Rodchenko_Girl_with_a_Leica.jpg differ
diff --git a/data/images/paintings/Alexander_Rodchenko_Stenberg_Brothers_Exhibition_Poster.jpg b/data/images/paintings/Alexander_Rodchenko_Stenberg_Brothers_Exhibition_Poster.jpg
index 76f25c0..63e56af 100644
Binary files a/data/images/paintings/Alexander_Rodchenko_Stenberg_Brothers_Exhibition_Poster.jpg and b/data/images/paintings/Alexander_Rodchenko_Stenberg_Brothers_Exhibition_Poster.jpg differ
diff --git a/data/images/paintings/Alphonse_Mucha_Job_Cigarette_Papers.jpg b/data/images/paintings/Alphonse_Mucha_Job_Cigarette_Papers.jpg
index a5e0454..e443ced 100644
Binary files a/data/images/paintings/Alphonse_Mucha_Job_Cigarette_Papers.jpg and b/data/images/paintings/Alphonse_Mucha_Job_Cigarette_Papers.jpg differ
diff --git a/data/images/paintings/Alphonse_Mucha_Monaco_Monte_Carlo.jpg b/data/images/paintings/Alphonse_Mucha_Monaco_Monte_Carlo.jpg
index a5e0454..84ef04e 100644
Binary files a/data/images/paintings/Alphonse_Mucha_Monaco_Monte_Carlo.jpg and b/data/images/paintings/Alphonse_Mucha_Monaco_Monte_Carlo.jpg differ
diff --git a/data/images/paintings/Alphonse_Mucha_Princess_Hyacinth.jpg b/data/images/paintings/Alphonse_Mucha_Princess_Hyacinth.jpg
index a5e0454..c9a54a7 100644
Binary files a/data/images/paintings/Alphonse_Mucha_Princess_Hyacinth.jpg and b/data/images/paintings/Alphonse_Mucha_Princess_Hyacinth.jpg differ
diff --git a/data/images/paintings/Alphonse_Mucha_The_Seasons.jpg b/data/images/paintings/Alphonse_Mucha_The_Seasons.jpg
index a5e0454..c9c793e 100644
Binary files a/data/images/paintings/Alphonse_Mucha_The_Seasons.jpg and b/data/images/paintings/Alphonse_Mucha_The_Seasons.jpg differ
diff --git a/data/images/paintings/Andr__Derain_Charing_Cross_Bridge.jpg b/data/images/paintings/Andr__Derain_Charing_Cross_Bridge.jpg
index 9a71a0d..a457633 100644
Binary files a/data/images/paintings/Andr__Derain_Charing_Cross_Bridge.jpg and b/data/images/paintings/Andr__Derain_Charing_Cross_Bridge.jpg differ
diff --git a/data/images/paintings/Andr__Derain_London_Bridge.jpg b/data/images/paintings/Andr__Derain_London_Bridge.jpg
deleted file mode 100644
index 1eadf80..0000000
Binary files a/data/images/paintings/Andr__Derain_London_Bridge.jpg and /dev/null differ
diff --git a/data/images/paintings/Andr__Derain_London_Bridge.webp b/data/images/paintings/Andr__Derain_London_Bridge.webp
new file mode 100644
index 0000000..c35d9b8
Binary files /dev/null and b/data/images/paintings/Andr__Derain_London_Bridge.webp differ
diff --git a/data/images/paintings/Andr__Derain_Portrait_of_Henri_Matisse.jpg b/data/images/paintings/Andr__Derain_Portrait_of_Henri_Matisse.jpg
index 84bd9bd..c99fa34 100644
Binary files a/data/images/paintings/Andr__Derain_Portrait_of_Henri_Matisse.jpg and b/data/images/paintings/Andr__Derain_Portrait_of_Henri_Matisse.jpg differ
diff --git a/data/images/paintings/Andr__Derain_The_Dance.jpg b/data/images/paintings/Andr__Derain_The_Dance.jpg
index c838125..0b318b5 100644
Binary files a/data/images/paintings/Andr__Derain_The_Dance.jpg and b/data/images/paintings/Andr__Derain_The_Dance.jpg differ
diff --git a/data/images/paintings/Andr__Derain_The_Pool_of_London.jpg b/data/images/paintings/Andr__Derain_The_Pool_of_London.jpg
index c838125..9fafc62 100644
Binary files a/data/images/paintings/Andr__Derain_The_Pool_of_London.jpg and b/data/images/paintings/Andr__Derain_The_Pool_of_London.jpg differ
diff --git a/data/images/paintings/Andrei_Rublev_Archangel_Michael.jpg b/data/images/paintings/Andrei_Rublev_Archangel_Michael.jpg
new file mode 100644
index 0000000..ed3379e
Binary files /dev/null and b/data/images/paintings/Andrei_Rublev_Archangel_Michael.jpg differ
diff --git a/data/images/paintings/Andrei_Rublev_Hospitality_of_Abraham.jpg b/data/images/paintings/Andrei_Rublev_Hospitality_of_Abraham.jpg
index 282468b..bf2aefa 100644
Binary files a/data/images/paintings/Andrei_Rublev_Hospitality_of_Abraham.jpg and b/data/images/paintings/Andrei_Rublev_Hospitality_of_Abraham.jpg differ
diff --git a/data/images/paintings/Andrei_Rublev_Icon_with_the_Eastern_Orthodox_Trinity.jpg b/data/images/paintings/Andrei_Rublev_Icon_with_the_Eastern_Orthodox_Trinity.jpg
new file mode 100644
index 0000000..443bd50
Binary files /dev/null and b/data/images/paintings/Andrei_Rublev_Icon_with_the_Eastern_Orthodox_Trinity.jpg differ
diff --git a/data/images/paintings/Andrei_Rublev_Trinity_icon.jpg b/data/images/paintings/Andrei_Rublev_Trinity_icon.jpg
index 0e60b14..9e67b85 100644
Binary files a/data/images/paintings/Andrei_Rublev_Trinity_icon.jpg and b/data/images/paintings/Andrei_Rublev_Trinity_icon.jpg differ
diff --git a/data/images/paintings/Andy_Warhol_Brillo_Box.jpg b/data/images/paintings/Andy_Warhol_Brillo_Box.jpg
index a5c1779..ba70403 100644
Binary files a/data/images/paintings/Andy_Warhol_Brillo_Box.jpg and b/data/images/paintings/Andy_Warhol_Brillo_Box.jpg differ
diff --git a/data/images/paintings/Andy_Warhol_Campbell_s_Soup_Cans.jpg b/data/images/paintings/Andy_Warhol_Campbell_s_Soup_Cans.jpg
index a5c1779..f482db2 100644
Binary files a/data/images/paintings/Andy_Warhol_Campbell_s_Soup_Cans.jpg and b/data/images/paintings/Andy_Warhol_Campbell_s_Soup_Cans.jpg differ
diff --git a/data/images/paintings/Andy_Warhol_Eight_Elvises.jpg b/data/images/paintings/Andy_Warhol_Eight_Elvises.jpg
index a5c1779..c99d122 100644
Binary files a/data/images/paintings/Andy_Warhol_Eight_Elvises.jpg and b/data/images/paintings/Andy_Warhol_Eight_Elvises.jpg differ
diff --git a/data/images/paintings/Andy_Warhol_Green_Coca-Cola_Bottles.jpg b/data/images/paintings/Andy_Warhol_Green_Coca-Cola_Bottles.jpg
index a5c1779..9923ae4 100644
Binary files a/data/images/paintings/Andy_Warhol_Green_Coca-Cola_Bottles.jpg and b/data/images/paintings/Andy_Warhol_Green_Coca-Cola_Bottles.jpg differ
diff --git a/data/images/paintings/Andy_Warhol_Marilyn_Diptych.jpg b/data/images/paintings/Andy_Warhol_Marilyn_Diptych.jpg
index a5c1779..effb3f7 100644
Binary files a/data/images/paintings/Andy_Warhol_Marilyn_Diptych.jpg and b/data/images/paintings/Andy_Warhol_Marilyn_Diptych.jpg differ
diff --git a/data/images/paintings/Andy_Warhol_Shot_Sage_Blue_Marilyn.jpg b/data/images/paintings/Andy_Warhol_Shot_Sage_Blue_Marilyn.jpg
index a5c1779..e5ed508 100644
Binary files a/data/images/paintings/Andy_Warhol_Shot_Sage_Blue_Marilyn.jpg and b/data/images/paintings/Andy_Warhol_Shot_Sage_Blue_Marilyn.jpg differ
diff --git a/data/images/paintings/Angelica_Kauffman_Cornelia__Mother_of_the_Gracchi.jpg b/data/images/paintings/Angelica_Kauffman_Cornelia__Mother_of_the_Gracchi.jpg
index 0f752f1..2f39aa3 100644
Binary files a/data/images/paintings/Angelica_Kauffman_Cornelia__Mother_of_the_Gracchi.jpg and b/data/images/paintings/Angelica_Kauffman_Cornelia__Mother_of_the_Gracchi.jpg differ
diff --git a/data/images/paintings/Angelica_Kauffman_Portrait_of_Johann_Joachim_Winckelmann.jpg b/data/images/paintings/Angelica_Kauffman_Portrait_of_Johann_Joachim_Winckelmann.jpg
index 942a1e1..33a14ce 100644
Binary files a/data/images/paintings/Angelica_Kauffman_Portrait_of_Johann_Joachim_Winckelmann.jpg and b/data/images/paintings/Angelica_Kauffman_Portrait_of_Johann_Joachim_Winckelmann.jpg differ
diff --git a/data/images/paintings/Angelica_Kauffman_Rinaldo_and_Armida.jpg b/data/images/paintings/Angelica_Kauffman_Rinaldo_and_Armida.jpg
index 2eec32c..46c35f5 100644
Binary files a/data/images/paintings/Angelica_Kauffman_Rinaldo_and_Armida.jpg and b/data/images/paintings/Angelica_Kauffman_Rinaldo_and_Armida.jpg differ
diff --git a/data/images/paintings/Angelica_Kauffman_Self-Portrait_of_the_Artist_Hesitating_Between_the_Arts_of_Music_and_Painting.jpg b/data/images/paintings/Angelica_Kauffman_Self-Portrait_of_the_Artist_Hesitating_Between_the_Arts_of_Music_and_Painting.jpg
index d3e6fb2..059ec04 100644
Binary files a/data/images/paintings/Angelica_Kauffman_Self-Portrait_of_the_Artist_Hesitating_Between_the_Arts_of_Music_and_Painting.jpg and b/data/images/paintings/Angelica_Kauffman_Self-Portrait_of_the_Artist_Hesitating_Between_the_Arts_of_Music_and_Painting.jpg differ
diff --git a/data/images/paintings/Angelica_Kauffman_Venus_Induces_Helen_to_Fall_in_Love_with_Paris.jpg b/data/images/paintings/Angelica_Kauffman_Venus_Induces_Helen_to_Fall_in_Love_with_Paris.jpg
index d539a8d..2357a9a 100644
Binary files a/data/images/paintings/Angelica_Kauffman_Venus_Induces_Helen_to_Fall_in_Love_with_Paris.jpg and b/data/images/paintings/Angelica_Kauffman_Venus_Induces_Helen_to_Fall_in_Love_with_Paris.jpg differ
diff --git a/data/images/paintings/Apelles_Alexander_the_Great_Holding_a_Thunderbolt.JPG b/data/images/paintings/Apelles_Alexander_the_Great_Holding_a_Thunderbolt.JPG
index 36adc11..14d251f 100644
Binary files a/data/images/paintings/Apelles_Alexander_the_Great_Holding_a_Thunderbolt.JPG and b/data/images/paintings/Apelles_Alexander_the_Great_Holding_a_Thunderbolt.JPG differ
diff --git a/data/images/paintings/Apelles_Aphrodite_Anadyomene.JPG b/data/images/paintings/Apelles_Aphrodite_Anadyomene.JPG
index 36adc11..23b3459 100644
Binary files a/data/images/paintings/Apelles_Aphrodite_Anadyomene.JPG and b/data/images/paintings/Apelles_Aphrodite_Anadyomene.JPG differ
diff --git a/data/images/paintings/Apelles_Calumny_of_Apelles.jpg b/data/images/paintings/Apelles_Calumny_of_Apelles.jpg
index 4598358..ea46fd1 100644
Binary files a/data/images/paintings/Apelles_Calumny_of_Apelles.jpg and b/data/images/paintings/Apelles_Calumny_of_Apelles.jpg differ
diff --git a/data/images/paintings/Apelles_Campaspe.JPG b/data/images/paintings/Apelles_Campaspe.JPG
index 36adc11..a957da6 100644
Binary files a/data/images/paintings/Apelles_Campaspe.JPG and b/data/images/paintings/Apelles_Campaspe.JPG differ
diff --git a/data/images/paintings/Apelles_Portrait_of_Alexander.JPG b/data/images/paintings/Apelles_Portrait_of_Alexander.JPG
index 36adc11..984621f 100644
Binary files a/data/images/paintings/Apelles_Portrait_of_Alexander.JPG and b/data/images/paintings/Apelles_Portrait_of_Alexander.JPG differ
diff --git a/data/images/paintings/Apelles_Venus_Anadyomene.jpg b/data/images/paintings/Apelles_Venus_Anadyomene.jpg
index 16717db..ea44aff 100644
Binary files a/data/images/paintings/Apelles_Venus_Anadyomene.jpg and b/data/images/paintings/Apelles_Venus_Anadyomene.jpg differ
diff --git a/data/images/paintings/Artemisia_Gentileschi_Mary_Magdalene.jpg b/data/images/paintings/Artemisia_Gentileschi_Mary_Magdalene.jpg
index c319341..a2fcbda 100644
Binary files a/data/images/paintings/Artemisia_Gentileschi_Mary_Magdalene.jpg and b/data/images/paintings/Artemisia_Gentileschi_Mary_Magdalene.jpg differ
diff --git a/data/images/paintings/Artemisia_Gentileschi_Susanna_and_the_Elders.jpg b/data/images/paintings/Artemisia_Gentileschi_Susanna_and_the_Elders.jpg
index 1ae64ce..668f66e 100644
Binary files a/data/images/paintings/Artemisia_Gentileschi_Susanna_and_the_Elders.jpg and b/data/images/paintings/Artemisia_Gentileschi_Susanna_and_the_Elders.jpg differ
diff --git a/data/images/paintings/Aubrey_Beardsley_J_ai_bais__ta_bouche.jpg b/data/images/paintings/Aubrey_Beardsley_J_ai_bais__ta_bouche.jpg
index 7bb1dc4..30faafb 100644
Binary files a/data/images/paintings/Aubrey_Beardsley_J_ai_bais__ta_bouche.jpg and b/data/images/paintings/Aubrey_Beardsley_J_ai_bais__ta_bouche.jpg differ
diff --git a/data/images/paintings/Aubrey_Beardsley_The_Black_Cape.jpg b/data/images/paintings/Aubrey_Beardsley_The_Black_Cape.jpg
index af95d0c..d7a94cb 100644
Binary files a/data/images/paintings/Aubrey_Beardsley_The_Black_Cape.jpg and b/data/images/paintings/Aubrey_Beardsley_The_Black_Cape.jpg differ
diff --git a/data/images/paintings/Aubrey_Beardsley_The_Dancer_s_Reward.jpg b/data/images/paintings/Aubrey_Beardsley_The_Dancer_s_Reward.jpg
index 7bb1dc4..91e1c08 100644
Binary files a/data/images/paintings/Aubrey_Beardsley_The_Dancer_s_Reward.jpg and b/data/images/paintings/Aubrey_Beardsley_The_Dancer_s_Reward.jpg differ
diff --git a/data/images/paintings/Aubrey_Beardsley_The_Peacock_Skirt.PNG b/data/images/paintings/Aubrey_Beardsley_The_Peacock_Skirt.PNG
deleted file mode 100644
index 5accdf3..0000000
Binary files a/data/images/paintings/Aubrey_Beardsley_The_Peacock_Skirt.PNG and /dev/null differ
diff --git a/data/images/paintings/Aubrey_Beardsley_The_Peacock_Skirt.jpg b/data/images/paintings/Aubrey_Beardsley_The_Peacock_Skirt.jpg
new file mode 100644
index 0000000..7470f18
Binary files /dev/null and b/data/images/paintings/Aubrey_Beardsley_The_Peacock_Skirt.jpg differ
diff --git a/data/images/paintings/Aubrey_Beardsley_The_Rape_of_the_Lock.jpg b/data/images/paintings/Aubrey_Beardsley_The_Rape_of_the_Lock.jpg
index 7bb1dc4..cd8dcc7 100644
Binary files a/data/images/paintings/Aubrey_Beardsley_The_Rape_of_the_Lock.jpg and b/data/images/paintings/Aubrey_Beardsley_The_Rape_of_the_Lock.jpg differ
diff --git a/data/images/paintings/Bronzino_An_Allegory_with_Venus_and_Cupid.jpg b/data/images/paintings/Bronzino_An_Allegory_with_Venus_and_Cupid.jpg
index 28a3973..564e4e4 100644
Binary files a/data/images/paintings/Bronzino_An_Allegory_with_Venus_and_Cupid.jpg and b/data/images/paintings/Bronzino_An_Allegory_with_Venus_and_Cupid.jpg differ
diff --git a/data/images/paintings/Bronzino_Holy_Family_with_St__Anne_and_the_Infant_St__John.jpg b/data/images/paintings/Bronzino_Holy_Family_with_St__Anne_and_the_Infant_St__John.jpg
index b787b4c..2da8ce9 100644
Binary files a/data/images/paintings/Bronzino_Holy_Family_with_St__Anne_and_the_Infant_St__John.jpg and b/data/images/paintings/Bronzino_Holy_Family_with_St__Anne_and_the_Infant_St__John.jpg differ
diff --git a/data/images/paintings/Bronzino_Portrait_of_Cosimo_I_de__Medici_in_Armour.jpg b/data/images/paintings/Bronzino_Portrait_of_Cosimo_I_de__Medici_in_Armour.jpg
index f027633..b1bc200 100644
Binary files a/data/images/paintings/Bronzino_Portrait_of_Cosimo_I_de__Medici_in_Armour.jpg and b/data/images/paintings/Bronzino_Portrait_of_Cosimo_I_de__Medici_in_Armour.jpg differ
diff --git a/data/images/paintings/Bronzino_Portrait_of_Eleonora_di_Toledo_with_her_son_Giovanni.jpg b/data/images/paintings/Bronzino_Portrait_of_Eleonora_di_Toledo_with_her_son_Giovanni.jpg
index f027633..b74e63f 100644
Binary files a/data/images/paintings/Bronzino_Portrait_of_Eleonora_di_Toledo_with_her_son_Giovanni.jpg and b/data/images/paintings/Bronzino_Portrait_of_Eleonora_di_Toledo_with_her_son_Giovanni.jpg differ
diff --git a/data/images/paintings/Bronzino_Venus__Cupid__Folly_and_Time.jpg b/data/images/paintings/Bronzino_Venus__Cupid__Folly_and_Time.jpg
index 9002b59..2381089 100644
Binary files a/data/images/paintings/Bronzino_Venus__Cupid__Folly_and_Time.jpg and b/data/images/paintings/Bronzino_Venus__Cupid__Folly_and_Time.jpg differ
diff --git a/data/images/paintings/Camille_Pissarro_Apple_Picking_at__ragny-sur-Epte.jpg b/data/images/paintings/Camille_Pissarro_Apple_Picking_at__ragny-sur-Epte.jpg
index 2c2b83f..937b66d 100644
Binary files a/data/images/paintings/Camille_Pissarro_Apple_Picking_at__ragny-sur-Epte.jpg and b/data/images/paintings/Camille_Pissarro_Apple_Picking_at__ragny-sur-Epte.jpg differ
diff --git a/data/images/paintings/Camille_Pissarro_Boulevard_Montmartre.jpg b/data/images/paintings/Camille_Pissarro_Boulevard_Montmartre.jpg
index ffd3fc9..ed261de 100644
Binary files a/data/images/paintings/Camille_Pissarro_Boulevard_Montmartre.jpg and b/data/images/paintings/Camille_Pissarro_Boulevard_Montmartre.jpg differ
diff --git a/data/images/paintings/Camille_Pissarro_Lordship_Lane_Station.jpg b/data/images/paintings/Camille_Pissarro_Lordship_Lane_Station.jpg
index 2c2b83f..b6e4ff1 100644
Binary files a/data/images/paintings/Camille_Pissarro_Lordship_Lane_Station.jpg and b/data/images/paintings/Camille_Pissarro_Lordship_Lane_Station.jpg differ
diff --git a/data/images/paintings/Camille_Pissarro_Red_Roofs.jpg b/data/images/paintings/Camille_Pissarro_Red_Roofs.jpg
index 2c2b83f..d11c6ae 100644
Binary files a/data/images/paintings/Camille_Pissarro_Red_Roofs.jpg and b/data/images/paintings/Camille_Pissarro_Red_Roofs.jpg differ
diff --git a/data/images/paintings/Camille_Pissarro_The_Harvest.jpg b/data/images/paintings/Camille_Pissarro_The_Harvest.jpg
index 00e42f0..2da5028 100644
Binary files a/data/images/paintings/Camille_Pissarro_The_Harvest.jpg and b/data/images/paintings/Camille_Pissarro_The_Harvest.jpg differ
diff --git a/data/images/paintings/Caravaggio_David_with_the_Head_of_Goliath.jpg b/data/images/paintings/Caravaggio_David_with_the_Head_of_Goliath.jpg
index 95c5781..7521d16 100644
Binary files a/data/images/paintings/Caravaggio_David_with_the_Head_of_Goliath.jpg and b/data/images/paintings/Caravaggio_David_with_the_Head_of_Goliath.jpg differ
diff --git a/data/images/paintings/Cimabue_Assumption_of_Mary.jpg b/data/images/paintings/Cimabue_Assumption_of_Mary.jpg
index a6c74a1..3fd5dd2 100644
Binary files a/data/images/paintings/Cimabue_Assumption_of_Mary.jpg and b/data/images/paintings/Cimabue_Assumption_of_Mary.jpg differ
diff --git a/data/images/paintings/Cimabue_Christ_and_Mary_in_glory.jpg b/data/images/paintings/Cimabue_Christ_and_Mary_in_glory.jpg
index eac694f..77a8f61 100644
Binary files a/data/images/paintings/Cimabue_Christ_and_Mary_in_glory.jpg and b/data/images/paintings/Cimabue_Christ_and_Mary_in_glory.jpg differ
diff --git a/data/images/paintings/Cimabue_Christ_at_the_Apocalypse.jpg b/data/images/paintings/Cimabue_Christ_at_the_Apocalypse.jpg
index 5047e94..867a0aa 100644
Binary files a/data/images/paintings/Cimabue_Christ_at_the_Apocalypse.jpg and b/data/images/paintings/Cimabue_Christ_at_the_Apocalypse.jpg differ
diff --git a/data/images/paintings/Cimabue_Crucifixion.jpg b/data/images/paintings/Cimabue_Crucifixion.jpg
index 2df3887..67fa719 100644
Binary files a/data/images/paintings/Cimabue_Crucifixion.jpg and b/data/images/paintings/Cimabue_Crucifixion.jpg differ
diff --git a/data/images/paintings/Cimabue_Dormition.jpg b/data/images/paintings/Cimabue_Dormition.jpg
index 2df3887..5de8e86 100644
Binary files a/data/images/paintings/Cimabue_Dormition.jpg and b/data/images/paintings/Cimabue_Dormition.jpg differ
diff --git a/data/images/paintings/Cimabue_Fall_of_Babylon.jpg b/data/images/paintings/Cimabue_Fall_of_Babylon.jpg
index 2df3887..e414290 100644
Binary files a/data/images/paintings/Cimabue_Fall_of_Babylon.jpg and b/data/images/paintings/Cimabue_Fall_of_Babylon.jpg differ
diff --git a/data/images/paintings/Cimabue_Fall_of_Simon_Magus.jpg b/data/images/paintings/Cimabue_Fall_of_Simon_Magus.jpg
index 9362168..ec88e10 100644
Binary files a/data/images/paintings/Cimabue_Fall_of_Simon_Magus.jpg and b/data/images/paintings/Cimabue_Fall_of_Simon_Magus.jpg differ
diff --git a/data/images/paintings/Cimabue_Fragment_of_angels.jpg b/data/images/paintings/Cimabue_Fragment_of_angels.jpg
index a6c74a1..f8f1454 100644
Binary files a/data/images/paintings/Cimabue_Fragment_of_angels.jpg and b/data/images/paintings/Cimabue_Fragment_of_angels.jpg differ
diff --git a/data/images/paintings/Cimabue_Madone_and_Child.jpg b/data/images/paintings/Cimabue_Madone_and_Child.jpg
new file mode 100644
index 0000000..cae3ca4
Binary files /dev/null and b/data/images/paintings/Cimabue_Madone_and_Child.jpg differ
diff --git a/data/images/paintings/Cimabue_Madonna_Enthroned_with_the_Child__St_Francis_and_Four_Angels.jpg b/data/images/paintings/Cimabue_Madonna_Enthroned_with_the_Child__St_Francis_and_Four_Angels.jpg
index bbb9871..7713c40 100644
Binary files a/data/images/paintings/Cimabue_Madonna_Enthroned_with_the_Child__St_Francis_and_Four_Angels.jpg and b/data/images/paintings/Cimabue_Madonna_Enthroned_with_the_Child__St_Francis_and_Four_Angels.jpg differ
diff --git a/data/images/paintings/Cimabue_Miracle_of_Saint_Peter.jpg b/data/images/paintings/Cimabue_Miracle_of_Saint_Peter.jpg
index 86ce94c..a6b37d0 100644
Binary files a/data/images/paintings/Cimabue_Miracle_of_Saint_Peter.jpg and b/data/images/paintings/Cimabue_Miracle_of_Saint_Peter.jpg differ
diff --git a/data/images/paintings/Cimabue_Nativity_and_marriage_of_the_virgin.jpg b/data/images/paintings/Cimabue_Nativity_and_marriage_of_the_virgin.jpg
index 95c03df..a2b0d06 100644
Binary files a/data/images/paintings/Cimabue_Nativity_and_marriage_of_the_virgin.jpg and b/data/images/paintings/Cimabue_Nativity_and_marriage_of_the_virgin.jpg differ
diff --git a/data/images/paintings/Cimabue_Peter_heals_a_lame_man.jpg b/data/images/paintings/Cimabue_Peter_heals_a_lame_man.jpg
index 26ac892..8be3e44 100644
Binary files a/data/images/paintings/Cimabue_Peter_heals_a_lame_man.jpg and b/data/images/paintings/Cimabue_Peter_heals_a_lame_man.jpg differ
diff --git a/data/images/paintings/Cimabue_St_Michael_and_the_Dragon_by_Cimabue.jpg b/data/images/paintings/Cimabue_St_Michael_and_the_Dragon_by_Cimabue.jpg
index 89c1cf0..77b8d48 100644
Binary files a/data/images/paintings/Cimabue_St_Michael_and_the_Dragon_by_Cimabue.jpg and b/data/images/paintings/Cimabue_St_Michael_and_the_Dragon_by_Cimabue.jpg differ
diff --git a/data/images/paintings/Cimabue_The_Flagellation_of_Christ.jpg b/data/images/paintings/Cimabue_The_Flagellation_of_Christ.jpg
index 7bafedd..6a02dd2 100644
Binary files a/data/images/paintings/Cimabue_The_Flagellation_of_Christ.jpg and b/data/images/paintings/Cimabue_The_Flagellation_of_Christ.jpg differ
diff --git a/data/images/paintings/Cimabue_The_Mocking_of_Christ.jpg b/data/images/paintings/Cimabue_The_Mocking_of_Christ.jpg
new file mode 100644
index 0000000..2d2f08e
Binary files /dev/null and b/data/images/paintings/Cimabue_The_Mocking_of_Christ.jpg differ
diff --git a/data/images/paintings/Cimabue_The_Virgin_and_Child_with_Two_Angels.jpg b/data/images/paintings/Cimabue_The_Virgin_and_Child_with_Two_Angels.jpg
index 11dfef2..7d27257 100644
Binary files a/data/images/paintings/Cimabue_The_Virgin_and_Child_with_Two_Angels.jpg and b/data/images/paintings/Cimabue_The_Virgin_and_Child_with_Two_Angels.jpg differ
diff --git a/data/images/paintings/Cimabue_Vault_of_the_Evangelists.jpg b/data/images/paintings/Cimabue_Vault_of_the_Evangelists.jpg
new file mode 100644
index 0000000..d031c5f
Binary files /dev/null and b/data/images/paintings/Cimabue_Vault_of_the_Evangelists.jpg differ
diff --git a/data/images/paintings/Cimabue_Vision_of_Angels_at_the_Four_Corners_of_the_Earth.jpg b/data/images/paintings/Cimabue_Vision_of_Angels_at_the_Four_Corners_of_the_Earth.jpg
index 22fb1a1..34e3159 100644
Binary files a/data/images/paintings/Cimabue_Vision_of_Angels_at_the_Four_Corners_of_the_Earth.jpg and b/data/images/paintings/Cimabue_Vision_of_Angels_at_the_Four_Corners_of_the_Earth.jpg differ
diff --git a/data/images/paintings/Cimabue_Vision_of_Saint_John_at_Patmos.jpg b/data/images/paintings/Cimabue_Vision_of_Saint_John_at_Patmos.jpg
index 22fb1a1..6f466a5 100644
Binary files a/data/images/paintings/Cimabue_Vision_of_Saint_John_at_Patmos.jpg and b/data/images/paintings/Cimabue_Vision_of_Saint_John_at_Patmos.jpg differ
diff --git a/data/images/paintings/Cimabue_Vision_of_the_Throne.jpg b/data/images/paintings/Cimabue_Vision_of_the_Throne.jpg
index 98f49fb..a9442b7 100644
Binary files a/data/images/paintings/Cimabue_Vision_of_the_Throne.jpg and b/data/images/paintings/Cimabue_Vision_of_the_Throne.jpg differ
diff --git a/data/images/paintings/thumbs/Albrecht_D_rer_Abduction_of_a_Woman_thumb.jpg b/data/images/paintings/thumbs/Albrecht_D_rer_Abduction_of_a_Woman_thumb.jpg
index 75e74fd..edee2ea 100644
Binary files a/data/images/paintings/thumbs/Albrecht_D_rer_Abduction_of_a_Woman_thumb.jpg and b/data/images/paintings/thumbs/Albrecht_D_rer_Abduction_of_a_Woman_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Albrecht_D_rer_An_Oriental_Ruler_Seated_on_His_Throne_thumb.jpg b/data/images/paintings/thumbs/Albrecht_D_rer_An_Oriental_Ruler_Seated_on_His_Throne_thumb.jpg
index 9b963f2..36d86e7 100644
Binary files a/data/images/paintings/thumbs/Albrecht_D_rer_An_Oriental_Ruler_Seated_on_His_Throne_thumb.jpg and b/data/images/paintings/thumbs/Albrecht_D_rer_An_Oriental_Ruler_Seated_on_His_Throne_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Albrecht_D_rer_Christ_and_Mary_Magdalene__Noli_me_Tangere__thumb.jpg b/data/images/paintings/thumbs/Albrecht_D_rer_Christ_and_Mary_Magdalene__Noli_me_Tangere__thumb.jpg
index cd9dc6f..528fe62 100644
Binary files a/data/images/paintings/thumbs/Albrecht_D_rer_Christ_and_Mary_Magdalene__Noli_me_Tangere__thumb.jpg and b/data/images/paintings/thumbs/Albrecht_D_rer_Christ_and_Mary_Magdalene__Noli_me_Tangere__thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Albrecht_D_rer_Circumcision_of_Jesus_thumb.jpg b/data/images/paintings/thumbs/Albrecht_D_rer_Circumcision_of_Jesus_thumb.jpg
index 37a2cc2..33675ae 100644
Binary files a/data/images/paintings/thumbs/Albrecht_D_rer_Circumcision_of_Jesus_thumb.jpg and b/data/images/paintings/thumbs/Albrecht_D_rer_Circumcision_of_Jesus_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Albrecht_D_rer_Columbine_thumb.jpg b/data/images/paintings/thumbs/Albrecht_D_rer_Columbine_thumb.jpg
index 9b963f2..15cbe3f 100644
Binary files a/data/images/paintings/thumbs/Albrecht_D_rer_Columbine_thumb.jpg and b/data/images/paintings/thumbs/Albrecht_D_rer_Columbine_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Albrecht_D_rer_Courtyard_of_Innsbruck_Castle_With_Clouds_thumb.jpg b/data/images/paintings/thumbs/Albrecht_D_rer_Courtyard_of_Innsbruck_Castle_With_Clouds_thumb.jpg
index 5f546a1..8fccfc0 100644
Binary files a/data/images/paintings/thumbs/Albrecht_D_rer_Courtyard_of_Innsbruck_Castle_With_Clouds_thumb.jpg and b/data/images/paintings/thumbs/Albrecht_D_rer_Courtyard_of_Innsbruck_Castle_With_Clouds_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Albrecht_D_rer_Courtyard_of_Innsbruck_Castle__Without_Clouds__thumb.jpg b/data/images/paintings/thumbs/Albrecht_D_rer_Courtyard_of_Innsbruck_Castle__Without_Clouds__thumb.jpg
index 5f546a1..8fccfc0 100644
Binary files a/data/images/paintings/thumbs/Albrecht_D_rer_Courtyard_of_Innsbruck_Castle__Without_Clouds__thumb.jpg and b/data/images/paintings/thumbs/Albrecht_D_rer_Courtyard_of_Innsbruck_Castle__Without_Clouds__thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Albrecht_D_rer_Crucifixion_thumb.jpg b/data/images/paintings/thumbs/Albrecht_D_rer_Crucifixion_thumb.jpg
index f2fffcf..95d3e70 100644
Binary files a/data/images/paintings/thumbs/Albrecht_D_rer_Crucifixion_thumb.jpg and b/data/images/paintings/thumbs/Albrecht_D_rer_Crucifixion_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Albrecht_D_rer_Emperor_Maximilan_I___1459-1519__thumb.jpg b/data/images/paintings/thumbs/Albrecht_D_rer_Emperor_Maximilan_I___1459-1519__thumb.jpg
index f07af6c..4f266bf 100644
Binary files a/data/images/paintings/thumbs/Albrecht_D_rer_Emperor_Maximilan_I___1459-1519__thumb.jpg and b/data/images/paintings/thumbs/Albrecht_D_rer_Emperor_Maximilan_I___1459-1519__thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Albrecht_D_rer_En_f_nrik_thumb.jpg b/data/images/paintings/thumbs/Albrecht_D_rer_En_f_nrik_thumb.jpg
index 9b963f2..f0dce85 100644
Binary files a/data/images/paintings/thumbs/Albrecht_D_rer_En_f_nrik_thumb.jpg and b/data/images/paintings/thumbs/Albrecht_D_rer_En_f_nrik_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Albrecht_D_rer_Flight_to_Egypt_thumb.jpg b/data/images/paintings/thumbs/Albrecht_D_rer_Flight_to_Egypt_thumb.jpg
index 9b963f2..820a93e 100644
Binary files a/data/images/paintings/thumbs/Albrecht_D_rer_Flight_to_Egypt_thumb.jpg and b/data/images/paintings/thumbs/Albrecht_D_rer_Flight_to_Egypt_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Albrecht_D_rer_Four_Medicinal_Herbs_thumb.jpg b/data/images/paintings/thumbs/Albrecht_D_rer_Four_Medicinal_Herbs_thumb.jpg
index 9b963f2..da8951b 100644
Binary files a/data/images/paintings/thumbs/Albrecht_D_rer_Four_Medicinal_Herbs_thumb.jpg and b/data/images/paintings/thumbs/Albrecht_D_rer_Four_Medicinal_Herbs_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Albrecht_D_rer_Head_of_a_young_woman_thumb.jpg b/data/images/paintings/thumbs/Albrecht_D_rer_Head_of_a_young_woman_thumb.jpg
index d4f7ed7..432190d 100644
Binary files a/data/images/paintings/thumbs/Albrecht_D_rer_Head_of_a_young_woman_thumb.jpg and b/data/images/paintings/thumbs/Albrecht_D_rer_Head_of_a_young_woman_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Albrecht_D_rer_Lion_thumb.jpg b/data/images/paintings/thumbs/Albrecht_D_rer_Lion_thumb.jpg
index 2bab22b..8809402 100644
Binary files a/data/images/paintings/thumbs/Albrecht_D_rer_Lion_thumb.jpg and b/data/images/paintings/thumbs/Albrecht_D_rer_Lion_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Albrecht_D_rer_Lot_and_his_daughters_thumb.jpg b/data/images/paintings/thumbs/Albrecht_D_rer_Lot_and_his_daughters_thumb.jpg
index 9b963f2..ec99c4f 100644
Binary files a/data/images/paintings/thumbs/Albrecht_D_rer_Lot_and_his_daughters_thumb.jpg and b/data/images/paintings/thumbs/Albrecht_D_rer_Lot_and_his_daughters_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Albrecht_D_rer_Marriage_Coat_of_Arms_of_the_Families_Duerer_and_Holper__Verso_of_the_Albrecht_D_rer_the_Elder_portrait_thumb.jpg b/data/images/paintings/thumbs/Albrecht_D_rer_Marriage_Coat_of_Arms_of_the_Families_Duerer_and_Holper__Verso_of_the_Albrecht_D_rer_the_Elder_portrait_thumb.jpg
index 9b963f2..4238e4a 100644
Binary files a/data/images/paintings/thumbs/Albrecht_D_rer_Marriage_Coat_of_Arms_of_the_Families_Duerer_and_Holper__Verso_of_the_Albrecht_D_rer_the_Elder_portrait_thumb.jpg and b/data/images/paintings/thumbs/Albrecht_D_rer_Marriage_Coat_of_Arms_of_the_Families_Duerer_and_Holper__Verso_of_the_Albrecht_D_rer_the_Elder_portrait_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Albrecht_D_rer_Not_this_Man_but_Barabbas_thumb.jpg b/data/images/paintings/thumbs/Albrecht_D_rer_Not_this_Man_but_Barabbas_thumb.jpg
index 9b963f2..c6fbd58 100644
Binary files a/data/images/paintings/thumbs/Albrecht_D_rer_Not_this_Man_but_Barabbas_thumb.jpg and b/data/images/paintings/thumbs/Albrecht_D_rer_Not_this_Man_but_Barabbas_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Albrecht_D_rer_Portrait_of_Barbara_Holper_thumb.jpg b/data/images/paintings/thumbs/Albrecht_D_rer_Portrait_of_Barbara_Holper_thumb.jpg
index 4702e21..bf4959c 100644
Binary files a/data/images/paintings/thumbs/Albrecht_D_rer_Portrait_of_Barbara_Holper_thumb.jpg and b/data/images/paintings/thumbs/Albrecht_D_rer_Portrait_of_Barbara_Holper_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Albrecht_D_rer_Portrait_of_a_man_thumb.jpg b/data/images/paintings/thumbs/Albrecht_D_rer_Portrait_of_a_man_thumb.jpg
index 414f0a0..79f18d1 100644
Binary files a/data/images/paintings/thumbs/Albrecht_D_rer_Portrait_of_a_man_thumb.jpg and b/data/images/paintings/thumbs/Albrecht_D_rer_Portrait_of_a_man_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Albrecht_D_rer_Portrait_of_the_artist_s_father_thumb.jpg b/data/images/paintings/thumbs/Albrecht_D_rer_Portrait_of_the_artist_s_father_thumb.jpg
index a393bdd..607fadb 100644
Binary files a/data/images/paintings/thumbs/Albrecht_D_rer_Portrait_of_the_artist_s_father_thumb.jpg and b/data/images/paintings/thumbs/Albrecht_D_rer_Portrait_of_the_artist_s_father_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Albrecht_D_rer_Saint_Augustine_with_Six_Canons_thumb.jpg b/data/images/paintings/thumbs/Albrecht_D_rer_Saint_Augustine_with_Six_Canons_thumb.jpg
index 9b963f2..87b4888 100644
Binary files a/data/images/paintings/thumbs/Albrecht_D_rer_Saint_Augustine_with_Six_Canons_thumb.jpg and b/data/images/paintings/thumbs/Albrecht_D_rer_Saint_Augustine_with_Six_Canons_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Albrecht_D_rer_Saint_Jerome_in_His_Study_thumb.jpg b/data/images/paintings/thumbs/Albrecht_D_rer_Saint_Jerome_in_His_Study_thumb.jpg
index 5f546a1..d88beb2 100644
Binary files a/data/images/paintings/thumbs/Albrecht_D_rer_Saint_Jerome_in_His_Study_thumb.jpg and b/data/images/paintings/thumbs/Albrecht_D_rer_Saint_Jerome_in_His_Study_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Albrecht_D_rer_Saint_Jerome_thumb.jpg b/data/images/paintings/thumbs/Albrecht_D_rer_Saint_Jerome_thumb.jpg
index 5f546a1..d88beb2 100644
Binary files a/data/images/paintings/thumbs/Albrecht_D_rer_Saint_Jerome_thumb.jpg and b/data/images/paintings/thumbs/Albrecht_D_rer_Saint_Jerome_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Albrecht_D_rer_Saint_Thomas_Aquinas_and_Saint_Christopher_thumb.jpg b/data/images/paintings/thumbs/Albrecht_D_rer_Saint_Thomas_Aquinas_and_Saint_Christopher_thumb.jpg
index 9b963f2..6d4e49a 100644
Binary files a/data/images/paintings/thumbs/Albrecht_D_rer_Saint_Thomas_Aquinas_and_Saint_Christopher_thumb.jpg and b/data/images/paintings/thumbs/Albrecht_D_rer_Saint_Thomas_Aquinas_and_Saint_Christopher_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Albrecht_D_rer_Self-portrait_at_Thirteen_thumb.jpg b/data/images/paintings/thumbs/Albrecht_D_rer_Self-portrait_at_Thirteen_thumb.jpg
index d2f1993..d7dae8f 100644
Binary files a/data/images/paintings/thumbs/Albrecht_D_rer_Self-portrait_at_Thirteen_thumb.jpg and b/data/images/paintings/thumbs/Albrecht_D_rer_Self-portrait_at_Thirteen_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Albrecht_D_rer_Seven_Sorrows_Polyptych__Christ_among_the_Doctors_thumb.jpg b/data/images/paintings/thumbs/Albrecht_D_rer_Seven_Sorrows_Polyptych__Christ_among_the_Doctors_thumb.jpg
index 9b963f2..c252104 100644
Binary files a/data/images/paintings/thumbs/Albrecht_D_rer_Seven_Sorrows_Polyptych__Christ_among_the_Doctors_thumb.jpg and b/data/images/paintings/thumbs/Albrecht_D_rer_Seven_Sorrows_Polyptych__Christ_among_the_Doctors_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Albrecht_D_rer_Strid_emellan_St_Michael_och_Drakarna_thumb.jpg b/data/images/paintings/thumbs/Albrecht_D_rer_Strid_emellan_St_Michael_och_Drakarna_thumb.jpg
index 9b963f2..4ea0ffc 100644
Binary files a/data/images/paintings/thumbs/Albrecht_D_rer_Strid_emellan_St_Michael_och_Drakarna_thumb.jpg and b/data/images/paintings/thumbs/Albrecht_D_rer_Strid_emellan_St_Michael_och_Drakarna_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Albrecht_D_rer_The_Death_of_Orpheus_thumb.jpg b/data/images/paintings/thumbs/Albrecht_D_rer_The_Death_of_Orpheus_thumb.jpg
index 8a07514..1d440db 100644
Binary files a/data/images/paintings/thumbs/Albrecht_D_rer_The_Death_of_Orpheus_thumb.jpg and b/data/images/paintings/thumbs/Albrecht_D_rer_The_Death_of_Orpheus_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Albrecht_D_rer_The_Holy_Family_thumb.jpg b/data/images/paintings/thumbs/Albrecht_D_rer_The_Holy_Family_thumb.jpg
index ac86bd6..3508af7 100644
Binary files a/data/images/paintings/thumbs/Albrecht_D_rer_The_Holy_Family_thumb.jpg and b/data/images/paintings/thumbs/Albrecht_D_rer_The_Holy_Family_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Albrecht_D_rer_Ung_man_med_m_ssa_p__hufvudet__Br_stbild_i_naturlig_storlek_thumb.jpg b/data/images/paintings/thumbs/Albrecht_D_rer_Ung_man_med_m_ssa_p__hufvudet__Br_stbild_i_naturlig_storlek_thumb.jpg
index 9b963f2..c5098e8 100644
Binary files a/data/images/paintings/thumbs/Albrecht_D_rer_Ung_man_med_m_ssa_p__hufvudet__Br_stbild_i_naturlig_storlek_thumb.jpg and b/data/images/paintings/thumbs/Albrecht_D_rer_Ung_man_med_m_ssa_p__hufvudet__Br_stbild_i_naturlig_storlek_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Albrecht_D_rer_Venus_and_the_Three_Graces_thumb.jpg b/data/images/paintings/thumbs/Albrecht_D_rer_Venus_and_the_Three_Graces_thumb.jpg
index 9b963f2..ca0b9c3 100644
Binary files a/data/images/paintings/thumbs/Albrecht_D_rer_Venus_and_the_Three_Graces_thumb.jpg and b/data/images/paintings/thumbs/Albrecht_D_rer_Venus_and_the_Three_Graces_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Albrecht_D_rer_Via_Crucis_thumb.jpg b/data/images/paintings/thumbs/Albrecht_D_rer_Via_Crucis_thumb.jpg
index 9b963f2..de9f2f0 100644
Binary files a/data/images/paintings/thumbs/Albrecht_D_rer_Via_Crucis_thumb.jpg and b/data/images/paintings/thumbs/Albrecht_D_rer_Via_Crucis_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Albrecht_D_rer_Wire_drawing_mill_near_Nyremberg_thumb.jpg b/data/images/paintings/thumbs/Albrecht_D_rer_Wire_drawing_mill_near_Nyremberg_thumb.jpg
index 9b963f2..0fc5a47 100644
Binary files a/data/images/paintings/thumbs/Albrecht_D_rer_Wire_drawing_mill_near_Nyremberg_thumb.jpg and b/data/images/paintings/thumbs/Albrecht_D_rer_Wire_drawing_mill_near_Nyremberg_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Alexander_Rodchenko_Assembleia_thumb.jpg b/data/images/paintings/thumbs/Alexander_Rodchenko_Assembleia_thumb.jpg
index b7b2e40..ecb6286 100644
Binary files a/data/images/paintings/thumbs/Alexander_Rodchenko_Assembleia_thumb.jpg and b/data/images/paintings/thumbs/Alexander_Rodchenko_Assembleia_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Alexander_Rodchenko_Books__Please___In_All_Branches_of_Knowledge_thumb.jpg b/data/images/paintings/thumbs/Alexander_Rodchenko_Books__Please___In_All_Branches_of_Knowledge_thumb.jpg
index b7b2e40..a778373 100644
Binary files a/data/images/paintings/thumbs/Alexander_Rodchenko_Books__Please___In_All_Branches_of_Knowledge_thumb.jpg and b/data/images/paintings/thumbs/Alexander_Rodchenko_Books__Please___In_All_Branches_of_Knowledge_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Alexander_Rodchenko_Dance__An_Objectless_Composition_thumb.jpg b/data/images/paintings/thumbs/Alexander_Rodchenko_Dance__An_Objectless_Composition_thumb.jpg
index b7b2e40..889b188 100644
Binary files a/data/images/paintings/thumbs/Alexander_Rodchenko_Dance__An_Objectless_Composition_thumb.jpg and b/data/images/paintings/thumbs/Alexander_Rodchenko_Dance__An_Objectless_Composition_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Alexander_Rodchenko_Girl_with_a_Leica_thumb.jpg b/data/images/paintings/thumbs/Alexander_Rodchenko_Girl_with_a_Leica_thumb.jpg
index 98057e8..bd733f4 100644
Binary files a/data/images/paintings/thumbs/Alexander_Rodchenko_Girl_with_a_Leica_thumb.jpg and b/data/images/paintings/thumbs/Alexander_Rodchenko_Girl_with_a_Leica_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Alexander_Rodchenko_Stenberg_Brothers_Exhibition_Poster_thumb.jpg b/data/images/paintings/thumbs/Alexander_Rodchenko_Stenberg_Brothers_Exhibition_Poster_thumb.jpg
index 98057e8..ade419c 100644
Binary files a/data/images/paintings/thumbs/Alexander_Rodchenko_Stenberg_Brothers_Exhibition_Poster_thumb.jpg and b/data/images/paintings/thumbs/Alexander_Rodchenko_Stenberg_Brothers_Exhibition_Poster_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Alphonse_Mucha_Job_Cigarette_Papers_thumb.jpg b/data/images/paintings/thumbs/Alphonse_Mucha_Job_Cigarette_Papers_thumb.jpg
index a1b7bc2..615b965 100644
Binary files a/data/images/paintings/thumbs/Alphonse_Mucha_Job_Cigarette_Papers_thumb.jpg and b/data/images/paintings/thumbs/Alphonse_Mucha_Job_Cigarette_Papers_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Alphonse_Mucha_Monaco_Monte_Carlo_thumb.jpg b/data/images/paintings/thumbs/Alphonse_Mucha_Monaco_Monte_Carlo_thumb.jpg
index a1b7bc2..723c994 100644
Binary files a/data/images/paintings/thumbs/Alphonse_Mucha_Monaco_Monte_Carlo_thumb.jpg and b/data/images/paintings/thumbs/Alphonse_Mucha_Monaco_Monte_Carlo_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Alphonse_Mucha_Princess_Hyacinth_thumb.jpg b/data/images/paintings/thumbs/Alphonse_Mucha_Princess_Hyacinth_thumb.jpg
index a1b7bc2..a7fe08c 100644
Binary files a/data/images/paintings/thumbs/Alphonse_Mucha_Princess_Hyacinth_thumb.jpg and b/data/images/paintings/thumbs/Alphonse_Mucha_Princess_Hyacinth_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Alphonse_Mucha_The_Seasons_thumb.jpg b/data/images/paintings/thumbs/Alphonse_Mucha_The_Seasons_thumb.jpg
index a1b7bc2..98364b7 100644
Binary files a/data/images/paintings/thumbs/Alphonse_Mucha_The_Seasons_thumb.jpg and b/data/images/paintings/thumbs/Alphonse_Mucha_The_Seasons_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Andr__Derain_Charing_Cross_Bridge_thumb.jpg b/data/images/paintings/thumbs/Andr__Derain_Charing_Cross_Bridge_thumb.jpg
index 29141ec..fbc7dc7 100644
Binary files a/data/images/paintings/thumbs/Andr__Derain_Charing_Cross_Bridge_thumb.jpg and b/data/images/paintings/thumbs/Andr__Derain_Charing_Cross_Bridge_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Andr__Derain_London_Bridge_thumb.jpg b/data/images/paintings/thumbs/Andr__Derain_London_Bridge_thumb.jpg
index 8a7f4c1..a34e173 100644
Binary files a/data/images/paintings/thumbs/Andr__Derain_London_Bridge_thumb.jpg and b/data/images/paintings/thumbs/Andr__Derain_London_Bridge_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Andr__Derain_Portrait_of_Henri_Matisse_thumb.jpg b/data/images/paintings/thumbs/Andr__Derain_Portrait_of_Henri_Matisse_thumb.jpg
index 4702e21..1d5b07c 100644
Binary files a/data/images/paintings/thumbs/Andr__Derain_Portrait_of_Henri_Matisse_thumb.jpg and b/data/images/paintings/thumbs/Andr__Derain_Portrait_of_Henri_Matisse_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Andr__Derain_The_Dance_thumb.jpg b/data/images/paintings/thumbs/Andr__Derain_The_Dance_thumb.jpg
index 187b021..f6ea276 100644
Binary files a/data/images/paintings/thumbs/Andr__Derain_The_Dance_thumb.jpg and b/data/images/paintings/thumbs/Andr__Derain_The_Dance_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Andr__Derain_The_Pool_of_London_thumb.jpg b/data/images/paintings/thumbs/Andr__Derain_The_Pool_of_London_thumb.jpg
index 187b021..7ff3534 100644
Binary files a/data/images/paintings/thumbs/Andr__Derain_The_Pool_of_London_thumb.jpg and b/data/images/paintings/thumbs/Andr__Derain_The_Pool_of_London_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Andrei_Rublev_Archangel_Michael_thumb.jpg b/data/images/paintings/thumbs/Andrei_Rublev_Archangel_Michael_thumb.jpg
index ca1b853..7d3122e 100644
Binary files a/data/images/paintings/thumbs/Andrei_Rublev_Archangel_Michael_thumb.jpg and b/data/images/paintings/thumbs/Andrei_Rublev_Archangel_Michael_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Andrei_Rublev_Hospitality_of_Abraham_thumb.jpg b/data/images/paintings/thumbs/Andrei_Rublev_Hospitality_of_Abraham_thumb.jpg
index df0d7e7..8935947 100644
Binary files a/data/images/paintings/thumbs/Andrei_Rublev_Hospitality_of_Abraham_thumb.jpg and b/data/images/paintings/thumbs/Andrei_Rublev_Hospitality_of_Abraham_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Andrei_Rublev_Icon_with_the_Eastern_Orthodox_Trinity_thumb.jpg b/data/images/paintings/thumbs/Andrei_Rublev_Icon_with_the_Eastern_Orthodox_Trinity_thumb.jpg
new file mode 100644
index 0000000..0388e8c
Binary files /dev/null and b/data/images/paintings/thumbs/Andrei_Rublev_Icon_with_the_Eastern_Orthodox_Trinity_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Andrei_Rublev_Trinity_icon_thumb.jpg b/data/images/paintings/thumbs/Andrei_Rublev_Trinity_icon_thumb.jpg
index d2f7e88..a82982d 100644
Binary files a/data/images/paintings/thumbs/Andrei_Rublev_Trinity_icon_thumb.jpg and b/data/images/paintings/thumbs/Andrei_Rublev_Trinity_icon_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Andy_Warhol_Brillo_Box_thumb.jpg b/data/images/paintings/thumbs/Andy_Warhol_Brillo_Box_thumb.jpg
index 9618419..5b80a37 100644
Binary files a/data/images/paintings/thumbs/Andy_Warhol_Brillo_Box_thumb.jpg and b/data/images/paintings/thumbs/Andy_Warhol_Brillo_Box_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Andy_Warhol_Campbell_s_Soup_Cans_thumb.jpg b/data/images/paintings/thumbs/Andy_Warhol_Campbell_s_Soup_Cans_thumb.jpg
index 9618419..e19428d 100644
Binary files a/data/images/paintings/thumbs/Andy_Warhol_Campbell_s_Soup_Cans_thumb.jpg and b/data/images/paintings/thumbs/Andy_Warhol_Campbell_s_Soup_Cans_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Andy_Warhol_Eight_Elvises_thumb.jpg b/data/images/paintings/thumbs/Andy_Warhol_Eight_Elvises_thumb.jpg
index 9618419..55f05c0 100644
Binary files a/data/images/paintings/thumbs/Andy_Warhol_Eight_Elvises_thumb.jpg and b/data/images/paintings/thumbs/Andy_Warhol_Eight_Elvises_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Andy_Warhol_Green_Coca-Cola_Bottles_thumb.jpg b/data/images/paintings/thumbs/Andy_Warhol_Green_Coca-Cola_Bottles_thumb.jpg
index 9618419..7f67d9b 100644
Binary files a/data/images/paintings/thumbs/Andy_Warhol_Green_Coca-Cola_Bottles_thumb.jpg and b/data/images/paintings/thumbs/Andy_Warhol_Green_Coca-Cola_Bottles_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Andy_Warhol_Marilyn_Diptych_thumb.jpg b/data/images/paintings/thumbs/Andy_Warhol_Marilyn_Diptych_thumb.jpg
index 9618419..61e034a 100644
Binary files a/data/images/paintings/thumbs/Andy_Warhol_Marilyn_Diptych_thumb.jpg and b/data/images/paintings/thumbs/Andy_Warhol_Marilyn_Diptych_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Andy_Warhol_Shot_Sage_Blue_Marilyn_thumb.jpg b/data/images/paintings/thumbs/Andy_Warhol_Shot_Sage_Blue_Marilyn_thumb.jpg
index 9618419..25d7cde 100644
Binary files a/data/images/paintings/thumbs/Andy_Warhol_Shot_Sage_Blue_Marilyn_thumb.jpg and b/data/images/paintings/thumbs/Andy_Warhol_Shot_Sage_Blue_Marilyn_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Angelica_Kauffman_Cornelia__Mother_of_the_Gracchi_thumb.jpg b/data/images/paintings/thumbs/Angelica_Kauffman_Cornelia__Mother_of_the_Gracchi_thumb.jpg
index 8cee0a4..dc9f496 100644
Binary files a/data/images/paintings/thumbs/Angelica_Kauffman_Cornelia__Mother_of_the_Gracchi_thumb.jpg and b/data/images/paintings/thumbs/Angelica_Kauffman_Cornelia__Mother_of_the_Gracchi_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Angelica_Kauffman_Portrait_of_Johann_Joachim_Winckelmann_thumb.jpg b/data/images/paintings/thumbs/Angelica_Kauffman_Portrait_of_Johann_Joachim_Winckelmann_thumb.jpg
index 9e36626..49c8975 100644
Binary files a/data/images/paintings/thumbs/Angelica_Kauffman_Portrait_of_Johann_Joachim_Winckelmann_thumb.jpg and b/data/images/paintings/thumbs/Angelica_Kauffman_Portrait_of_Johann_Joachim_Winckelmann_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Angelica_Kauffman_Rinaldo_and_Armida_thumb.jpg b/data/images/paintings/thumbs/Angelica_Kauffman_Rinaldo_and_Armida_thumb.jpg
index 59bbdd2..4c128c2 100644
Binary files a/data/images/paintings/thumbs/Angelica_Kauffman_Rinaldo_and_Armida_thumb.jpg and b/data/images/paintings/thumbs/Angelica_Kauffman_Rinaldo_and_Armida_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Angelica_Kauffman_Self-Portrait_of_the_Artist_Hesitating_Between_the_Arts_of_Music_and_Painting_thumb.jpg b/data/images/paintings/thumbs/Angelica_Kauffman_Self-Portrait_of_the_Artist_Hesitating_Between_the_Arts_of_Music_and_Painting_thumb.jpg
index d2f1993..fdd0f4f 100644
Binary files a/data/images/paintings/thumbs/Angelica_Kauffman_Self-Portrait_of_the_Artist_Hesitating_Between_the_Arts_of_Music_and_Painting_thumb.jpg and b/data/images/paintings/thumbs/Angelica_Kauffman_Self-Portrait_of_the_Artist_Hesitating_Between_the_Arts_of_Music_and_Painting_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Angelica_Kauffman_Venus_Induces_Helen_to_Fall_in_Love_with_Paris_thumb.jpg b/data/images/paintings/thumbs/Angelica_Kauffman_Venus_Induces_Helen_to_Fall_in_Love_with_Paris_thumb.jpg
index 8d97609..1f4018a 100644
Binary files a/data/images/paintings/thumbs/Angelica_Kauffman_Venus_Induces_Helen_to_Fall_in_Love_with_Paris_thumb.jpg and b/data/images/paintings/thumbs/Angelica_Kauffman_Venus_Induces_Helen_to_Fall_in_Love_with_Paris_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Apelles_Alexander_the_Great_Holding_a_Thunderbolt_thumb.jpg b/data/images/paintings/thumbs/Apelles_Alexander_the_Great_Holding_a_Thunderbolt_thumb.jpg
index 44c7bd0..422fb17 100644
Binary files a/data/images/paintings/thumbs/Apelles_Alexander_the_Great_Holding_a_Thunderbolt_thumb.jpg and b/data/images/paintings/thumbs/Apelles_Alexander_the_Great_Holding_a_Thunderbolt_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Apelles_Aphrodite_Anadyomene_thumb.jpg b/data/images/paintings/thumbs/Apelles_Aphrodite_Anadyomene_thumb.jpg
index 44c7bd0..e1531b1 100644
Binary files a/data/images/paintings/thumbs/Apelles_Aphrodite_Anadyomene_thumb.jpg and b/data/images/paintings/thumbs/Apelles_Aphrodite_Anadyomene_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Apelles_Calumny_of_Apelles_thumb.jpg b/data/images/paintings/thumbs/Apelles_Calumny_of_Apelles_thumb.jpg
index 8c78d8c..32f2164 100644
Binary files a/data/images/paintings/thumbs/Apelles_Calumny_of_Apelles_thumb.jpg and b/data/images/paintings/thumbs/Apelles_Calumny_of_Apelles_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Apelles_Campaspe_thumb.jpg b/data/images/paintings/thumbs/Apelles_Campaspe_thumb.jpg
index 44c7bd0..3f3c068 100644
Binary files a/data/images/paintings/thumbs/Apelles_Campaspe_thumb.jpg and b/data/images/paintings/thumbs/Apelles_Campaspe_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Apelles_Portrait_of_Alexander_thumb.jpg b/data/images/paintings/thumbs/Apelles_Portrait_of_Alexander_thumb.jpg
index 44c7bd0..ce09cc2 100644
Binary files a/data/images/paintings/thumbs/Apelles_Portrait_of_Alexander_thumb.jpg and b/data/images/paintings/thumbs/Apelles_Portrait_of_Alexander_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Apelles_Venus_Anadyomene_thumb.jpg b/data/images/paintings/thumbs/Apelles_Venus_Anadyomene_thumb.jpg
index a3555ee..a811890 100644
Binary files a/data/images/paintings/thumbs/Apelles_Venus_Anadyomene_thumb.jpg and b/data/images/paintings/thumbs/Apelles_Venus_Anadyomene_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Artemisia_Gentileschi_Mary_Magdalene_thumb.jpg b/data/images/paintings/thumbs/Artemisia_Gentileschi_Mary_Magdalene_thumb.jpg
index 0689b19..e429b39 100644
Binary files a/data/images/paintings/thumbs/Artemisia_Gentileschi_Mary_Magdalene_thumb.jpg and b/data/images/paintings/thumbs/Artemisia_Gentileschi_Mary_Magdalene_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Artemisia_Gentileschi_Susanna_and_the_Elders_thumb.jpg b/data/images/paintings/thumbs/Artemisia_Gentileschi_Susanna_and_the_Elders_thumb.jpg
index 1971197..246f033 100644
Binary files a/data/images/paintings/thumbs/Artemisia_Gentileschi_Susanna_and_the_Elders_thumb.jpg and b/data/images/paintings/thumbs/Artemisia_Gentileschi_Susanna_and_the_Elders_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Aubrey_Beardsley_J_ai_bais__ta_bouche_thumb.jpg b/data/images/paintings/thumbs/Aubrey_Beardsley_J_ai_bais__ta_bouche_thumb.jpg
index 20cb0a6..4a2d36b 100644
Binary files a/data/images/paintings/thumbs/Aubrey_Beardsley_J_ai_bais__ta_bouche_thumb.jpg and b/data/images/paintings/thumbs/Aubrey_Beardsley_J_ai_bais__ta_bouche_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Aubrey_Beardsley_The_Black_Cape_thumb.jpg b/data/images/paintings/thumbs/Aubrey_Beardsley_The_Black_Cape_thumb.jpg
index b91d755..18dd6b3 100644
Binary files a/data/images/paintings/thumbs/Aubrey_Beardsley_The_Black_Cape_thumb.jpg and b/data/images/paintings/thumbs/Aubrey_Beardsley_The_Black_Cape_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Aubrey_Beardsley_The_Dancer_s_Reward_thumb.jpg b/data/images/paintings/thumbs/Aubrey_Beardsley_The_Dancer_s_Reward_thumb.jpg
index 20cb0a6..4372d43 100644
Binary files a/data/images/paintings/thumbs/Aubrey_Beardsley_The_Dancer_s_Reward_thumb.jpg and b/data/images/paintings/thumbs/Aubrey_Beardsley_The_Dancer_s_Reward_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Aubrey_Beardsley_The_Peacock_Skirt_thumb.jpg b/data/images/paintings/thumbs/Aubrey_Beardsley_The_Peacock_Skirt_thumb.jpg
index bef6a1e..a60ec1f 100644
Binary files a/data/images/paintings/thumbs/Aubrey_Beardsley_The_Peacock_Skirt_thumb.jpg and b/data/images/paintings/thumbs/Aubrey_Beardsley_The_Peacock_Skirt_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Aubrey_Beardsley_The_Rape_of_the_Lock_thumb.jpg b/data/images/paintings/thumbs/Aubrey_Beardsley_The_Rape_of_the_Lock_thumb.jpg
index 20cb0a6..58672a9 100644
Binary files a/data/images/paintings/thumbs/Aubrey_Beardsley_The_Rape_of_the_Lock_thumb.jpg and b/data/images/paintings/thumbs/Aubrey_Beardsley_The_Rape_of_the_Lock_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Bronzino_An_Allegory_with_Venus_and_Cupid_thumb.jpg b/data/images/paintings/thumbs/Bronzino_An_Allegory_with_Venus_and_Cupid_thumb.jpg
index a766c14..8429315 100644
Binary files a/data/images/paintings/thumbs/Bronzino_An_Allegory_with_Venus_and_Cupid_thumb.jpg and b/data/images/paintings/thumbs/Bronzino_An_Allegory_with_Venus_and_Cupid_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Bronzino_Holy_Family_with_St__Anne_and_the_Infant_St__John_thumb.jpg b/data/images/paintings/thumbs/Bronzino_Holy_Family_with_St__Anne_and_the_Infant_St__John_thumb.jpg
index 22b1cf0..160aca8 100644
Binary files a/data/images/paintings/thumbs/Bronzino_Holy_Family_with_St__Anne_and_the_Infant_St__John_thumb.jpg and b/data/images/paintings/thumbs/Bronzino_Holy_Family_with_St__Anne_and_the_Infant_St__John_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Bronzino_Portrait_of_Cosimo_I_de__Medici_in_Armour_thumb.jpg b/data/images/paintings/thumbs/Bronzino_Portrait_of_Cosimo_I_de__Medici_in_Armour_thumb.jpg
index f185675..370577e 100644
Binary files a/data/images/paintings/thumbs/Bronzino_Portrait_of_Cosimo_I_de__Medici_in_Armour_thumb.jpg and b/data/images/paintings/thumbs/Bronzino_Portrait_of_Cosimo_I_de__Medici_in_Armour_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Bronzino_Portrait_of_Eleonora_di_Toledo_with_her_son_Giovanni_thumb.jpg b/data/images/paintings/thumbs/Bronzino_Portrait_of_Eleonora_di_Toledo_with_her_son_Giovanni_thumb.jpg
index f185675..d99202e 100644
Binary files a/data/images/paintings/thumbs/Bronzino_Portrait_of_Eleonora_di_Toledo_with_her_son_Giovanni_thumb.jpg and b/data/images/paintings/thumbs/Bronzino_Portrait_of_Eleonora_di_Toledo_with_her_son_Giovanni_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Bronzino_Venus__Cupid__Folly_and_Time_thumb.jpg b/data/images/paintings/thumbs/Bronzino_Venus__Cupid__Folly_and_Time_thumb.jpg
index 6ce9d7d..b855746 100644
Binary files a/data/images/paintings/thumbs/Bronzino_Venus__Cupid__Folly_and_Time_thumb.jpg and b/data/images/paintings/thumbs/Bronzino_Venus__Cupid__Folly_and_Time_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Camille_Pissarro_Apple_Picking_at__ragny-sur-Epte_thumb.jpg b/data/images/paintings/thumbs/Camille_Pissarro_Apple_Picking_at__ragny-sur-Epte_thumb.jpg
index 8f2ff2a..41e8b34 100644
Binary files a/data/images/paintings/thumbs/Camille_Pissarro_Apple_Picking_at__ragny-sur-Epte_thumb.jpg and b/data/images/paintings/thumbs/Camille_Pissarro_Apple_Picking_at__ragny-sur-Epte_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Camille_Pissarro_Boulevard_Montmartre_thumb.jpg b/data/images/paintings/thumbs/Camille_Pissarro_Boulevard_Montmartre_thumb.jpg
index 89a4950..48b15d1 100644
Binary files a/data/images/paintings/thumbs/Camille_Pissarro_Boulevard_Montmartre_thumb.jpg and b/data/images/paintings/thumbs/Camille_Pissarro_Boulevard_Montmartre_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Camille_Pissarro_Lordship_Lane_Station_thumb.jpg b/data/images/paintings/thumbs/Camille_Pissarro_Lordship_Lane_Station_thumb.jpg
index 8f2ff2a..259e73b 100644
Binary files a/data/images/paintings/thumbs/Camille_Pissarro_Lordship_Lane_Station_thumb.jpg and b/data/images/paintings/thumbs/Camille_Pissarro_Lordship_Lane_Station_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Camille_Pissarro_Red_Roofs_thumb.jpg b/data/images/paintings/thumbs/Camille_Pissarro_Red_Roofs_thumb.jpg
index 8f2ff2a..ca0a3c1 100644
Binary files a/data/images/paintings/thumbs/Camille_Pissarro_Red_Roofs_thumb.jpg and b/data/images/paintings/thumbs/Camille_Pissarro_Red_Roofs_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Camille_Pissarro_The_Harvest_thumb.jpg b/data/images/paintings/thumbs/Camille_Pissarro_The_Harvest_thumb.jpg
index 0b0474b..063ac73 100644
Binary files a/data/images/paintings/thumbs/Camille_Pissarro_The_Harvest_thumb.jpg and b/data/images/paintings/thumbs/Camille_Pissarro_The_Harvest_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Caravaggio_David_with_the_Head_of_Goliath_thumb.jpg b/data/images/paintings/thumbs/Caravaggio_David_with_the_Head_of_Goliath_thumb.jpg
index 4465907..a10b87c 100644
Binary files a/data/images/paintings/thumbs/Caravaggio_David_with_the_Head_of_Goliath_thumb.jpg and b/data/images/paintings/thumbs/Caravaggio_David_with_the_Head_of_Goliath_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Cimabue_Assumption_of_Mary_thumb.jpg b/data/images/paintings/thumbs/Cimabue_Assumption_of_Mary_thumb.jpg
index 96f12c0..efda0d4 100644
Binary files a/data/images/paintings/thumbs/Cimabue_Assumption_of_Mary_thumb.jpg and b/data/images/paintings/thumbs/Cimabue_Assumption_of_Mary_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Cimabue_Christ_and_Mary_in_glory_thumb.jpg b/data/images/paintings/thumbs/Cimabue_Christ_and_Mary_in_glory_thumb.jpg
index 9acd91b..79f01b3 100644
Binary files a/data/images/paintings/thumbs/Cimabue_Christ_and_Mary_in_glory_thumb.jpg and b/data/images/paintings/thumbs/Cimabue_Christ_and_Mary_in_glory_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Cimabue_Christ_at_the_Apocalypse_thumb.jpg b/data/images/paintings/thumbs/Cimabue_Christ_at_the_Apocalypse_thumb.jpg
index 837c487..fb0283b 100644
Binary files a/data/images/paintings/thumbs/Cimabue_Christ_at_the_Apocalypse_thumb.jpg and b/data/images/paintings/thumbs/Cimabue_Christ_at_the_Apocalypse_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Cimabue_Crucifixion_thumb.jpg b/data/images/paintings/thumbs/Cimabue_Crucifixion_thumb.jpg
index 5d9b47f..d5ef2d7 100644
Binary files a/data/images/paintings/thumbs/Cimabue_Crucifixion_thumb.jpg and b/data/images/paintings/thumbs/Cimabue_Crucifixion_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Cimabue_Dormition_thumb.jpg b/data/images/paintings/thumbs/Cimabue_Dormition_thumb.jpg
index 5d9b47f..c9518b7 100644
Binary files a/data/images/paintings/thumbs/Cimabue_Dormition_thumb.jpg and b/data/images/paintings/thumbs/Cimabue_Dormition_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Cimabue_Fall_of_Babylon_thumb.jpg b/data/images/paintings/thumbs/Cimabue_Fall_of_Babylon_thumb.jpg
index 5d9b47f..3592784 100644
Binary files a/data/images/paintings/thumbs/Cimabue_Fall_of_Babylon_thumb.jpg and b/data/images/paintings/thumbs/Cimabue_Fall_of_Babylon_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Cimabue_Fall_of_Simon_Magus_thumb.jpg b/data/images/paintings/thumbs/Cimabue_Fall_of_Simon_Magus_thumb.jpg
index 6c6fd9f..f032239 100644
Binary files a/data/images/paintings/thumbs/Cimabue_Fall_of_Simon_Magus_thumb.jpg and b/data/images/paintings/thumbs/Cimabue_Fall_of_Simon_Magus_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Cimabue_Fragment_of_angels_thumb.jpg b/data/images/paintings/thumbs/Cimabue_Fragment_of_angels_thumb.jpg
index 96f12c0..c0ae751 100644
Binary files a/data/images/paintings/thumbs/Cimabue_Fragment_of_angels_thumb.jpg and b/data/images/paintings/thumbs/Cimabue_Fragment_of_angels_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Cimabue_Madone_and_Child_thumb.jpg b/data/images/paintings/thumbs/Cimabue_Madone_and_Child_thumb.jpg
new file mode 100644
index 0000000..3772ec4
Binary files /dev/null and b/data/images/paintings/thumbs/Cimabue_Madone_and_Child_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Cimabue_Madonna_Enthroned_with_the_Child__St_Francis_and_Four_Angels_thumb.jpg b/data/images/paintings/thumbs/Cimabue_Madonna_Enthroned_with_the_Child__St_Francis_and_Four_Angels_thumb.jpg
index ab10dd8..b7dc09d 100644
Binary files a/data/images/paintings/thumbs/Cimabue_Madonna_Enthroned_with_the_Child__St_Francis_and_Four_Angels_thumb.jpg and b/data/images/paintings/thumbs/Cimabue_Madonna_Enthroned_with_the_Child__St_Francis_and_Four_Angels_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Cimabue_Miracle_of_Saint_Peter_thumb.jpg b/data/images/paintings/thumbs/Cimabue_Miracle_of_Saint_Peter_thumb.jpg
index 6ab92d0..f0b0a8d 100644
Binary files a/data/images/paintings/thumbs/Cimabue_Miracle_of_Saint_Peter_thumb.jpg and b/data/images/paintings/thumbs/Cimabue_Miracle_of_Saint_Peter_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Cimabue_Nativity_and_marriage_of_the_virgin_thumb.jpg b/data/images/paintings/thumbs/Cimabue_Nativity_and_marriage_of_the_virgin_thumb.jpg
index 1dc5e3c..0ac6f47 100644
Binary files a/data/images/paintings/thumbs/Cimabue_Nativity_and_marriage_of_the_virgin_thumb.jpg and b/data/images/paintings/thumbs/Cimabue_Nativity_and_marriage_of_the_virgin_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Cimabue_Peter_heals_a_lame_man_thumb.jpg b/data/images/paintings/thumbs/Cimabue_Peter_heals_a_lame_man_thumb.jpg
index 57e857b..c648a45 100644
Binary files a/data/images/paintings/thumbs/Cimabue_Peter_heals_a_lame_man_thumb.jpg and b/data/images/paintings/thumbs/Cimabue_Peter_heals_a_lame_man_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Cimabue_St_Michael_and_the_Dragon_by_Cimabue_thumb.jpg b/data/images/paintings/thumbs/Cimabue_St_Michael_and_the_Dragon_by_Cimabue_thumb.jpg
index 83b3852..e196306 100644
Binary files a/data/images/paintings/thumbs/Cimabue_St_Michael_and_the_Dragon_by_Cimabue_thumb.jpg and b/data/images/paintings/thumbs/Cimabue_St_Michael_and_the_Dragon_by_Cimabue_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Cimabue_The_Flagellation_of_Christ_thumb.jpg b/data/images/paintings/thumbs/Cimabue_The_Flagellation_of_Christ_thumb.jpg
index 277fafb..17a276e 100644
Binary files a/data/images/paintings/thumbs/Cimabue_The_Flagellation_of_Christ_thumb.jpg and b/data/images/paintings/thumbs/Cimabue_The_Flagellation_of_Christ_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Cimabue_The_Mocking_of_Christ_thumb.jpg b/data/images/paintings/thumbs/Cimabue_The_Mocking_of_Christ_thumb.jpg
index 0f94203..9259fba 100644
Binary files a/data/images/paintings/thumbs/Cimabue_The_Mocking_of_Christ_thumb.jpg and b/data/images/paintings/thumbs/Cimabue_The_Mocking_of_Christ_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Cimabue_The_Virgin_and_Child_with_Two_Angels_thumb.jpg b/data/images/paintings/thumbs/Cimabue_The_Virgin_and_Child_with_Two_Angels_thumb.jpg
index a98934a..371b3de 100644
Binary files a/data/images/paintings/thumbs/Cimabue_The_Virgin_and_Child_with_Two_Angels_thumb.jpg and b/data/images/paintings/thumbs/Cimabue_The_Virgin_and_Child_with_Two_Angels_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Cimabue_Vault_of_the_Evangelists_thumb.jpg b/data/images/paintings/thumbs/Cimabue_Vault_of_the_Evangelists_thumb.jpg
new file mode 100644
index 0000000..0dbba7e
Binary files /dev/null and b/data/images/paintings/thumbs/Cimabue_Vault_of_the_Evangelists_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Cimabue_Vision_of_Angels_at_the_Four_Corners_of_the_Earth_thumb.jpg b/data/images/paintings/thumbs/Cimabue_Vision_of_Angels_at_the_Four_Corners_of_the_Earth_thumb.jpg
index 88bbceb..d47edb4 100644
Binary files a/data/images/paintings/thumbs/Cimabue_Vision_of_Angels_at_the_Four_Corners_of_the_Earth_thumb.jpg and b/data/images/paintings/thumbs/Cimabue_Vision_of_Angels_at_the_Four_Corners_of_the_Earth_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Cimabue_Vision_of_Saint_John_at_Patmos_thumb.jpg b/data/images/paintings/thumbs/Cimabue_Vision_of_Saint_John_at_Patmos_thumb.jpg
index 88bbceb..3078486 100644
Binary files a/data/images/paintings/thumbs/Cimabue_Vision_of_Saint_John_at_Patmos_thumb.jpg and b/data/images/paintings/thumbs/Cimabue_Vision_of_Saint_John_at_Patmos_thumb.jpg differ
diff --git a/data/images/paintings/thumbs/Cimabue_Vision_of_the_Throne_thumb.jpg b/data/images/paintings/thumbs/Cimabue_Vision_of_the_Throne_thumb.jpg
index b2d2a63..96a33f1 100644
Binary files a/data/images/paintings/thumbs/Cimabue_Vision_of_the_Throne_thumb.jpg and b/data/images/paintings/thumbs/Cimabue_Vision_of_the_Throne_thumb.jpg differ