-
+
);
}
@@ -109,6 +74,7 @@ function PdfFirstPagePreview({ src, title }: { src: string; title: string }) {
export function ContentContent({
youtubeLinks,
pdfFiles,
+ xVideos,
}: ContentContentProps) {
const t = useTranslations("Content");
const [pdfModalOpen, setPdfModalOpen] = useState(false);
@@ -117,7 +83,6 @@ export function ContentContent({
const activePdf = pdfFiles[activePdfIndex] ?? null;
const canGoPrev = activePdfIndex > 0;
const canGoNext = activePdfIndex < pdfFiles.length - 1;
-
const embeddedVideos = useMemo(
() => youtubeLinks.slice(0, 3),
[youtubeLinks],
@@ -129,25 +94,19 @@ export function ContentContent({
};
return (
-
-
-
-
- {t("youtubeTitle")}
-
-
+
+
+
+
{embeddedVideos.map((link) => (
@@ -161,50 +120,86 @@ export function ContentContent({
-
-
-
- {t("pdfTitle")}
-
-
+
+
+
{pdfFiles.map((pdf, index) => (
))}
+
+
+
+
+
+ {xVideos.map((video) => (
+
+
+
+ ))}
+
+
+
- {activePdf ? activePdf.replace(/\.pdf$/i, "") : t("pdfModalDefaultTitle")}
+ {activePdf?.title ?? t("pdfModalDefaultTitle")}
-
+
{pdfFiles.length === 0
@@ -218,7 +213,7 @@ export function ContentContent({
className="rounded-sm"
disabled={!canGoPrev}
onClick={() =>
- setActivePdfIndex((prev) => Math.max(0, prev - 1))
+ setActivePdfIndex((previous) => Math.max(0, previous - 1))
}
>
{t("prev")}
@@ -229,8 +224,8 @@ export function ContentContent({
className="rounded-sm"
disabled={!canGoNext}
onClick={() =>
- setActivePdfIndex((prev) =>
- Math.min(pdfFiles.length - 1, prev + 1),
+ setActivePdfIndex((previous) =>
+ Math.min(pdfFiles.length - 1, previous + 1),
)
}
>
@@ -238,13 +233,14 @@ export function ContentContent({
-
+
{activePdf ? (
) : (
diff --git a/data/x-videos.ts b/data/x-videos.ts
new file mode 100644
index 0000000..b0864da
--- /dev/null
+++ b/data/x-videos.ts
@@ -0,0 +1,17 @@
+export type XVideo = {
+ src: string;
+ episode: number;
+};
+
+export const X_JAVASCRIPT_ANATOMY_VIDEOS: readonly XVideo[] = [
+ {
+ src: "/video/bolum11render.mp4",
+ episode: 11,
+ },
+ {
+ src: "/video/bolum12Render.mp4",
+ episode: 12,
+ },
+];
+
+export const X_JAVASCRIPT_ANATOMY_URL = "https://x.com/poyrazavsever";
diff --git a/lib/content-page.ts b/lib/content-page.ts
index 8654417..89e861b 100644
--- a/lib/content-page.ts
+++ b/lib/content-page.ts
@@ -2,9 +2,49 @@ import { readdir } from "node:fs/promises";
import path from "node:path";
const PDF_DIR = path.join(process.cwd(), "public", "pdf");
+const PDF_THUMBNAIL_DIR = path.join(
+ process.cwd(),
+ "public",
+ "pdf-thumbnails",
+);
+const PDF_LIMIT = 3;
-export async function getPdfNotes() {
- const files = await readdir(PDF_DIR);
+export type PdfNote = {
+ fileName: string;
+ title: string;
+ href: string;
+ thumbnailSrc: string | null;
+};
+
+function formatPdfTitle(fileName: string) {
+ return fileName
+ .replace(/\.pdf$/i, "")
+ .split(/[-_]+/)
+ .map((part) => part.charAt(0).toLocaleUpperCase("tr-TR") + part.slice(1))
+ .join(" ");
+}
+
+export async function getPdfNotes(): Promise {
+ const [files, thumbnailFiles] = await Promise.all([
+ readdir(PDF_DIR),
+ readdir(PDF_THUMBNAIL_DIR).catch(() => [] as string[]),
+ ]);
+ const thumbnails = new Set(thumbnailFiles);
const pdfFiles = files.filter((file) => file.toLowerCase().endsWith(".pdf"));
- return pdfFiles.sort((a, b) => a.localeCompare(b));
+
+ return pdfFiles
+ .sort((a, b) => a.localeCompare(b, "tr"))
+ .slice(0, PDF_LIMIT)
+ .map((fileName) => {
+ const thumbnailName = `${fileName.replace(/\.pdf$/i, "")}.jpg`;
+
+ return {
+ fileName,
+ title: formatPdfTitle(fileName),
+ href: `/pdf/${fileName}`,
+ thumbnailSrc: thumbnails.has(thumbnailName)
+ ? `/pdf-thumbnails/${thumbnailName}`
+ : null,
+ };
+ });
}
diff --git a/messages/en.json b/messages/en.json
index 7e2aaab..891d0cb 100644
--- a/messages/en.json
+++ b/messages/en.json
@@ -137,14 +137,19 @@
"footer": "Press {shortcut} to open quickly"
},
"Content": {
- "youtubeTitle": "Latest YouTube Videos",
+ "youtubeTitlePrefix": "Latest",
+ "youtubeTitle": "Videos",
"youtubeChannel": "My YouTube channel",
"youtubeEmbedTitle": "YouTube video player",
- "pdfTitle": "LinkedIn PDF Notes",
+ "pdfTitle": "PDF Notes",
"linkedinProfile": "My LinkedIn profile",
- "pdfPreviewError": "Preview could not be loaded",
"pdfPreviewTitle": "{name} preview",
+ "openPdf": "Open the {name} PDF note",
"pdfModalDefaultTitle": "PDF Note",
+ "xTitle": "JavaScript Anatomy",
+ "xSeries": "My JavaScript Anatomy series on X",
+ "xVideoTitle": "JavaScript Anatomy, episode {episode}",
+ "videoUnsupported": "Your browser does not support video playback.",
"prev": "Previous",
"next": "Next",
"pdfNotFound": "No PDF files found inside `/public/pdf`."
diff --git a/messages/tr.json b/messages/tr.json
index 4c2e607..6478c48 100644
--- a/messages/tr.json
+++ b/messages/tr.json
@@ -137,14 +137,19 @@
"footer": "Hızlıca açmak için {shortcut} kullan"
},
"Content": {
- "youtubeTitle": "Son YouTube Videoları",
+ "youtubeTitlePrefix": "Son",
+ "youtubeTitle": "Videoları",
"youtubeChannel": "YouTube kanalım",
"youtubeEmbedTitle": "YouTube video oynatıcı",
- "pdfTitle": "LinkedIn PDF Notları",
+ "pdfTitle": "PDF Notları",
"linkedinProfile": "LinkedIn profilim",
- "pdfPreviewError": "Önizleme yüklenemedi",
"pdfPreviewTitle": "{name} önizleme",
+ "openPdf": "{name} PDF notunu aç",
"pdfModalDefaultTitle": "PDF Notu",
+ "xTitle": "JavaScript Anatomisi",
+ "xSeries": "X'teki JavaScript Anatomisi serim",
+ "xVideoTitle": "JavaScript Anatomisi, bölüm {episode}",
+ "videoUnsupported": "Tarayıcınız video oynatmayı desteklemiyor.",
"prev": "Önceki",
"next": "Sonraki",
"pdfNotFound": "/public/pdf içinde PDF bulunamadı."
diff --git a/package.json b/package.json
index dc78bcc..f4806fe 100644
--- a/package.json
+++ b/package.json
@@ -25,7 +25,6 @@
"mermaid": "^11.13.0",
"next": "16.1.6",
"next-intl": "4.13.0",
- "pdfjs-dist": "^5.5.207",
"poyraz-ui": "3.0.2",
"react": "19.2.3",
"react-dom": "19.2.3",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index d3eca1b..f57dded 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -26,9 +26,6 @@ importers:
next-intl:
specifier: 4.13.0
version: 4.13.0(next@16.1.6(@babel/core@7.29.7)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)(typescript@5.9.3)
- pdfjs-dist:
- specifier: ^5.5.207
- version: 5.7.284
poyraz-ui:
specifier: 3.0.2
version: 3.0.2(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(mermaid@11.16.0)(react-dom@19.2.3(react@19.2.3))(react-hook-form@7.81.0(react@19.2.3))(react@19.2.3)(tailwindcss@4.3.2)(zod@4.4.3)
@@ -529,81 +526,6 @@ packages:
'@mixmark-io/domino@2.2.0':
resolution: {integrity: sha512-Y28PR25bHXUg88kCV7nivXrP2Nj2RueZ3/l/jdx6J9f8J4nsEGcgX0Qe6lt7Pa+J79+kPiJU3LguR6O/6zrLOw==}
- '@napi-rs/canvas-android-arm64@0.1.100':
- resolution: {integrity: sha512-hjhCKhntPv9+t4ckHymdx0phYNcVW+GKQR6Lzw2zE+pOVjOplSmtx9nNNknTjbEDLcuLZqA1y8ufKg1XfgftzQ==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [android]
-
- '@napi-rs/canvas-darwin-arm64@0.1.100':
- resolution: {integrity: sha512-2PcswRaC7Ly645DGt88///zuFDhJxJYdKAs1uU3mfk1atYkXufgcgLfBpk6Tm12nCQBaNt1wpybuPZ4qOhTo8A==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [darwin]
-
- '@napi-rs/canvas-darwin-x64@0.1.100':
- resolution: {integrity: sha512-ePNZtj7pNIva/siZMg+HmbeozkIjqUIYdoymH8HaA3qK7LfzFN4WMBM8G6HQ9ZC+H3+Dnn5pqtiXpgLykaPOhw==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [darwin]
-
- '@napi-rs/canvas-linux-arm-gnueabihf@0.1.100':
- resolution: {integrity: sha512-d5cDB48oWFGU8/XPhUOFAlySgb/VAu7D+s8fi55K1Pcfg8aPplHWqMgibhVLU8ky7Pyg/fuiVLz4Nf3JrSTuUA==}
- engines: {node: '>= 10'}
- cpu: [arm]
- os: [linux]
-
- '@napi-rs/canvas-linux-arm64-gnu@0.1.100':
- resolution: {integrity: sha512-rDxgxRu69RvDlX/bh9o22DxLsGr8EqsNgotL9+RwQE1S0b0cqeatqsw6aW45mukm0B42DIAaAacKaYQ8cqS1nw==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [linux]
- libc: [glibc]
-
- '@napi-rs/canvas-linux-arm64-musl@0.1.100':
- resolution: {integrity: sha512-K3mDW66N+xT2/V439u1alFANiBUjdEx2gLiNYnCmUsva5jZMxWTjafBYwTzYK+EMFMHrUoabuU+T1BIP5CgbYQ==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [linux]
- libc: [musl]
-
- '@napi-rs/canvas-linux-riscv64-gnu@0.1.100':
- resolution: {integrity: sha512-mooqUBTIsccZpnoQC4NgrC1v6C1vof39etLNMnBwCY+p0gajWJvAHLGQ6g/gGyS5YrpDW+GefSN4+Cvcr08UWw==}
- engines: {node: '>= 10'}
- cpu: [riscv64]
- os: [linux]
- libc: [glibc]
-
- '@napi-rs/canvas-linux-x64-gnu@0.1.100':
- resolution: {integrity: sha512-1eCvkDCazm7FFhsT7DfGOdSaHgZVK3bt/dSBl5EWHOWmnz+I7j8tPseJqqD81NF+MH21jKUK4wQSDjN0mdhnTg==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [linux]
- libc: [glibc]
-
- '@napi-rs/canvas-linux-x64-musl@0.1.100':
- resolution: {integrity: sha512-20arT6lnI19S68qNlii73TSEDbECNgzMz2EpldC1V3mZFuRkeujXkcebRk0LRJe9SEUAooYiLokfMViY8IX7yA==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [linux]
- libc: [musl]
-
- '@napi-rs/canvas-win32-arm64-msvc@0.1.100':
- resolution: {integrity: sha512-DZFFT1wIAg37LJw37yhMRFfjATd3vTQzjZ1Yki8u2vhO6Hi5VE6BVaGQ1aaDu7xb4iMErz+9EOwjpS7xcxFeBw==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [win32]
-
- '@napi-rs/canvas-win32-x64-msvc@0.1.100':
- resolution: {integrity: sha512-MyT1j3mHC2+Lu4pBi9mKyMJhtP6U7k7EldY7sj/uS5gJA65gTXt8MefJQXLJo5d/vZbuWmfxzkEUNc/urV3pHA==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [win32]
-
- '@napi-rs/canvas@0.1.100':
- resolution: {integrity: sha512-xglYA6q3XO5P3BNJYxVZ1IV7DLVjp1Py6nwag88YntrS+3vKHyYcMqXVS4ZztJmwz2uGvz1FWhI/4LgbR5uQDA==}
- engines: {node: '>= 10'}
-
'@napi-rs/wasm-runtime@1.1.6':
resolution: {integrity: sha512-ZLv/JdUfkvOy9eCnnBaGfiO+XimbjebAeO+MRQqD/B+FR1tnRN0tpKSJHRbE8sFfS6aqsXZ67TQjfwfsxULVbg==}
peerDependencies:
@@ -2885,6 +2807,7 @@ packages:
eslint@9.39.5:
resolution: {integrity: sha512-DgZS62aPLXKlnxILS/AYCoRvHaZeXceIzlXPkkGGzJWSow1aEk0lbTlxUSlyjC8jcaKxAdOnTDz+o1JFSBsyjw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options.
hasBin: true
peerDependencies:
jiti: '*'
@@ -4243,10 +4166,6 @@ packages:
resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
engines: {node: '>=16 || 14 >=14.18'}
- pdfjs-dist@5.7.284:
- resolution: {integrity: sha512-h4EdYQczmGhbOlqc3PPZwxevn7ApdWPbovAuWXOB/DjIyigSnwfy2oze7c6mRcSr9XgLp3eN3EeL4DyySTPMFw==}
- engines: {node: '>=22.13.0 || >=24'}
-
pend@1.2.0:
resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==}
@@ -5714,54 +5633,6 @@ snapshots:
'@mixmark-io/domino@2.2.0': {}
- '@napi-rs/canvas-android-arm64@0.1.100':
- optional: true
-
- '@napi-rs/canvas-darwin-arm64@0.1.100':
- optional: true
-
- '@napi-rs/canvas-darwin-x64@0.1.100':
- optional: true
-
- '@napi-rs/canvas-linux-arm-gnueabihf@0.1.100':
- optional: true
-
- '@napi-rs/canvas-linux-arm64-gnu@0.1.100':
- optional: true
-
- '@napi-rs/canvas-linux-arm64-musl@0.1.100':
- optional: true
-
- '@napi-rs/canvas-linux-riscv64-gnu@0.1.100':
- optional: true
-
- '@napi-rs/canvas-linux-x64-gnu@0.1.100':
- optional: true
-
- '@napi-rs/canvas-linux-x64-musl@0.1.100':
- optional: true
-
- '@napi-rs/canvas-win32-arm64-msvc@0.1.100':
- optional: true
-
- '@napi-rs/canvas-win32-x64-msvc@0.1.100':
- optional: true
-
- '@napi-rs/canvas@0.1.100':
- optionalDependencies:
- '@napi-rs/canvas-android-arm64': 0.1.100
- '@napi-rs/canvas-darwin-arm64': 0.1.100
- '@napi-rs/canvas-darwin-x64': 0.1.100
- '@napi-rs/canvas-linux-arm-gnueabihf': 0.1.100
- '@napi-rs/canvas-linux-arm64-gnu': 0.1.100
- '@napi-rs/canvas-linux-arm64-musl': 0.1.100
- '@napi-rs/canvas-linux-riscv64-gnu': 0.1.100
- '@napi-rs/canvas-linux-x64-gnu': 0.1.100
- '@napi-rs/canvas-linux-x64-musl': 0.1.100
- '@napi-rs/canvas-win32-arm64-msvc': 0.1.100
- '@napi-rs/canvas-win32-x64-msvc': 0.1.100
- optional: true
-
'@napi-rs/wasm-runtime@1.1.6(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)':
dependencies:
'@emnapi/core': 1.10.0
@@ -9922,10 +9793,6 @@ snapshots:
lru-cache: 10.4.3
minipass: 7.1.3
- pdfjs-dist@5.7.284:
- optionalDependencies:
- '@napi-rs/canvas': 0.1.100
-
pend@1.2.0: {}
performance-now@2.1.0: {}
diff --git a/public/pdf-thumbnails/overengineering-linkedin-carousel.jpg b/public/pdf-thumbnails/overengineering-linkedin-carousel.jpg
new file mode 100644
index 0000000..c98f6aa
Binary files /dev/null and b/public/pdf-thumbnails/overengineering-linkedin-carousel.jpg differ
diff --git a/public/pdf-thumbnails/teknik-borc-linkedin-carousel.jpg b/public/pdf-thumbnails/teknik-borc-linkedin-carousel.jpg
new file mode 100644
index 0000000..0ac9f38
Binary files /dev/null and b/public/pdf-thumbnails/teknik-borc-linkedin-carousel.jpg differ
diff --git a/public/pdf/AtomicDesign.pdf b/public/pdf/AtomicDesign.pdf
deleted file mode 100644
index 99789be..0000000
Binary files a/public/pdf/AtomicDesign.pdf and /dev/null differ
diff --git a/public/pdf/Bun.pdf b/public/pdf/Bun.pdf
deleted file mode 100644
index c91e07e..0000000
Binary files a/public/pdf/Bun.pdf and /dev/null differ
diff --git a/public/pdf/CV.pdf b/public/pdf/CV.pdf
deleted file mode 100644
index 5501647..0000000
Binary files a/public/pdf/CV.pdf and /dev/null differ
diff --git a/public/pdf/Cache.pdf b/public/pdf/Cache.pdf
deleted file mode 100644
index 049c5b8..0000000
Binary files a/public/pdf/Cache.pdf and /dev/null differ
diff --git a/public/pdf/Commit.pdf b/public/pdf/Commit.pdf
deleted file mode 100644
index ffa08fa..0000000
Binary files a/public/pdf/Commit.pdf and /dev/null differ
diff --git a/public/pdf/Electron.pdf b/public/pdf/Electron.pdf
deleted file mode 100644
index 09e0290..0000000
--- a/public/pdf/Electron.pdf
+++ /dev/null
@@ -1,9233 +0,0 @@
-%PDF-1.7
-%
-1 0 obj
- << /Length 2 0 R >>
-stream
-0.484000 0 0.043000 -0.009000 0.443000 0.549000 d1
-
-endstream
-endobj
-
-2 0 obj
- 51
-endobj
-
-3 0 obj
- << /Length 4 0 R >>
-stream
-0.583000 0 0.076000 -0.187000 0.537000 0.758000 d1
-
-endstream
-endobj
-
-4 0 obj
- 51
-endobj
-
-5 0 obj
- << /Length 6 0 R >>
-stream
-0.591000 0 0.042000 -0.009000 0.520000 0.763000 d1
-
-endstream
-endobj
-
-6 0 obj
- 51
-endobj
-
-7 0 obj
- << /Length 8 0 R >>
-stream
-0.743000 0 0.082000 -0.007000 0.661000 0.801000 d1
-
-endstream
-endobj
-
-8 0 obj
- 51
-endobj
-
-9 0 obj
- << /Length 10 0 R >>
-stream
-0.246000 0 -0.057000 -0.191000 0.187000 0.845000 d1
-
-endstream
-endobj
-
-10 0 obj
- 52
-endobj
-
-11 0 obj
- << /Length 12 0 R >>
-stream
-0.450000 0 0.003000 -0.004000 0.430000 0.721000 d1
-
-endstream
-endobj
-
-12 0 obj
- 51
-endobj
-
-13 0 obj
- << /Length 14 0 R >>
-stream
-0.443000 0 0.003000 -0.004000 0.419000 0.721000 d1
-
-endstream
-endobj
-
-14 0 obj
- 51
-endobj
-
-15 0 obj
- << /Length 16 0 R >>
-stream
-0.365000 0 -0.005000 -0.009000 0.373000 0.646000 d1
-
-endstream
-endobj
-
-16 0 obj
- 52
-endobj
-
-17 0 obj
- << /Length 18 0 R >>
-stream
-0.530000 0 0.054000 -0.009000 0.456000 0.558000 d1
-
-endstream
-endobj
-
-18 0 obj
- 51
-endobj
-
-19 0 obj
- << /Length 20 0 R >>
-stream
-0.237000 0 0.055000 -0.004000 0.183000 0.182000 d1
-
-endstream
-endobj
-
-20 0 obj
- 51
-endobj
-
-21 0 obj
- << /Length 22 0 R >>
-stream
-0.350000 0 -0.003000 -0.009000 0.358000 0.648000 d1
-
-endstream
-endobj
-
-22 0 obj
- 52
-endobj
-
-23 0 obj
- << /Length 24 0 R >>
-stream
-0.481000 0 0.047000 -0.009000 0.434000 0.551000 d1
-
-endstream
-endobj
-
-24 0 obj
- 51
-endobj
-
-25 0 obj
- << /Length 26 0 R >>
-stream
-0.576000 0 0.071000 -0.007000 0.508000 0.575000 d1
-
-endstream
-endobj
-
-26 0 obj
- 51
-endobj
-
-27 0 obj
- << /Length 28 0 R >>
-stream
-0.514000 0 0.025000 -0.187000 0.490000 0.705000 d1
-
-endstream
-endobj
-
-28 0 obj
- 51
-endobj
-
-29 0 obj
- << /Length 30 0 R >>
-stream
-0.243000 0 0.058000 -0.006000 0.184000 0.775000 d1
-
-endstream
-endobj
-
-30 0 obj
- 51
-endobj
-
-31 0 obj
- << /Length 32 0 R >>
-stream
-0.556000 0 0.046000 -0.009000 0.510000 0.550000 d1
-
-endstream
-endobj
-
-32 0 obj
- 51
-endobj
-
-33 0 obj
- << /Length 34 0 R >>
-stream
-0.481000 0 0.047000 -0.192000 0.434000 0.734000 d1
-
-endstream
-endobj
-
-34 0 obj
- 51
-endobj
-
-35 0 obj
- << /Length 36 0 R >>
-stream
-0.232000 0 0.063000 -0.005000 0.169000 0.770000 d1
-
-endstream
-endobj
-
-36 0 obj
- 51
-endobj
-
-37 0 obj
- << /Length 38 0 R >>
-stream
-0.358000 0 0.076000 -0.007000 0.352000 0.580000 d1
-
-endstream
-endobj
-
-38 0 obj
- 51
-endobj
-
-39 0 obj
- << /Length 40 0 R >>
-stream
-0.264000 0 0.000000 0.000000 0.264000 1.000000 d1
-
-endstream
-endobj
-
-40 0 obj
- 50
-endobj
-
-41 0 obj
- << /Length 42 0 R >>
-stream
-0.537000 0 0.042000 -0.009000 0.498000 0.548000 d1
-
-endstream
-endobj
-
-42 0 obj
- 51
-endobj
-
-43 0 obj
- << /Length 44 0 R >>
-stream
-0.565000 0 0.042000 -0.009000 0.523000 0.548000 d1
-
-endstream
-endobj
-
-44 0 obj
- 51
-endobj
-
-45 0 obj
- << /Length 46 0 R >>
-stream
-0.532000 0 0.046000 -0.009000 0.491000 0.550000 d1
-
-endstream
-endobj
-
-46 0 obj
- 51
-endobj
-
-47 0 obj
- << /Length 48 0 R >>
-stream
-0.467000 0 0.042000 -0.009000 0.451000 0.548000 d1
-
-endstream
-endobj
-
-48 0 obj
- 51
-endobj
-
-49 0 obj
- << /Length 50 0 R >>
-stream
-0.306000 0 0.071000 -0.009000 0.304000 0.792000 d1
-
-endstream
-endobj
-
-50 0 obj
- 51
-endobj
-
-51 0 obj
- << /Length 52 0 R >>
-stream
-0.589000 0 0.082000 0.000000 0.546000 0.787000 d1
-
-endstream
-endobj
-
-52 0 obj
- 50
-endobj
-
-53 0 obj
- << /Length 54 0 R >>
-stream
-0.856000 0 0.078000 -0.007000 0.781000 0.580000 d1
-
-endstream
-endobj
-
-54 0 obj
- 51
-endobj
-
-55 0 obj
- << /Length 56 0 R >>
-stream
-0.583000 0 0.046000 -0.009000 0.507000 0.767000 d1
-
-endstream
-endobj
-
-56 0 obj
- 51
-endobj
-
-57 0 obj
- << /Length 58 0 R >>
-stream
-0.373000 0 0.071000 -0.007000 0.370000 0.577000 d1
-
-endstream
-endobj
-
-58 0 obj
- 51
-endobj
-
-59 0 obj
- << /Length 60 0 R >>
-stream
-0.232000 0 0.063000 -0.005000 0.169000 0.770000 d1
-
-endstream
-endobj
-
-60 0 obj
- 51
-endobj
-
-61 0 obj
- << /Length 62 0 R >>
-stream
-0.358000 0 0.076000 -0.007000 0.352000 0.580000 d1
-
-endstream
-endobj
-
-62 0 obj
- 51
-endobj
-
-63 0 obj
- << /Length 64 0 R >>
-stream
-0.463000 0 0.046000 -0.192000 0.444000 0.733000 d1
-
-endstream
-endobj
-
-64 0 obj
- 51
-endobj
-
-65 0 obj
- << /Length 66 0 R >>
-stream
-0.561000 0 0.073000 -0.009000 0.485000 0.575000 d1
-
-endstream
-endobj
-
-66 0 obj
- 51
-endobj
-
-67 0 obj
- << /Length 68 0 R >>
-stream
-0.500000 0 0.076000 -0.007000 0.471000 0.795000 d1
-
-endstream
-endobj
-
-68 0 obj
- 51
-endobj
-
-69 0 obj
- << /Length 70 0 R >>
-stream
-0.855000 0 0.089000 -0.007000 0.767000 0.808000 d1
-
-endstream
-endobj
-
-70 0 obj
- 51
-endobj
-
-71 0 obj
- << /Length 72 0 R >>
-stream
-0.568000 0 0.076000 -0.007000 0.495000 0.578000 d1
-
-endstream
-endobj
-
-72 0 obj
- 51
-endobj
-
-73 0 obj
- << /Length 74 0 R >>
-stream
-0.532000 0 0.046000 -0.009000 0.491000 0.550000 d1
-
-endstream
-endobj
-
-74 0 obj
- 51
-endobj
-
-75 0 obj
- << /Length 76 0 R >>
-stream
-0.530000 0 0.054000 -0.009000 0.456000 0.558000 d1
-
-endstream
-endobj
-
-76 0 obj
- 51
-endobj
-
-77 0 obj
- << /Length 78 0 R >>
-stream
-0.258000 0 0.000000 0.000000 0.258000 1.000000 d1
-
-endstream
-endobj
-
-78 0 obj
- 50
-endobj
-
-79 0 obj
- << /Length 80 0 R >>
-stream
-0.515000 0 0.025000 -0.007000 0.490000 0.525000 d1
-
-endstream
-endobj
-
-80 0 obj
- 51
-endobj
-
-81 0 obj
- << /Length 82 0 R >>
-stream
-0.463000 0 0.048000 0.000000 0.441000 0.534000 d1
-
-endstream
-endobj
-
-82 0 obj
- 50
-endobj
-
-83 0 obj
- << /Length 84 0 R >>
-stream
-0.514000 0 0.025000 -0.187000 0.490000 0.705000 d1
-
-endstream
-endobj
-
-84 0 obj
- 51
-endobj
-
-85 0 obj
- << /Length 86 0 R >>
-stream
-0.568000 0 0.076000 -0.007000 0.495000 0.578000 d1
-
-endstream
-endobj
-
-86 0 obj
- 51
-endobj
-
-87 0 obj
- << /Length 88 0 R >>
-stream
-0.561000 0 0.073000 -0.009000 0.485000 0.782000 d1
-
-endstream
-endobj
-
-88 0 obj
- 51
-endobj
-
-89 0 obj
- << /Length 90 0 R >>
-stream
-0.586000 0 0.046000 -0.189000 0.510000 0.730000 d1
-
-endstream
-endobj
-
-90 0 obj
- 51
-endobj
-
-91 0 obj
- << /Length 92 0 R >>
-stream
-0.283000 0 -0.014000 -0.059000 0.296000 0.793000 d1
-
-endstream
-endobj
-
-92 0 obj
- 52
-endobj
-
-93 0 obj
- << /Length 94 0 R >>
-stream
-0.481000 0 0.047000 -0.009000 0.434000 0.551000 d1
-
-endstream
-endobj
-
-94 0 obj
- 51
-endobj
-
-95 0 obj
- << /Length 96 0 R >>
-stream
-0.296000 0 0.076000 -0.009000 0.292000 0.797000 d1
-
-endstream
-endobj
-
-96 0 obj
- 51
-endobj
-
-97 0 obj
- << /Filter /FlateDecode
- /Length 98 0 R
- >>
-stream
-xn0wc;T`@#Em/@Pb!Cj:$>sM;d'Qz쯶⢛R-'GeWA&o㤻`{8N&S?BVڶ?_KwL"
-6Qڽ^Np{~-\0^r4e_q(Jm`EMMuϸga=Ef=#IVQ,IIYZ 1BLLgb֊-1*B̎x=1 W=brfP<H"IY?r aXwJ'bR$0*xv$Ϡ[dfrCdabȐ?
*P?iKyP}?
-br_uݹRw,ֺI[
)f
-endstream
-endobj
-
-98 0 obj
- 459
-endobj
-
-99 0 obj
- [ 0.450000 0.243000 0.743000 0.484000 0.246000 0.237000 0.373000 0.365000 0.576000 0.591000 0.264000 0.589000 0.565000 0.467000 0.306000 0.537000 0.443000 0.463000 0.232000 0.583000 0.481000 0.532000 0.568000 0.296000 0.514000 0.561000 0.500000 0.586000 0.530000 0.258000 0.350000 0.358000 0.561000 0.481000 0.856000 0.855000 0.532000 0.514000 0.556000 0.515000 0.530000 0.583000 0.463000 0.232000 0.283000 0.481000 0.568000 0.358000 ]
-endobj
-
-100 0 obj
- << /CharProcs << /C3 1 0 R
- /C9 5 0 R
- /C21 45 0 R
- /C12 43 0 R
- /C28 17 0 R
- /C7 15 0 R
- /C2 7 0 R
- /C41 3 0 R
- /C16 13 0 R
- /C0 11 0 R
- /C5 19 0 R
- /C30 21 0 R
- /C4 9 0 R
- /C37 27 0 R
- /C8 25 0 R
- /C1 29 0 R
- /C38 31 0 R
- /C20 33 0 R
- /C43 35 0 R
- /C47 37 0 R
- /C33 23 0 R
- /C10 39 0 R
- /C15 41 0 R
- /C13 47 0 R
- /C34 53 0 R
- /C14 49 0 R
- /C11 51 0 R
- /C19 55 0 R
- /C6 57 0 R
- /C18 59 0 R
- /C31 61 0 R
- /C17 63 0 R
- /C25 65 0 R
- /C26 67 0 R
- /C35 69 0 R
- /C22 71 0 R
- /C36 73 0 R
- /C40 75 0 R
- /C29 77 0 R
- /C39 79 0 R
- /C42 81 0 R
- /C24 83 0 R
- /C46 85 0 R
- /C32 87 0 R
- /C27 89 0 R
- /C44 91 0 R
- /C45 93 0 R
- /C23 95 0 R
- >>
- /Encoding << /Type /Encoding
- /Differences [ 0 /C0 /C1 /C2 /C3 /C4 /C5 /C6 /C7 /C8 /C9 /C10 /C11 /C12 /C13 /C14 /C15 /C16 /C17 /C18 /C19 /C20 /C21 /C22 /C23 /C24 /C25 /C26 /C27 /C28 /C29 /C30 /C31 /C32 /C33 /C34 /C35 /C36 /C37 /C38 /C39 /C40 /C41 /C42 /C43 /C44 /C45 /C46 /C47 ]
- >>
- /FontBBox [ 0.000000 0.000000 0.000000 0.000000 ]
- /FontMatrix [ 1.000000 0.000000 0.000000 1.000000 0.000000 0.000000 ]
- /Type /Font
- /ToUnicode 97 0 R
- /FirstChar 0
- /LastChar 47
- /Widths 99 0 R
- /Resources << >>
- /Subtype /Type3
- /FontDescriptor << /Type /FontDescriptor
- /Flags 32
- /FontBBox [ 0.000000 0.000000 0.000000 0.000000 ]
- /ItalicAngle 0
- >>
- >>
-endobj
-
-101 0 obj
- << /Type /XObject
- /Subtype /Image
- /BitsPerComponent 8
- /Length 102 0 R
- /Height 800
- /Width 800
- /ColorSpace /DeviceGray
- /Filter [ /FlateDecode ]
- >>
-stream
-x1 g
( o#q
-endstream
-endobj
-
-102 0 obj
- 643
-endobj
-
-103 0 obj
- << /Alternate /DeviceRGB
- /Filter /FlateDecode
- /Length 2567
- /N 3
- >>
-stream
-xiPow-Y¾M -l a ]QED\@EptXdQT\
-88*tMիW} nD0rŢ`_OzDd Ƀ9qi}wowܙ
tTYPx.X@B <9;}Ǽ U$g\-1HV,I ̓q
-p6Iib+eq|i&gJHQ6YbY>)BM8an! l> mmÞkd @-D9Cn@DNԀƀlp@
-"j @