git: eafa04a07d41 - main - www/ladybird: SerenityOS Web Browser
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 24 Nov 2023 06:15:00 UTC
The branch main has been updated by fuz: URL: https://cgit.FreeBSD.org/ports/commit/?id=eafa04a07d414ab5d7d592e94290b4f08e1d4f05 commit eafa04a07d414ab5d7d592e94290b4f08e1d4f05 Author: Robert Clausecker <fuz@FreeBSD.org> AuthorDate: 2023-11-21 00:26:06 +0000 Commit: Robert Clausecker <fuz@FreeBSD.org> CommitDate: 2023-11-24 06:12:35 +0000 www/ladybird: SerenityOS Web Browser Ladybird is a web browser built on the LibWeb and LibJS engines from SerenityOS with a cross-platform GUI in Qt. See this blog post for some more background: https://awesomekling.github.io/Ladybird-a-new-cross-platform-browser-project/ WWW: https://ladybird.dev --- www/Makefile | 1 + www/ladybird/Makefile | 85 ++ www/ladybird/distinfo | 11 + .../patch-Userland_Libraries_LibJS_CMakeLists.txt | 17 + www/ladybird/pkg-descr | 5 + www/ladybird/pkg-plist | 1126 ++++++++++++++++++++ 6 files changed, 1245 insertions(+) diff --git a/www/Makefile b/www/Makefile index 851729548418..c223a54e4c78 100644 --- a/www/Makefile +++ b/www/Makefile @@ -295,6 +295,7 @@ SUBDIR += kineto SUBDIR += kiwix-tools SUBDIR += kohana + SUBDIR += ladybird SUBDIR += lagrange SUBDIR += larbin SUBDIR += libapreq2 diff --git a/www/ladybird/Makefile b/www/ladybird/Makefile new file mode 100644 index 000000000000..7767a270ff9e --- /dev/null +++ b/www/ladybird/Makefile @@ -0,0 +1,85 @@ +PORTNAME= ladybird +PORTVERSION= g20231120 +CATEGORIES= www +MASTER_SITES= https://github.com/unicode-org/cldr-json/releases/download/${CLDRVERSION}/:cldr \ + https://www.unicode.org/Public/${UCDVERSION}/ucd/:ucd \ + https://www.unicode.org/Public/emoji/${UCDVERSION:R}/:emoji \ + https://curl.se/ca/:cacert +DISTFILES= cldr-${CLDRVERSION}-json-modern.zip:cldr \ + UCD.zip:ucd \ + emoji-test.txt:emoji \ + cacert-${CACERTVERSION}.pem:cacert +DIST_SUBDIR= ${PORTNAME}-${PORTVERSION} +EXTRACT_ONLY= ${_DISTFILES:M*${GH_ACCOUNT}*} + +MAINTAINER= fuz@FreeBSD.org +COMMENT= SerenityOS web browser +WWW= https://ladybird.dev/ + +LICENSE= BSD2CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE + +# see Userland/Libraries/LibWeb/Loader/ResourceLoader.h +ONLY_FOR_ARCHS= aarch64 amd64 i386 riscv64 +ONLY_FOR_ARCHS_REASON= other architectures not recognised by build system +BROKEN_FreeBSD_12= C++ template fuckery + +BUILD_DEPENDS= ${LOCALBASE}/share/public_suffix_list/public_suffix_list.dat:dns/public_suffix_list +LIB_DEPENDS= libpulse.so:audio/pulseaudio +RUN_DEPENDS= ${LOCALBASE}/share/fonts/Liberation/LiberationMono-Bold.ttf:x11-fonts/liberation-fonts-ttf + +USES= cmake:testing compiler:c++20-lang gl localbase:ldflags python:build qt:6 +USE_GITHUB= yes +GH_ACCOUNT= SerenityOS +GH_PROJECT= serenity +GH_TAGNAME= cc9de38ea4ccf06024913b78b6283d8e4bc26536 +USE_GL= egl +USE_LDCONFIG= yes +USE_QT= base tools:build wayland multimedia + +CACERTVERSION= 2023-08-22 +CLDRVERSION= 44.0.1 +UCDVERSION= 15.1.0 + +CMAKE_ARGS= SERENITY_CACHE_DIR=${_DISTDIR} +CMAKE_OFF= ENABLE_LAGOM_CCACHE \ + ENABLE_COMMONMARK_SPEC_DOWNLOAD \ + ENABLE_CACERT_DOWNLOAD \ + ENABLE_TIME_ZONE_DATABASE_DOWNLOAD \ + INCLUDE_WASM_SPEC_TESTS \ + INCLUDE_FLAC_SPEC_TESTS \ + ENABLE_NETWORK_DOWNLOADS +CMAKE_SOURCE_PATH= ${WRKSRC}/Ladybird + +BINARY_ALIAS= python3=${PYTHON_CMD} +DESKTOP_ENTRIES= "Ladybird" "SerenityOS web browser" "ladybird" "${PREFIX}/bin/Ladybird" "Network;WebBrowser;" false + +PLIST_FILES= ${PLIST_FILES_${ARCH}} +PLIST_FILES_amd64= lib/liblagom-x86.so \ + lib/liblagom-x86.so.0 \ + lib/liblagom-x86.so.0.0.0 + +post-extract: + ${MKDIR} ${CONFIGURE_WRKSRC}/caches/PublicSuffix + ${LN} -s ${LOCALBASE}/share/public_suffix_list/public_suffix_list.dat \ + ${CONFIGURE_WRKSRC}/caches/PublicSuffix/ + +post-configure: + ${MKDIR} ${CONFIGURE_WRKSRC}/caches/CLDR ${CONFIGURE_WRKSRC}/caches/UCD + ${TAR} -x -C ${CONFIGURE_WRKSRC}/caches/CLDR -f ${_DISTDIR}/cldr-${CLDRVERSION}-json-modern.zip + ${TAR} -x -C ${CONFIGURE_WRKSRC}/caches/UCD -f ${_DISTDIR}/UCD.zip + ${CP} ${_DISTDIR}/emoji-test.txt ${CONFIGURE_WRKSRC}/caches/UCD + ${CP} ${_DISTDIR}/cacert-${CACERTVERSION}.pem ${CONFIGURE_WRKSRC}/Lagom/cacert.pem + +post-install: + ${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/256x256/apps + ${INSTALL_DATA} ${WRKSRC}/Ladybird/Icons/ladybird.png \ + ${STAGEDIR}${PREFIX}/share/icons/hicolor/256x256/apps/ +.for font in Mono Sans Serif +. for shape in Bold BoldItalic Italic Regular + ${LN} -shf ${LOCALBASE}/share/fonts/Liberation/Liberation${font}-${shape}.ttf \ + ${STAGEDIR}${PREFIX}/share/res/fonts/ +. endfor +.endfor + +.include <bsd.port.mk> diff --git a/www/ladybird/distinfo b/www/ladybird/distinfo new file mode 100644 index 000000000000..4aad5b489431 --- /dev/null +++ b/www/ladybird/distinfo @@ -0,0 +1,11 @@ +TIMESTAMP = 1700523273 +SHA256 (ladybird-g20231120/cldr-44.0.1-json-modern.zip) = 6daf783158fb3b09aa026a048e1f5ed5773148387b1edadfad33f303371f332a +SIZE (ladybird-g20231120/cldr-44.0.1-json-modern.zip) = 47935704 +SHA256 (ladybird-g20231120/UCD.zip) = cb1c663d053926500cd501229736045752713a066bd75802098598b7a7056177 +SIZE (ladybird-g20231120/UCD.zip) = 8248819 +SHA256 (ladybird-g20231120/emoji-test.txt) = d876ee249aa28eaa76cfa6dfaa702847a8d13b062aa488d465d0395ee8137ed9 +SIZE (ladybird-g20231120/emoji-test.txt) = 639405 +SHA256 (ladybird-g20231120/cacert-2023-08-22.pem) = 23c2469e2a568362a62eecf1b49ed90a15621e6fa30e29947ded3436422de9b9 +SIZE (ladybird-g20231120/cacert-2023-08-22.pem) = 221470 +SHA256 (ladybird-g20231120/SerenityOS-serenity-g20231120-cc9de38ea4ccf06024913b78b6283d8e4bc26536_GH0.tar.gz) = 389e98bd4ae264bcde4268e026d0072ea7cd9d48e5582fa73fe91dce92752834 +SIZE (ladybird-g20231120/SerenityOS-serenity-g20231120-cc9de38ea4ccf06024913b78b6283d8e4bc26536_GH0.tar.gz) = 65705758 diff --git a/www/ladybird/files/patch-Userland_Libraries_LibJS_CMakeLists.txt b/www/ladybird/files/patch-Userland_Libraries_LibJS_CMakeLists.txt new file mode 100644 index 000000000000..6f678e285a79 --- /dev/null +++ b/www/ladybird/files/patch-Userland_Libraries_LibJS_CMakeLists.txt @@ -0,0 +1,17 @@ +--- Userland/Libraries/LibJS/CMakeLists.txt.orig 2023-11-20 19:50:53 UTC ++++ Userland/Libraries/LibJS/CMakeLists.txt +@@ -270,13 +270,8 @@ set(SOURCES + + serenity_lib(LibJS js) + target_link_libraries(LibJS PRIVATE LibCore LibCrypto LibFileSystem LibRegex LibSyntax LibLocale LibUnicode LibTimeZone LibJIT) +-if("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64") ++if("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "amd64") + target_link_libraries(LibJS PRIVATE LibX86) +-endif() +- +-# TODO: This is probably also needed on RISC-V. +-if("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "i.86.*") +- target_link_libraries(LibJS PRIVATE atomic) + endif() + + target_compile_options(LibJS PRIVATE -fno-omit-frame-pointer) diff --git a/www/ladybird/pkg-descr b/www/ladybird/pkg-descr new file mode 100644 index 000000000000..b5d6e21ca107 --- /dev/null +++ b/www/ladybird/pkg-descr @@ -0,0 +1,5 @@ +Ladybird is a web browser built on the LibWeb and LibJS engines from +SerenityOS with a cross-platform GUI in Qt. + +See this blog post for some more background: +https://awesomekling.github.io/Ladybird-a-new-cross-platform-browser-project/ diff --git a/www/ladybird/pkg-plist b/www/ladybird/pkg-plist new file mode 100644 index 000000000000..f80ef11e56db --- /dev/null +++ b/www/ladybird/pkg-plist @@ -0,0 +1,1126 @@ +bin/ImageDecoder +bin/Ladybird +bin/RequestServer +bin/SQLServer +bin/WebContent +bin/WebDriver +bin/WebSocket +bin/WebWorker +bin/headless-browser +include/Ladybird/HelperProcess.h +include/Ladybird/Types.h +include/Ladybird/Utilities.h +lib/liblagom-accelgfx.so +lib/liblagom-accelgfx.so.0 +lib/liblagom-accelgfx.so.0.0.0 +lib/liblagom-audio.so +lib/liblagom-audio.so.0 +lib/liblagom-audio.so.0.0.0 +lib/liblagom-compress.so +lib/liblagom-compress.so.0 +lib/liblagom-compress.so.0.0.0 +lib/liblagom-core.so +lib/liblagom-core.so.0 +lib/liblagom-core.so.0.0.0 +lib/liblagom-crypto.so +lib/liblagom-crypto.so.0 +lib/liblagom-crypto.so.0.0.0 +lib/liblagom-diff.so +lib/liblagom-diff.so.0 +lib/liblagom-diff.so.0.0.0 +lib/liblagom-filesystem.so +lib/liblagom-filesystem.so.0 +lib/liblagom-filesystem.so.0.0.0 +lib/liblagom-gemini.so +lib/liblagom-gemini.so.0 +lib/liblagom-gemini.so.0.0.0 +lib/liblagom-gfx.so +lib/liblagom-gfx.so.0 +lib/liblagom-gfx.so.0.0.0 +lib/liblagom-gl.so +lib/liblagom-gl.so.0 +lib/liblagom-gl.so.0.0.0 +lib/liblagom-glsl.so +lib/liblagom-glsl.so.0 +lib/liblagom-glsl.so.0.0.0 +lib/liblagom-gpu.so +lib/liblagom-gpu.so.0 +lib/liblagom-gpu.so.0.0.0 +lib/liblagom-gui.so +lib/liblagom-gui.so.0 +lib/liblagom-gui.so.0.0.0 +lib/liblagom-http.so +lib/liblagom-http.so.0 +lib/liblagom-http.so.0.0.0 +lib/liblagom-idl.so +lib/liblagom-idl.so.0 +lib/liblagom-idl.so.0.0.0 +lib/liblagom-imagedecoderclient.so +lib/liblagom-imagedecoderclient.so.0 +lib/liblagom-imagedecoderclient.so.0.0.0 +lib/liblagom-ipc.so +lib/liblagom-ipc.so.0 +lib/liblagom-ipc.so.0.0.0 +lib/liblagom-jit.so +lib/liblagom-jit.so.0 +lib/liblagom-jit.so.0.0.0 +lib/liblagom-js.so +lib/liblagom-js.so.0 +lib/liblagom-js.so.0.0.0 +lib/liblagom-locale.so +lib/liblagom-locale.so.0 +lib/liblagom-locale.so.0.0.0 +lib/liblagom-markdown.so +lib/liblagom-markdown.so.0 +lib/liblagom-markdown.so.0.0.0 +lib/liblagom-protocol.so +lib/liblagom-protocol.so.0 +lib/liblagom-protocol.so.0.0.0 +lib/liblagom-regex.so +lib/liblagom-regex.so.0 +lib/liblagom-regex.so.0.0.0 +lib/liblagom-softgpu.so +lib/liblagom-softgpu.so.0 +lib/liblagom-softgpu.so.0.0.0 +lib/liblagom-sql.so +lib/liblagom-sql.so.0 +lib/liblagom-sql.so.0.0.0 +lib/liblagom-syntax.so +lib/liblagom-syntax.so.0 +lib/liblagom-syntax.so.0.0.0 +lib/liblagom-textcodec.so +lib/liblagom-textcodec.so.0 +lib/liblagom-textcodec.so.0.0.0 +lib/liblagom-threading.so +lib/liblagom-threading.so.0 +lib/liblagom-threading.so.0.0.0 +lib/liblagom-tls.so +lib/liblagom-tls.so.0 +lib/liblagom-tls.so.0.0.0 +lib/liblagom-unicode.so +lib/liblagom-unicode.so.0 +lib/liblagom-unicode.so.0.0.0 +lib/liblagom-video.so +lib/liblagom-video.so.0 +lib/liblagom-video.so.0.0.0 +lib/liblagom-wasm.so +lib/liblagom-wasm.so.0 +lib/liblagom-wasm.so.0.0.0 +lib/liblagom-web.so +lib/liblagom-web.so.0 +lib/liblagom-web.so.0.0.0 +lib/liblagom-websocket.so +lib/liblagom-websocket.so.0 +lib/liblagom-websocket.so.0.0.0 +lib/liblagom-webview.so +lib/liblagom-webview.so.0 +lib/liblagom-webview.so.0.0.0 +lib/liblagom-xml.so +lib/liblagom-xml.so.0 +lib/liblagom-xml.so.0.0.0 +%%DATADIR%%/ladybirdConfig.cmake +%%DATADIR%%/ladybirdConfigVersion.cmake +%%DATADIR%%/ladybirdTargets-%%CMAKE_BUILD_TYPE%%.cmake +%%DATADIR%%/ladybirdTargets.cmake +share/icons/hicolor/256x256/apps/ladybird.png +share/res/color-palettes/default.palette +share/res/color-palettes/greyscale.palette +share/res/color-palettes/pastel.palette +share/res/cursor-themes/Dark/Config.ini +share/res/cursor-themes/Dark/arrow.x2y2-2x.png +share/res/cursor-themes/Dark/arrow.x2y2.png +share/res/cursor-themes/Dark/crosshair-2x.png +share/res/cursor-themes/Dark/crosshair.png +share/res/cursor-themes/Dark/disallowed.png +share/res/cursor-themes/Dark/drag-2x.png +share/res/cursor-themes/Dark/drag-copy.x7y7-2x.png +share/res/cursor-themes/Dark/drag-copy.x7y7.png +share/res/cursor-themes/Dark/drag.png +share/res/cursor-themes/Dark/eyedropper.x2y2.png +share/res/cursor-themes/Dark/hand.x8y4.png +share/res/cursor-themes/Dark/help.x1y1.png +share/res/cursor-themes/Dark/hidden.png +share/res/cursor-themes/Dark/i-beam.png +share/res/cursor-themes/Dark/move-2x.png +share/res/cursor-themes/Dark/move.png +share/res/cursor-themes/Dark/resize-column-2x.png +share/res/cursor-themes/Dark/resize-column.png +share/res/cursor-themes/Dark/resize-diagonal-bltr-2x.png +share/res/cursor-themes/Dark/resize-diagonal-bltr.png +share/res/cursor-themes/Dark/resize-diagonal-tlbr-2x.png +share/res/cursor-themes/Dark/resize-diagonal-tlbr.png +share/res/cursor-themes/Dark/resize-horizontal-2x.png +share/res/cursor-themes/Dark/resize-horizontal.png +share/res/cursor-themes/Dark/resize-row-2x.png +share/res/cursor-themes/Dark/resize-row.png +share/res/cursor-themes/Dark/resize-vertical-2x.png +share/res/cursor-themes/Dark/resize-vertical.png +share/res/cursor-themes/Dark/wait.f14t100.png +share/res/cursor-themes/Dark/zoom.x0y0.png +share/res/cursor-themes/Default/Config.ini +share/res/cursor-themes/Default/arrow.x2y2-2x.png +share/res/cursor-themes/Default/arrow.x2y2.png +share/res/cursor-themes/Default/crosshair-2x.png +share/res/cursor-themes/Default/crosshair.png +share/res/cursor-themes/Default/disallowed-2x.png +share/res/cursor-themes/Default/disallowed.png +share/res/cursor-themes/Default/drag-2x.png +share/res/cursor-themes/Default/drag-copy.x7y7-2x.png +share/res/cursor-themes/Default/drag-copy.x7y7.png +share/res/cursor-themes/Default/drag.png +share/res/cursor-themes/Default/eyedropper.x2y2-2x.png +share/res/cursor-themes/Default/eyedropper.x2y2.png +share/res/cursor-themes/Default/hand.x8y4.png +share/res/cursor-themes/Default/help.x1y1.png +share/res/cursor-themes/Default/hidden.png +share/res/cursor-themes/Default/i-beam-2x.png +share/res/cursor-themes/Default/i-beam.png +share/res/cursor-themes/Default/move-2x.png +share/res/cursor-themes/Default/move.png +share/res/cursor-themes/Default/resize-column-2x.png +share/res/cursor-themes/Default/resize-column.png +share/res/cursor-themes/Default/resize-diagonal-bltr-2x.png +share/res/cursor-themes/Default/resize-diagonal-bltr.png +share/res/cursor-themes/Default/resize-diagonal-tlbr-2x.png +share/res/cursor-themes/Default/resize-diagonal-tlbr.png +share/res/cursor-themes/Default/resize-horizontal-2x.png +share/res/cursor-themes/Default/resize-horizontal.png +share/res/cursor-themes/Default/resize-row-2x.png +share/res/cursor-themes/Default/resize-row.png +share/res/cursor-themes/Default/resize-vertical-2x.png +share/res/cursor-themes/Default/resize-vertical.png +share/res/cursor-themes/Default/wait.f14t100-2x.png +share/res/cursor-themes/Default/wait.f14t100.png +share/res/cursor-themes/Default/zoom.x0y0-2x.png +share/res/cursor-themes/Default/zoom.x0y0.png +share/res/fonts/AtaraxiaBold10.font +share/res/fonts/AtaraxiaBold8.font +share/res/fonts/AtaraxiaLight10.font +share/res/fonts/AtaraxiaLight8.font +share/res/fonts/CJKBiƔngRegular36.font +share/res/fonts/CathodeRegular10.font +share/res/fonts/ComicBookRegular10.font +share/res/fonts/CsillaBold10.font +share/res/fonts/CsillaBold12.font +share/res/fonts/CsillaRegular10.font +share/res/fonts/CsillaRegular12.font +share/res/fonts/KaticaBold10.font +share/res/fonts/KaticaBold12.font +share/res/fonts/KaticaBoldOblique10.font +share/res/fonts/KaticaItalic10.font +share/res/fonts/KaticaRegular10.font +share/res/fonts/KaticaRegular12.font +share/res/fonts/LiberationMono-Bold.ttf +share/res/fonts/LiberationMono-BoldItalic.ttf +share/res/fonts/LiberationMono-Italic.ttf +share/res/fonts/LiberationMono-Regular.ttf +share/res/fonts/LiberationSans-Bold.ttf +share/res/fonts/LiberationSans-BoldItalic.ttf +share/res/fonts/LiberationSans-Italic.ttf +share/res/fonts/LiberationSans-Regular.ttf +share/res/fonts/LiberationSerif-Bold.ttf +share/res/fonts/LiberationSerif-BoldItalic.ttf +share/res/fonts/LiberationSerif-Italic.ttf +share/res/fonts/LiberationSerif-Regular.ttf +share/res/fonts/LizaBlack10.font +share/res/fonts/LizaBlack24.font +share/res/fonts/LizaBlack36.font +share/res/fonts/LizaBold10.font +share/res/fonts/LizaBold24.font +share/res/fonts/LizaBold36.font +share/res/fonts/LizaRegular10.font +share/res/fonts/LizaRegular24.font +share/res/fonts/LizaRegular36.font +share/res/fonts/LucidityBold12.font +share/res/fonts/LucidityRegular12.font +share/res/fonts/MarietaBold24.font +share/res/fonts/MarietaBold36.font +share/res/fonts/MarietaRegular24.font +share/res/fonts/MarietaRegular36.font +share/res/fonts/PebbletonBold14.font +share/res/fonts/PebbletonRegular14.font +share/res/fonts/RomanItalic10.font +share/res/fonts/RomanItalic8.font +share/res/fonts/RomanRegular10.font +share/res/fonts/SatoriBold10.font +share/res/fonts/SatoriMonoBold10.font +share/res/fonts/SatoriMonoRegular10.font +share/res/fonts/SatoriRegular10.font +share/res/fonts/SerenitySans-Regular.ttf +share/res/fonts/SourceBold10.font +share/res/fonts/SourceItalic10.font +share/res/fonts/SourceRegular10.font +share/res/fonts/TengchahRegular12.font +share/res/fonts/TinierRegular5.font +share/res/fonts/TinyRegular6.font +share/res/html/directory.html +share/res/html/error.html +share/res/html/misc/90s-bg.png +share/res/html/misc/accent-color.html +share/res/html/misc/acid1.html +share/res/html/misc/acid2.html +share/res/html/misc/afrag.html +share/res/html/misc/alert.html +share/res/html/misc/async-js.html +share/res/html/misc/attr-invalidate-style.html +share/res/html/misc/attributes.html +share/res/html/misc/attrselectors.html +share/res/html/misc/backdrop-filter.html +share/res/html/misc/background-no-repeat.html +share/res/html/misc/background-position-xy.html +share/res/html/misc/background-repeat-test.html +share/res/html/misc/background-repeat-x.html +share/res/html/misc/background-repeat-y.html +share/res/html/misc/background-repeat.html +share/res/html/misc/background-repeat.png +share/res/html/misc/backgrounds.html +share/res/html/misc/blank-no-doctype.html +share/res/html/misc/blank.html +share/res/html/misc/blink.html +share/res/html/misc/border-radius.html +share/res/html/misc/borders.html +share/res/html/misc/box-shadow.html +share/res/html/misc/br.html +share/res/html/misc/button.html +share/res/html/misc/calc.html +share/res/html/misc/canvas-clip-path.html +share/res/html/misc/canvas-global-alpha.html +share/res/html/misc/canvas-gradients.html +share/res/html/misc/canvas-path-quadratic-curve.html +share/res/html/misc/canvas-path-rect.html +share/res/html/misc/canvas-path.html +share/res/html/misc/canvas-path2d.html +share/res/html/misc/canvas-patterns.html +share/res/html/misc/canvas-rotate.html +share/res/html/misc/canvas-text.html +share/res/html/misc/canvas.html +share/res/html/misc/car.png +share/res/html/misc/cascade-keywords.html +share/res/html/misc/checkbox.html +share/res/html/misc/class-list.html +share/res/html/misc/clear-1.html +share/res/html/misc/clip.html +share/res/html/misc/colors.html +share/res/html/misc/computed-style.html +share/res/html/misc/contenteditable.html +share/res/html/misc/cookie.html +share/res/html/misc/css-animations.html +share/res/html/misc/css-import-1.css +share/res/html/misc/css-import-2.css +share/res/html/misc/css-import-3.css +share/res/html/misc/css-import-relative/css-import-4a.css +share/res/html/misc/css-import-relative/css-import-4b.css +share/res/html/misc/css-import.html +share/res/html/misc/css.html +share/res/html/misc/cursor.html +share/res/html/misc/custom-list-item-2.png +share/res/html/misc/custom-list-item.png +share/res/html/misc/custom-properties.html +share/res/html/misc/data-url.html +share/res/html/misc/ddssuite.html +share/res/html/misc/ddssuite_files/DXT1-mipmap.dds +share/res/html/misc/ddssuite_files/DXT1.dds +share/res/html/misc/ddssuite_files/DXT3-alpha.dds +share/res/html/misc/ddssuite_files/DXT3.dds +share/res/html/misc/ddssuite_files/DXT5-alpha.dds +share/res/html/misc/ddssuite_files/DXT5.dds +share/res/html/misc/demo.html +share/res/html/misc/display-grid.html +share/res/html/misc/display-table.html +share/res/html/misc/dom.html +share/res/html/misc/effects_with_opacity_and_transforms.html +share/res/html/misc/empty.html +share/res/html/misc/event-bubbling-and-multiple-listeners.html +share/res/html/misc/events.html +share/res/html/misc/exceptions.html +share/res/html/misc/first-child.html +share/res/html/misc/first-of-type.html +share/res/html/misc/flex-2.html +share/res/html/misc/flex-item-preferred-size-should-be-intrinsic-size-contribution.html +share/res/html/misc/flex-order.html +share/res/html/misc/flex.html +share/res/html/misc/float-1.html +share/res/html/misc/float-2.html +share/res/html/misc/float-3.html +share/res/html/misc/float-around-things.html +share/res/html/misc/float-stress-1.html +share/res/html/misc/float-stress-2.html +share/res/html/misc/float-stress-3.html +share/res/html/misc/focus.html +share/res/html/misc/font-face.html +share/res/html/misc/fonts.html +share/res/html/misc/form.html +share/res/html/misc/formdata.html +share/res/html/misc/fun-canvas.js +share/res/html/misc/gifsuite.html +share/res/html/misc/gifsuite_files/animated_interlaced_loop-0.png +share/res/html/misc/gifsuite_files/animated_interlaced_loop-1.png +share/res/html/misc/gifsuite_files/animated_interlaced_loop-2.png +share/res/html/misc/gifsuite_files/animated_interlaced_loop-3.png +share/res/html/misc/gifsuite_files/animated_interlaced_loop.gif +share/res/html/misc/gifsuite_files/animated_loop-0.png +share/res/html/misc/gifsuite_files/animated_loop-1.png +share/res/html/misc/gifsuite_files/animated_loop-2.png +share/res/html/misc/gifsuite_files/animated_loop-3.png +share/res/html/misc/gifsuite_files/animated_loop.gif +share/res/html/misc/gifsuite_files/animated_loop_variable_delay-0.png +share/res/html/misc/gifsuite_files/animated_loop_variable_delay-1.png +share/res/html/misc/gifsuite_files/animated_loop_variable_delay-2.png +share/res/html/misc/gifsuite_files/animated_loop_variable_delay-3.png +share/res/html/misc/gifsuite_files/animated_loop_variable_delay.gif +share/res/html/misc/gifsuite_files/animated_noloop-0.png +share/res/html/misc/gifsuite_files/animated_noloop-1.png +share/res/html/misc/gifsuite_files/animated_noloop-2.png +share/res/html/misc/gifsuite_files/animated_noloop-3.png +share/res/html/misc/gifsuite_files/animated_noloop.gif +share/res/html/misc/gifsuite_files/animated_transparent_firstframerestoreprev_loop-0.png +share/res/html/misc/gifsuite_files/animated_transparent_firstframerestoreprev_loop-1.png +share/res/html/misc/gifsuite_files/animated_transparent_firstframerestoreprev_loop-2.png +share/res/html/misc/gifsuite_files/animated_transparent_firstframerestoreprev_loop-3.png +share/res/html/misc/gifsuite_files/animated_transparent_firstframerestoreprev_loop.gif +share/res/html/misc/gifsuite_files/animated_transparent_frame_norestore_loop-0.png +share/res/html/misc/gifsuite_files/animated_transparent_frame_norestore_loop-1.png +share/res/html/misc/gifsuite_files/animated_transparent_frame_norestore_loop-2.png +share/res/html/misc/gifsuite_files/animated_transparent_frame_norestore_loop-3.png +share/res/html/misc/gifsuite_files/animated_transparent_frame_norestore_loop.gif +share/res/html/misc/gifsuite_files/animated_transparent_frame_restorebackground_loop-0.png +share/res/html/misc/gifsuite_files/animated_transparent_frame_restorebackground_loop-1.png +share/res/html/misc/gifsuite_files/animated_transparent_frame_restorebackground_loop-2.png +share/res/html/misc/gifsuite_files/animated_transparent_frame_restorebackground_loop-3.png +share/res/html/misc/gifsuite_files/animated_transparent_frame_restorebackground_loop.gif +share/res/html/misc/gifsuite_files/animated_transparent_frame_restoreprev_loop-0.png +share/res/html/misc/gifsuite_files/animated_transparent_frame_restoreprev_loop-1.png +share/res/html/misc/gifsuite_files/animated_transparent_frame_restoreprev_loop-2.png +share/res/html/misc/gifsuite_files/animated_transparent_frame_restoreprev_loop-3.png +share/res/html/misc/gifsuite_files/animated_transparent_frame_restoreprev_loop.gif +share/res/html/misc/gifsuite_files/animated_transparent_loop-0.png +share/res/html/misc/gifsuite_files/animated_transparent_loop-1.png +share/res/html/misc/gifsuite_files/animated_transparent_loop-2.png +share/res/html/misc/gifsuite_files/animated_transparent_loop-3.png +share/res/html/misc/gifsuite_files/animated_transparent_loop.gif +share/res/html/misc/gifsuite_files/animated_transparent_loop_frames_out_of_bounds-0.png +share/res/html/misc/gifsuite_files/animated_transparent_loop_frames_out_of_bounds-1.png +share/res/html/misc/gifsuite_files/animated_transparent_loop_frames_out_of_bounds-2.png +share/res/html/misc/gifsuite_files/animated_transparent_loop_frames_out_of_bounds-3.png +share/res/html/misc/gifsuite_files/animated_transparent_loop_frames_out_of_bounds.gif +share/res/html/misc/gifsuite_files/animated_transparent_restoreprev_loop-0.png +share/res/html/misc/gifsuite_files/animated_transparent_restoreprev_loop-1.png +share/res/html/misc/gifsuite_files/animated_transparent_restoreprev_loop-2.png +share/res/html/misc/gifsuite_files/animated_transparent_restoreprev_loop-3.png +share/res/html/misc/gifsuite_files/animated_transparent_restoreprev_loop.gif +share/res/html/misc/gifsuite_files/bad_lzw_data.gif +share/res/html/misc/gifsuite_files/bkgd.png +share/res/html/misc/gifsuite_files/static_nontransparent.gif +share/res/html/misc/gifsuite_files/static_nontransparent.png +share/res/html/misc/gifsuite_files/static_transparent.gif +share/res/html/misc/gifsuite_files/static_transparent.png +share/res/html/misc/gol-wasm.html +share/res/html/misc/gradients.html +share/res/html/misc/hover.html +share/res/html/misc/html-escape-test.html +share/res/html/misc/iframe-subframe.html +share/res/html/misc/iframe.html +share/res/html/misc/image-rendering.html +share/res/html/misc/images.html +share/res/html/misc/img-canvas.html +share/res/html/misc/inline-block-link.html +share/res/html/misc/inline-block.html +share/res/html/misc/inline-node.html +share/res/html/misc/innerHTML.html +share/res/html/misc/innertext_textcontent.html +share/res/html/misc/input.html +share/res/html/misc/is-selector.html +share/res/html/misc/jpg.html +share/res/html/misc/jpgsuite_files/chroma-quartered-lena.jpg +share/res/html/misc/jpgsuite_files/horizontally-halved-lena.jpg +share/res/html/misc/jpgsuite_files/non-subsampled-lena.jpg +share/res/html/misc/jpgsuite_files/oh-lena.jpg +share/res/html/misc/jpgsuite_files/vertically-halved-lena.jpg +share/res/html/misc/justify-content.html +share/res/html/misc/key-logger.html +share/res/html/misc/last-child.html +share/res/html/misc/last-of-type.html +share/res/html/misc/link-over-zindex-block.html +share/res/html/misc/link.css +share/res/html/misc/link.html +share/res/html/misc/lists.html +share/res/html/misc/location.html +share/res/html/misc/lorem.html +share/res/html/misc/mandelbrot-wasm.html +share/res/html/misc/many-buggies.html +share/res/html/misc/margin-collapse-1.html +share/res/html/misc/margin-collapse-2.html +share/res/html/misc/margin-collapse-3.html +share/res/html/misc/margin-collapse-4.html +share/res/html/misc/media-queries.html +share/res/html/misc/message-channel.html +share/res/html/misc/more-attribute-selectors.html +share/res/html/misc/mouse-events.html +share/res/html/misc/new-tab.html +share/res/html/misc/noscript.html +share/res/html/misc/not-selector.html +share/res/html/misc/nth-child.html +share/res/html/misc/nth-last-child.html +share/res/html/misc/nth-last-of-type.html +share/res/html/misc/nth-of-type.html +share/res/html/misc/old-computer.png +share/res/html/misc/only-child.html +share/res/html/misc/opacity.html +share/res/html/misc/outline.html +share/res/html/misc/overflow.html +share/res/html/misc/padding-inline.html +share/res/html/misc/palette.html +share/res/html/misc/pbmsuite.html +share/res/html/misc/pbmsuite_files/buggie-ascii.pbm +share/res/html/misc/pbmsuite_files/buggie-raw.pbm +share/res/html/misc/pbmsuite_files/buggie.png +share/res/html/misc/percent-css.html +share/res/html/misc/pgmsuite.html +share/res/html/misc/pgmsuite_files/buggie-ascii.pgm +share/res/html/misc/pgmsuite_files/buggie-raw.pgm +share/res/html/misc/pgmsuite_files/buggie.png +share/res/html/misc/phint.html +share/res/html/misc/pngsuite_bas_png.html +share/res/html/misc/pngsuite_int_png.html +share/res/html/misc/pngsuite_siz_png.html +share/res/html/misc/position-absolute-from-edges.html +share/res/html/misc/position-absolute-top-left.html +share/res/html/misc/ppmsuite.html +share/res/html/misc/ppmsuite_files/buggie-ascii.ppm +share/res/html/misc/ppmsuite_files/buggie-raw.ppm +share/res/html/misc/ppmsuite_files/buggie.png +share/res/html/misc/pre.html +share/res/html/misc/private-element-test.html +share/res/html/misc/progressbar.html +share/res/html/misc/prompt.html +share/res/html/misc/pseudo-elements.html +share/res/html/misc/qsa.html +share/res/html/misc/radio.html +share/res/html/misc/raf.html +share/res/html/misc/root.html +share/res/html/misc/script-preparation-test.html +share/res/html/misc/selectors.html +share/res/html/misc/serenity-screenshot.png +share/res/html/misc/set-timeout-and-interval.html +share/res/html/misc/simple.html +share/res/html/misc/small.html +share/res/html/misc/storage.html +share/res/html/misc/supports.html +share/res/html/misc/svg-fill-rule.html +share/res/html/misc/svg-gradients.html +share/res/html/misc/svg-preserve-aspect-ratio.html +share/res/html/misc/svg-transforms.html +share/res/html/misc/svg.html +share/res/html/misc/targasuite_files/buggie-bottom-left-compressed.tga +share/res/html/misc/targasuite_files/buggie-bottom-left-uncompressed.tga +share/res/html/misc/targasuite_files/buggie-top-left-compressed.tga +share/res/html/misc/targasuite_files/buggie-top-left-uncompressed.tga +share/res/html/misc/test-cff.woff +share/res/html/misc/test-cff.woff2 +share/res/html/misc/test-truetype.woff +share/res/html/misc/test-truetype.woff2 +share/res/html/misc/test.otf +share/res/html/misc/test.ttf +share/res/html/misc/text-decoration.html +share/res/html/misc/text-shadow.html +share/res/html/misc/textarea.html +share/res/html/misc/tile.png +share/res/html/misc/transform.html +share/res/html/misc/trigonometry.html +share/res/html/misc/unhandledpromisetest.html +share/res/html/misc/vertical-align.html +share/res/html/misc/video-source-children.html +share/res/html/misc/video-webm.html +share/res/html/misc/wasm.html +share/res/html/misc/webgl-clear-color-and-multiple-contexts.html +share/res/html/misc/websocket.html +share/res/html/misc/welcome.html +share/res/html/misc/welcome.js +share/res/html/misc/where-selector.html +share/res/html/misc/worker.js +share/res/html/misc/worker_parent.html +share/res/icons/16x16/add-event.png +share/res/icons/16x16/app-2048.png +share/res/icons/16x16/app-3d-file-viewer.png +share/res/icons/16x16/app-analog-clock.png +share/res/icons/16x16/app-assistant.png +share/res/icons/16x16/app-brickgame.png +share/res/icons/16x16/app-browser.png +share/res/icons/16x16/app-calculator.png +share/res/icons/16x16/app-calendar.png +share/res/icons/16x16/app-catdog.png +share/res/icons/16x16/app-character-map.png +share/res/icons/16x16/app-chess.png +share/res/icons/16x16/app-colorlines.png +share/res/icons/16x16/app-crash-reporter.png +share/res/icons/16x16/app-display-settings.png +share/res/icons/16x16/app-escalator.png +share/res/icons/16x16/app-eyes.png +share/res/icons/16x16/app-file-manager.png +share/res/icons/16x16/app-flappybug.png +share/res/icons/16x16/app-flood.png +share/res/icons/16x16/app-font-editor.png +share/res/icons/16x16/app-gameoflife.png +share/res/icons/16x16/app-gml-playground.png +share/res/icons/16x16/app-gradient.png +share/res/icons/16x16/app-hack-studio.png +share/res/icons/16x16/app-hearts.png +share/res/icons/16x16/app-hello-world.png +share/res/icons/16x16/app-help.png +share/res/icons/16x16/app-hex-editor.png +share/res/icons/16x16/app-inspector.png +share/res/icons/16x16/app-keyboard-mapper.png +share/res/icons/16x16/app-keyboard-settings.png +share/res/icons/16x16/app-libgfx-demo.png +share/res/icons/16x16/app-magnifier.png +share/res/icons/16x16/app-mail.png +share/res/icons/16x16/app-mandelbrot.png +share/res/icons/16x16/app-maps.png +share/res/icons/16x16/app-masterword.png +share/res/icons/16x16/app-minesweeper.png +share/res/icons/16x16/app-model-gallery.png +share/res/icons/16x16/app-mouse.png +share/res/icons/16x16/app-partition-editor.png +share/res/icons/16x16/app-pdf-viewer.png +share/res/icons/16x16/app-piano.png +share/res/icons/16x16/app-pixel-paint.png +share/res/icons/16x16/app-presenter.png +share/res/icons/16x16/app-profiler.png +share/res/icons/16x16/app-run.png +share/res/icons/16x16/app-screensaver.png +share/res/icons/16x16/app-settings.png +share/res/icons/16x16/app-snake.png +share/res/icons/16x16/app-solitaire.png +share/res/icons/16x16/app-sound-player.png +share/res/icons/16x16/app-space-analyzer.png +share/res/icons/16x16/app-spider.png +share/res/icons/16x16/app-spreadsheet.png +share/res/icons/16x16/app-sql-studio.png +share/res/icons/16x16/app-starfield.png +share/res/icons/16x16/app-system-monitor.png +share/res/icons/16x16/app-terminal.png +share/res/icons/16x16/app-text-editor.png +share/res/icons/16x16/app-theme-editor.png +share/res/icons/16x16/app-tubes.png +share/res/icons/16x16/app-video-player.png +share/res/icons/16x16/app-welcome.png +share/res/icons/16x16/app-widget-gallery.png +share/res/icons/16x16/audio-volume-high.png +share/res/icons/16x16/audio-volume-low.png +share/res/icons/16x16/audio-volume-medium.png +share/res/icons/16x16/audio-volume-muted.png +share/res/icons/16x16/audio-volume-zero.png +share/res/icons/16x16/book-open.png +share/res/icons/16x16/book.png +share/res/icons/16x16/bookmark-contour.png +share/res/icons/16x16/bookmark-filled.png +share/res/icons/16x16/bottom-layer.png +share/res/icons/16x16/breakpoint.png +share/res/icons/16x16/build.png +share/res/icons/16x16/c.png +share/res/icons/16x16/calendar-date.png +share/res/icons/16x16/calendar-month-view.png +share/res/icons/16x16/certificate.png +share/res/icons/16x16/clear-selection.png +share/res/icons/16x16/close-other-tabs.png +share/res/icons/16x16/close-tab.png +share/res/icons/16x16/code.png +share/res/icons/16x16/color-chooser.png +share/res/icons/16x16/columns-view.png +share/res/icons/16x16/commit.png +share/res/icons/16x16/completion/cpp-identifier.png +share/res/icons/16x16/completion/unspecified-identifier.png +share/res/icons/16x16/completion/unspecified-unspecified.png +share/res/icons/16x16/continue.png +share/res/icons/16x16/debug-continue.png +share/res/icons/16x16/debug-pause.png +share/res/icons/16x16/debug-run.png +share/res/icons/16x16/debug-step-in.png +share/res/icons/16x16/debug-step-out.png +share/res/icons/16x16/debug-step-over.png +share/res/icons/16x16/delete.png +share/res/icons/16x16/demos.png +share/res/icons/16x16/desktop.png +share/res/icons/16x16/development.png +share/res/icons/16x16/download.png +share/res/icons/16x16/downward-triangle-2x.png +share/res/icons/16x16/downward-triangle.png +share/res/icons/16x16/duplicate-tab.png +share/res/icons/16x16/edit-copy.png +share/res/icons/16x16/edit-cut.png +share/res/icons/16x16/edit-flip-horizontal.png +share/res/icons/16x16/edit-flip-vertical.png +share/res/icons/16x16/edit-rotate-ccw.png +share/res/icons/16x16/edit-rotate-cw.png +share/res/icons/16x16/emoji.png +share/res/icons/16x16/file-export.png +share/res/icons/16x16/filetype-archive.png +share/res/icons/16x16/filetype-asm.png +share/res/icons/16x16/filetype-c.png +share/res/icons/16x16/filetype-calendar.png +share/res/icons/16x16/filetype-cmake.png +share/res/icons/16x16/filetype-cplusplus.png +share/res/icons/16x16/filetype-css.png +share/res/icons/16x16/filetype-db.png +share/res/icons/16x16/filetype-executable.png +share/res/icons/16x16/filetype-folder-inaccessible.png +share/res/icons/16x16/filetype-folder-open.png +share/res/icons/16x16/filetype-folder.png +share/res/icons/16x16/filetype-font.png +share/res/icons/16x16/filetype-form.png +share/res/icons/16x16/filetype-git.png +share/res/icons/16x16/filetype-gml.png +share/res/icons/16x16/filetype-header.png +share/res/icons/16x16/filetype-html.png +share/res/icons/16x16/filetype-image.png +share/res/icons/16x16/filetype-ini.png +share/res/icons/16x16/filetype-java.png +share/res/icons/16x16/filetype-javascript.png +share/res/icons/16x16/filetype-json.png +share/res/icons/16x16/filetype-library.png +share/res/icons/16x16/filetype-markdown.png +share/res/icons/16x16/filetype-music.png +share/res/icons/16x16/filetype-object.png +share/res/icons/16x16/filetype-palette.png +share/res/icons/16x16/filetype-pdf.png +share/res/icons/16x16/filetype-php.png +share/res/icons/16x16/filetype-pixelpaint.png +share/res/icons/16x16/filetype-presenter.png +share/res/icons/16x16/filetype-python.png +share/res/icons/16x16/filetype-ruby.png +share/res/icons/16x16/filetype-shell.png +share/res/icons/16x16/filetype-socket.png +share/res/icons/16x16/filetype-sound.png +share/res/icons/16x16/filetype-spreadsheet.png +share/res/icons/16x16/filetype-sql.png +share/res/icons/16x16/filetype-symlink.png +share/res/icons/16x16/filetype-text.png +share/res/icons/16x16/filetype-truetype.png +share/res/icons/16x16/filetype-unknown.png +share/res/icons/16x16/filetype-video.png +share/res/icons/16x16/filetype-wasm.png +share/res/icons/16x16/find-next.png +share/res/icons/16x16/find-previous.png +share/res/icons/16x16/find.png +share/res/icons/16x16/fit-image-to-view.png +share/res/icons/16x16/fullscreen.png +share/res/icons/16x16/games.png +share/res/icons/16x16/gear.png +share/res/icons/16x16/git-directory-open.png +share/res/icons/16x16/git-directory.png +share/res/icons/16x16/go-back.png +share/res/icons/16x16/go-down.png +share/res/icons/16x16/go-first.png +share/res/icons/16x16/go-forward.png +share/res/icons/16x16/go-home.png +share/res/icons/16x16/go-last.png +share/res/icons/16x16/go-to.png +share/res/icons/16x16/go-up.png +share/res/icons/16x16/graphics.png +share/res/icons/16x16/hackstudio-project.png +share/res/icons/16x16/hard-disk.png +share/res/icons/16x16/hex.png +share/res/icons/16x16/highpriority.png +share/res/icons/16x16/history.png +share/res/icons/16x16/home-directory-open.png +share/res/icons/16x16/home-directory.png +share/res/icons/16x16/icon-view.png +share/res/icons/16x16/inspect.png +share/res/icons/16x16/inspector-object-red.png +share/res/icons/16x16/inspector-object.png +share/res/icons/16x16/internet.png +share/res/icons/16x16/kill.png +share/res/icons/16x16/ladyball.png +share/res/icons/16x16/ladybug.png +share/res/icons/16x16/layers.png +share/res/icons/16x16/layout-horizontally.png +share/res/icons/16x16/layout-vertically.png +share/res/icons/16x16/layout.png +share/res/icons/16x16/lowpriority.png +share/res/icons/16x16/minus.png +share/res/icons/16x16/mkdir.png +share/res/icons/16x16/move-to-back.png +share/res/icons/16x16/move-to-front.png +share/res/icons/16x16/move.png +share/res/icons/16x16/multimedia.png +share/res/icons/16x16/network-connected.png +share/res/icons/16x16/network-disconnected.png +share/res/icons/16x16/network.png +share/res/icons/16x16/new-layer.png +share/res/icons/16x16/new-tab.png +share/res/icons/16x16/new-window.png +share/res/icons/16x16/new.png +share/res/icons/16x16/normalpriority.png +share/res/icons/16x16/office.png +share/res/icons/16x16/open-parent-directory.png +share/res/icons/16x16/open-recent.png +share/res/icons/16x16/open.png +share/res/icons/16x16/overflow-menu.png +share/res/icons/16x16/paste.png +share/res/icons/16x16/pause.png +share/res/icons/16x16/play-debug.png +share/res/icons/16x16/play.png +share/res/icons/16x16/plus.png +share/res/icons/16x16/power.png +share/res/icons/16x16/program-pause.png +share/res/icons/16x16/program-run.png +share/res/icons/16x16/program-stop.png +share/res/icons/16x16/properties.png +share/res/icons/16x16/redo.png +share/res/icons/16x16/reformat.png +share/res/icons/16x16/reload.png +share/res/icons/16x16/rename.png +share/res/icons/16x16/run.png +share/res/icons/16x16/save-as.png +share/res/icons/16x16/save.png +share/res/icons/16x16/scale.png +share/res/icons/16x16/select-all.png +share/res/icons/16x16/selection-move.png +share/res/icons/16x16/serenity.ico +share/res/icons/16x16/settings.png +share/res/icons/16x16/sidebar.png +share/res/icons/16x16/spoof.png +share/res/icons/16x16/stop-hand.png +share/res/icons/16x16/stop.png +share/res/icons/16x16/table-view.png +share/res/icons/16x16/text-color.png +share/res/icons/16x16/themes.png +share/res/icons/16x16/timer.png +share/res/icons/16x16/top-layer.png +share/res/icons/16x16/trash-can.png +share/res/icons/16x16/undo.png +share/res/icons/16x16/upward-triangle-2x.png +share/res/icons/16x16/upward-triangle.png +share/res/icons/16x16/utilities.png +share/res/icons/16x16/window-close-2x.png +share/res/icons/16x16/window-close-modified-2x.png +share/res/icons/16x16/window-close-modified.png +share/res/icons/16x16/window-close.png *** 328 LINES SKIPPED ***