PageSourceSearch

https://chathurawimalasiri.github.io/publications.html

html chathurawimalasiri.github.io collected 2026-10-03 08:47:01 UTC 30,946 bytes, 722 lines download raw bytes

1<!doctype html>
2<html lang="en" class="no-js">
3
4<head>
5    <meta charset="utf-8"> <!-- begin SEO -->
6    <title>Publications - Chathura Wimalasiri</title>
7    <link rel="canonical" href="https://academicpages.github.io/publications/">
8    
8<script
9        type="application/ld+json"> { "@context" : "http://schema.org", "@type" : "Person", "name" : "Chathura Wimalasiri", "url" : "https://academicpages.github.io", "sameAs" : null } </script>
9
10    <!-- end SEO --> <!-- Open Graph protocol data (https://ogp.me/), used by social media -->
11    <meta property="og:locale" content="en-US">
12    <meta property="og:site_name" content="Chathura Wimalasiri">
13    <meta property="og:title" content="Publications - Chathura Wimalasiri - PhD Candidate at UniMelb">
14    <meta property="og:url" content="https://academicpages.github.io/publications/"> <!-- end Open Graph protocol -->
15    <link href="https://academicpages.github.io/feed.xml" type="application/atom+xml" rel="alternate"
16        title="Chathura Wimalasiri Feed"> <!-- http://t.co/dKP3o1e -->
17    <meta name="HandheldFriendly" content="True">
18    <meta name="MobileOptimized" content="320">
19    <meta name="viewport" content="width=device-width, initial-scale=1.0">
20    
20<script> document.documentElement.className = document.documentElement.className.replace(/\bno-js\b/g, '') + ' js '; </script>
20
21    <!-- For all browsers -->
22    <link rel="stylesheet" href="https://academicpages.github.io/assets/css/main.css">
23    <meta http-equiv="cleartype" content="on"> <!-- start custom head snippets --> <!-- Support for Academicons -->
24    <link rel="stylesheet" href="https://academicpages.github.io/assets/css/academicons.css" />
25    <!-- favicon from https://commons.wikimedia.org/wiki/File:OOjs_UI_icon_academic-progressive.svg -->
26    <link rel="apple-touch-icon" sizes="180x180" href="assets/apple-touch-icon-180x180.png" />
27    <link rel="icon" type="image/svg+xml" href="assets/favicon.svg" />
28    <link rel="icon" type="image/png" href="assets/favicon-32x32.png" sizes="32x32" />
29    <link rel="icon" type="image/png" href="assets/favicon-192x192.png" sizes="192x192" />
30    <link rel="manifest" href="https://academicpages.github.io/images/manifest.json" />
31    <link rel="icon" href="assets/favicon.ico" />
32    <meta name="theme-color" content="#ffffff" />
33
34    <style>
35        .content-section {
36            margin-bottom: 2rem;
37            padding: 1.5rem;
38            background: #f8f9fa;
39            border-radius: 8px;
40            border-left: 4px solid #007acc;
41        }
42
43        .section-title {
44            color: #2c3e50;
45            margin-bottom: 1rem;
46            font-size: 1.5rem;
47            font-weight: 600;
48        }
49
50        .education-item,
51        .experience-item {
52            margin-bottom: 1.5rem;
53            padding: 1rem;
54            background: white;
55            border-radius: 6px;
56            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
57        }
58
59        .institution,
60        .company {
61            font-weight: 600;
62            color: #2c3e50;
63            font-size: 1.1rem;
64        }
65
66        .degree,
67        .position {
68            color: #007acc;
69            font-weight: 500;
70            margin: 0.25rem 0;
71        }
72
73        .date {
74            color: #666;
75            font-size: 0.9rem;
76            font-style: italic;
77        }
78
79        .description {
80            margin-top: 0.5rem;
81            color: #555;
82            line-height: 1.5;
83        }
84
85        .news-list {
86            max-height: 500px;
87            overflow-y: auto;
88            padding-right: 10px;
89        }
90
91        .news-item {
92            margin-bottom: 1rem;
93            padding: 1rem;
94            background: white;
95            border-radius: 6px;
96            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
97            border-left: 3px solid #28a745;
98        }
99
100        .news-date {
101            color: #28a745;
102            font-weight: 600;
103            font-size: 0.9rem;
104        }
105
106        .news-content {
107            margin-top: 0.5rem;
108            color: #333;
109        }
110
111        /* #theme-toggle {
112            position: absolute;
113            right: 1rem;
114            top: 50%;
115            transform: translateY(-50%);
116        } */
117
118        .masthead__menu {
119            position: relative;
120        }
121
122        /* Publications specific styles */
123        .publications-controls {
124            margin-bottom: 2rem;
125            padding: 1.5rem;
126            background: #f8f9fa;
127            border-radius: 8px;
128            border-left: 4px solid #007acc;
129        }
130
131        .search-container {
132            margin-bottom: 1rem;
133        }
134
135        .search-input {
136            width: 100%;
137            padding: 0.75rem;
138            border: 2px solid #ddd;
139            border-radius: 6px;
140            font-size: 1rem;
141            transition: border-color 0.3s ease;
142        }
143
144        .search-input:focus {
145            outline: none;
146            border-color: #007acc;
147            box-shadow: 0 0 0 3px rgba(0, 122, 204, 0.1);
148        }
149
150        .filter-container {
151            display: flex;
152            gap: 0.5rem;
153            flex-wrap: wrap;
154        }
155
156        .filter-btn {
157            padding: 0.5rem 1rem;
158            border: 2px solid #ddd;
159            background: white;
160            border-radius: 20px;
161            cursor: pointer;
162            transition: all 0.3s ease;
163            font-size: 0.9rem;
164        }
165
166        .filter-btn:hover {
167            border-color: #007acc;
168        }
169
170        .filter-btn.active {
171            background: #007acc;
172            color: white;
173            border-color: #007acc;
174        }
175
176        .publications-list {
177            margin-top: 1rem;
178        }
179
180        .publication-item {
181            margin-bottom: 1.5rem;
182            padding: 1.5rem;
183            background: white;
184            border-radius: 8px;
185            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
186            border-left: 4px solid #28a745;
187            transition: transform 0.2s ease, box-shadow 0.2s ease;
188        }
189
190        .publication-item:hover {
191            transform: translateY(-2px);
192            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
193        }
194
195        .publication-item.hidden {
196            display: none;
197        }
198
199        .publication-title {
200            font-size: 1.2rem;
201            font-weight: 600;
202            color: #2c3e50;
203            margin-bottom: 0.5rem;
204            line-height: 1.4;
205        }
206
207        .publication-title a {
208            color: inherit;
209            text-decoration: none;
210        }
211
212        .publication-title a:hover {
213            color: #007acc;
214        }
215
216        .publication-authors {
217            color: #666;
218            margin-bottom: 0.5rem;
219            font-size: 1rem;
220        }
221
222        .publication-venue {
223            font-weight: 500;
224            color: #2c3e50;
225            margin-bottom: 0.5rem;
226        }
227
228        .publication-year {
229            color: #666;
230            font-size: 0.9rem;
231            margin-bottom: 0.75rem;
232        }
233
234        .publication-type {
235            display: inline-block;
236            padding: 0.25rem 0.75rem;
237            border-radius: 15px;
238            font-size: 0.8rem;
239            font-weight: 500;
240            margin-bottom: 0.5rem;
241        }
242
243        .type-conference {
244            background: #e3f2fd;
245            color: #1976d2;
246        }
247
248        .type-journal {
249            background: #f3e5f5;
250            color: #7b1fa2;
251        }
252
253        .type-preprint {
254            background: #fff3e0;
255            color: #f57c00;
256        }
257
258        .publication-links {
259            display: flex;
260            gap: 0.5rem;
261            flex-wrap: wrap;
262            margin-top: 0.75rem;
263        }
264
265        .publication-link {
266            padding: 0.4rem 0.8rem;
267            background: #007acc;
268            color: white;
269            text-decoration: none;
270            border-radius: 4px;
271            font-size: 0.85rem;
272            transition: background 0.3s ease;
273        }
274
275        .publication-link:hover {
276            background: #005a94;
277            color: white;
278        }
279
280        .publication-abstract {
281            margin-top: 0.75rem;
282            color: #555;
283            line-height: 1.5;
284            font-size: 0.95rem;
285        }
286
287        .no-results {
288            text-align: center;
289            padding: 2rem;
290            color: #666;
291            font-style: italic;
292        }
293
294        @media (max-width: 768px) {
295            .filter-container {
296                justify-content: center;
297            }
298
299            .publication-links {
300                justify-content: center;
301            }
302        }
303    </style>
304
305</head>
306
307<body>
308    <div class="masthead">
309        <div class="masthead__inner-wrap">
310            <div class="masthead__menu">
311                <nav id="site-nav" class="greedy-nav"> <button>
312                        <div class="navicon"></div>
313                    </button>
314                    <ul class="visible-links">
315                        <li class="masthead__menu-item masthead__menu-item--lg persist"><a href="index.html">Chathura
316                                Wimalasiri</a></li>
317                        <li class="masthead__menu-item"><a href="publications.html">Publications</a></li>
318                        <!-- <li id="theme-toggle" class="masthead__menu-item persist tail"> <a role="button"
319                                aria-labelledby="theme-icon"><i id="theme-icon" class="fa-solid fa-sun"
320                                    aria-hidden="true" title="toggle theme"></i></a></li> -->
321                    </ul>
322                    <ul class="hidden-links hidden"></ul>
323                </nav>
324            </div>
325        </div>
326    </div>
327    <div id="main" role="main">
328        <div class="sidebar sticky">
329            <div itemscope itemtype="http://schema.org/Person">
330                <div class="author__avatar"> <img src="images/chathura.png" class="author__avatar"
331                        alt="Chathura Wimalasiri" fetchpriority="high" /></div>
332                <div class="author__content">
333                    <h3 class="author__name">Chathura Wimalasiri</h3>
334                    <p class="author__bio">PhD Candidate at UniMelb</p>
335                </div>
336                <div class="author__urls-wrapper"> <button class="btn btn--inverse">Follow</button>
337                    <ul class="author__urls social-icons"> <!-- Font Awesome icons / Biographic information -->
338                        <li class="author__desktop"><i class="fas fa-fw fa-location-dot icon-pad-right"
339                                aria-hidden="true"></i>Melbourne, Australia</li>
340                        <li class="author__desktop"><i class="fas fa-fw fa-building-columns icon-pad-right"
341                                aria-hidden="true"></i>University of Melbourne</li>
342                        <li><a href="mailto:[email protected]"><i
343                                    class="fas fa-fw fa-envelope icon-pad-right" aria-hidden="true"></i>Email</a></li>
344                        <!-- Font Awesome and Academicons icons / Academic websites -->
345                        <li><a href="https://scholar.google.com/citations?user=CU201E4AAAAJ&hl=en"><i
346                                    class="ai ai-google-scholar ai-fw icon-pad-right"></i>Google Scholar</a></li>
347                        <li><a href="https://orcid.org/0009-0006-0590-9725"><i
348                                    class="ai ai-orcid ai-fw icon-pad-right"></i>ORCID</a></li>
349                        <li><a href="https://www.researchgate.net/profile/Chathura-Wimalasiri"><i
350                                    class="ai ai-researchgate ai-fw icon-pad-right"></i>ResearchGate</a></li>
351                        <!-- Font Awesome icons / Repositories and software development -->
352                        <li><a href="https://github.com/chathurawimalasiri"><i
353                                    class="fab fa-fw fa-github icon-pad-right" aria-hidden="true"></i>GitHub</a></li>
354                        <!-- Font Awesome icons / Social media -->
355                        <li><a href="https://www.linkedin.com/in/chathura-wimalasiri-b0637b1a1"><i
356                                    class="fab fa-fw fa-linkedin icon-pad-right" aria-hidden="true"></i>LinkedIn</a>
357                        </li>
358                        <li><a
359                                href="https://outlook.office365.com/owa/calendar/[email protected]/b5c4aef1b7f14a6eac9fd8979d08c3f116176886565967848821/calendar.html"><i
360                                    class="fa fa-fw fa-calendar icon-pad-right" aria-hidden="true"></i>Calendar</a>
361                        </li>
362                    </ul>
363                </div>
364            </div>
365        </div>
366
367        <article class="page" itemscope itemtype="http://schema.org/CreativeWork">
368            <div class="page__inner-wrap">
369                <header>
370                    <h1 class="page__title" itemprop="headline">Publications</h1>
371                </header>
372                <section class="page__content" itemprop="text">
373
374                    <!-- Search and Filter Controls -->
375                    <div class="publications-controls">
376                        <div class="search-container">
377                            <input type="text" id="searchInput" class="search-input"
378                                placeholder="Search publications by title">
379                        </div>
380                        <div class="filter-container">
381                            <button class="filter-btn active" data-filter="all">All</button>
382                            <button class="filter-btn" data-filter="conference">Conference</button>
383                            <button class="filter-btn" data-filter="journal">Journal</button>
384                            <button class="filter-btn" data-filter="preprint">Preprint</button>
385                        </div>
386                    </div>
387
388                    <!-- Publications List -->
389
390                    <div class="publications-list" id="publicationsList">
391
392                        <div class="publication-item" data-type="journal">
393                            <div class="publication-type type-journal">Journal</div>
394
395                            <div class="publication-title">
396                                <a href="https://www.nature.com/articles/s41597-025-05906-9" target="_blank"
397                                    rel="noopener noreferrer">
398                                    DenPAR: Annotated Intra-Oral Periapical Radiogra
398phs Dataset for Machine Learning
399                                </a>
400                            </div>
401
402                            <div class="publication-authors">
403                                Sumudu Rasnayaka, Dhanushka Leuke Bandara, Amali Jayasundara, Ruwan Jayasinghe,
404                                <strong>Chathura Wimalasiri</strong>, Piumal Rathnayake, Shamod Wijerathne,
405                                Roshan Ragel, Vajira Thambawita, and Isuru Nawinne
406                            </div>
407
408                            <div class="publication-venue">
409                                <em>Scientific Data</em> (Nature Portfolio)
410                            </div>
411
412                            <div class="publication-year">2025</div>
413
414                            <div class="publication-links">
415                                <a href="https://www.nature.com/articles/s41597-025-05906-9" class="publication-link"
416                                    target="_blank" rel="noopener noreferrer">Journal</a>
417
418                                <a href="https://www.nature.com/articles/s41597-025-05906-9.pdf"
419                                    class="publication-link" target="_blank" rel="noopener noreferrer">PDF</a>
420                            </div>
421                        </div>
422
423                    </div>
424
425
426
427                    <div class="publication-item" data-type="journal">
428                        <div class="publication-type type-journal">Journal</div>
429                        <div class="publication-title">
430                            <a href="https://www.nature.com/articles/s41598-026-38061-1" target="_blank"
431                                rel="noopener noreferrer">
432                                AI-assisted radiographic analysis in detecting alveolar bone-loss severity and
433                                patterns
434                            </a>
435                        </div>
436                        <div class="publication-authors">
437                            <strong>Chathura Wimalasiri</strong>, Piumal Rathnayake, Shamod Wijerathne, Sumudu
438                            Rasnayaka, Dhanushka Leuke Bandara, Roshan Ragel, Vajira Thambawita, Isuru Nawinne
439                        </div>
440                        <div class="publication-venue">
441                            <em>Scientific Reports</em> (Nature Portfolio)
442                        </div>
443                        <div class="publication-year">2026</div>
444                        <div class="publication-links">
445                            <a href="https://www.nature.com/articles/s41598-026-38061-1" class="publication-link"
446                                target="_blank" rel="noopener noreferrer">Journal</a>
447                            <a href="https://www.nature.com/articles/s41598-026-38061-1.pdf" class="publication-link"
448                                target="_blank">PDF</a>
449                            <!-- <a href="#" class="publication-link">Code</a> -->
450                        </div>
451                    </div>
452
453                    <div class="publication-item" data-type="preprint">
454                            <div class="publication-type type-preprint">Preprint</div>
455
456                            <div class="publication-title">
457                                <a href="https://arxiv.org/abs/2405.16478" target="_blank"
458                                    rel="noopener noreferrer">
459                                    Vision-based approach for food weight estimation from 2D images
460                                </a>
461                            </div>
462
463                            <div class="publication-authors">
464                                <strong>Chathura Wimalasiri</strong>, Prasan Kumar Sahoo
465                            </div>
466
467                            <div class="publication-venue">
468                                <em> arxiv </em> 
469                            </div>
470
471                            <div class="publication-year">2024</div>
472
473                            <div class="publication-links">
474                                <a href="https://arxiv.org/abs/2405.16478" class="publication-link"
475                                    target="_blank" rel="noopener noreferrer">Preprint</a>
476
477                                <a href="https://arxiv.org/pdf/2405.16478.pdf"
478                                    class="publication-link" target="_blank" rel="noopener noreferrer">PDF</a>
479                            </div>
480                        </div>
481
482                        <!-- <div class="publication-item" data-type="preprint">
483                            <div class="publication-type type-preprint">Preprint</div>
484
485                            <div class="publication-title">
486                                <a href="https://arxiv.org/abs/2605.23995" target="_blank"
487                                    rel="noopener noreferrer">
488                                    Task-Aligned Self-Supervised Learning for Medical Image Analysis: A Systematic Review and Practical Design Guidelines
489                                </a>
490                            </div>
491
492                            <div class="publication-authors">
493                                <strong>Chathura Wimalasiri</strong>, Kishor Nandakishor, Marimuthu Palaniswami
494                            </div>
495
496                            <div class="publication-venue">
497                                <em> arxiv </em> 
498                            </div>
499
500                            <div class="publication-year">2026</div>
501
502                            <div class="publication-links">
503                                <a href="https://arxiv.org/abs/2605.23995" class="publication-link"
504                                    target="_blank" rel="noopener noreferrer">Preprint</a>
505
506                                <a href="https://arxiv.org/pdf/2605.23995.pdf"
507                                    class="publication-link" target="_blank" rel="noopener noreferrer">PDF</a>
508                            </div>
509                        </div> -->
510
511
512                    <!-- <div class="publication-item" data-type="conference">
513                            <div class="publication-type type-conference">Conference</div>
514                            <div class="publication-title">
515                                <a href="#" target="_blank" rel="noopener noreferrer">
516                                    Multimodal 3D Computer Vision for Spatial-Temporal Analysis
517                                </a>
518                            </div>
519                            <div class="publication-authors">
520                                <strong>Chathura Wimalasiri</strong>, Alice Johnson, Bob Wilson
521                            </div>
522                            <div class="publication-venue">
523                                Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR)
524                            </div>
525                            <div class="publication-year">2024</div>
526                            <div class="publication-abstract">
527                                We introduce a comprehensive framework for multimodal 3D computer vision that
528                                effectively combines spatial and temporal dynamics for improved scene understanding and
529                                object tracking in complex environments.
530                            </div>
531                            <div class="publication-links">
532                                <a href="#" class="publication-link">Paper</a>
533                                <a href="#" class="publication-link">Supplementary</a>
534                                <a href="#" class="publication-link">Code</a>
535                                <a href="#" class="publication-link">Dataset</a>
536                            </div>
537                        </div>
538
539                        <div class="publication-item" data-type="journal">
540                            <div class="publication-type type-journal">Journal</div>
541                            <div class="publication-title">
542                                <a href="#" target="_blank" rel="noopener noreferrer">
543                                    Advanced Computer Engineering Approaches for IoT Systems
544                                </a>
545                            </div>
546                            <div class="publication-authors">
547                                David Lee, <strong>Chathura Wimalasiri</strong>, Sarah Brown
548                            </div>
549                            <div class="publication-venue">
550                                IEEE Transactions on Computer Engineering
551                            </div>
552                            <div class="publication-year">2024</div>
553                            <div class="publication-abstract">
554                                This work presents advanced computer engineering methodologies for developing efficient
555                                and scalable IoT systems, with particular focus on embedded systems integration and
556                                network optimization.
557                            </div>
558                            <div class="publication-links">
559                                <a href="#" class="publication-link">IEEE Xplore</a>
560                                <a href="#" class="publication-link">PDF</a>
561                                <a href="#" class="publication-link">Bibtex</a>
562                            </div>
563                        </div>
564
565
566                        <div class="publication-item" data-type="conference">
567                            <div class="publication-type type-conference">Conference</div>
568                            <div class="publication-title">
569                                <a href="#" target="_blank" rel="noopener noreferrer">
570                                    Embedded Systems Security in Computer Networks
571                                </a>
572                            </div>
573                            <div class="publication-authors">
574                                <strong>Chathura Wimalasiri</strong>, Michael Chen
575                            </div>
576                            <div class="publication-venue">
577                                International Conference on Embedded Systems and Networks (ESN)
578                            </div>
579                            <div class="publication-year">2023</div>
580                            <div class="publication-abstract">
581                                A comprehensive study on security vulnerabilities in embedded systems within computer
582                                networks, proposing novel defensive mechanisms and implementation strategies for
583                                enhanced network security.
584                            </div>
585                            <div class="publication-links">
586                                <a href="#" class="publication-link">Paper</a>
587                                <a href="#" class="publication-link">Slides</a>
588                                <a href="#" class="publication-link">Code</a>
589                            </div>
590                        </div> -->
591
592            </div>
593
594            <!-- No Results Message -->
595            <div id="noResults" class="no-results" style="display: none;">
596                No publications found matching your search criteria.
597            </div>
598
599            </section>
600    </div>
601    </article>
602    </div>
603
604    <!-- <div class="page__footer">
605        <footer>
606            <div class="page__footer-follow">
607                <ul class="social-icons">
608                    <li><strong>Follow:</strong></li>
609                    <li><a href="http://github.com/chathurawimalasiri"><i class="fab fa-github" aria-hidden="true"></i>
610                            GitHub</a></li>
611                    <li><a href="https://academicpages.github.io/feed.xml"><i class="fa fa-fw fa-rss-square"
612                                aria-hidden="true"></i> Feed</a></li>
613                </ul>
614            </div>
615            <div class="page__footer-copyright"> &copy; 2025 Chathura Wimalasiri, Powered by <a href="http://jekyllrb.com"
616                    rel="nofollow">Jekyll</a> &amp; <a
617                    href="https://github.com/academicpages/academicpages.github.io">AcademicPages</a>, a fork of <a
618                    href="https://mademistakes.com/work/minimal-mistakes-jekyll-theme/" rel="nofollow">Minimal
619                    Mistakes</a>.<br /> Site last updated 2025-08-06</div>
620        </footer>
621    </div> -->
622
623    
623<script type="module" src="https://academicpages.github.io/assets/js/main.min.js"></script>
623
624
625    
625<script>
626        // Publications filtering and search functionality
627        document.addEventListener('DOMContentLoaded', function () {
628            const searchInput = document.getElementById('searchInput');
629            const filterButtons = document.querySelectorAll('.filter-btn');
630            const publicationItems = document.querySelectorAll('.publication-item');
631            const noResults = document.getElementById('noResults');
632
633            let currentFilter = 'all';
634
635            // Filter functionality
636            filterButtons.forEach(btn => {
637                btn.addEventListener('click', function () {
638                    // Update active button
639                    filterButtons.forEach(b => b.classList.remove('active'));
640                    this.classList.add('active');
641
642                    currentFilter = this.getAttribute('data-filter');
643                    filterPublications();
644                });
645            });
646
647            // Search functionality
648            let debounceTimer;
649            searchInput.addEventListener('input', function () {
650                clearTimeout(debounceTimer);
651                debounceTimer = setTimeout(() => {
652                    filterPublications();
653                }, 200); // 200ms delay after user stops typing
654            });
655
656            function filterPublications() {
657                const searchTerm = searchInput.value.toLowerCase();
658                let visibleCount = 0;
659
660                publicationItems.forEach(item => {
661                    const type = item.getAttribute('data-type');
662                    const title = item.querySelector('.publication-title').textContent.toLowerCase();
663
664                    const matchesFilter = currentFilter === 'all' || type === currentFilter;
665                    const matchesSearch = searchTerm === '' || title.includes(searchTerm);
666
667                    if (matchesFilter && matchesSearch) {
668                        item.classList.remove('hidden');
669                        visibleCount++;
670                    } else {
671                        item.classList.add('hidden');
672                    }
673                });
674
675                noResults.style.display = visibleCount === 0 ? 'block' : 'none';
676            }
677
678            // Sort publications by year, newest first
679            const list = document.getElementById('publicationsList');
680            [...document.querySelectorAll('.publication-item')]
681                .sort((a, b) => {
682                    const yearA = parseInt(a.querySelector('.publication-year').textContent, 10);
683                    const yearB = parseInt(b.querySelector('.publication-year').textContent, 10);
684                    return yearB - yearA;
685                })
686                .forEach(item => list.appendChild(item));
687
688        });
689    </script>
689
690
691    
691<script>
692        (function () {
693            const root = document.documentElement;
694
695            // Always default to LIGHT (ignores OS/browser dark)
696            const saved = localStorage.getItem("theme");
697            root.dataset.theme = saved || "light";
698
699            const btn = document.getElementById("theme-toggle");
700            const icon = document.getElementById("theme-icon");
701
702            function syncIcon(theme) {
703                if (!icon) return;
704                icon.className = theme === "dark" ? "fa-solid fa-moon" : "fa-solid fa-sun";
705            }
706            syncIcon(root.dataset.theme);
707
708            if (!btn) return;
709            btn.addEventListener("click", function (e) {
710                e.preventDefault();
711                const next = root.dataset.theme === "dark" ? "light" : "dark";
712                root.dataset.theme = next;
713                localStorage.setItem("theme", next);
714                syncIcon(next);
715            });
716        })();
717    </script>
717
718
719
720</body>
721
722</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.