PageSourceSearch

https://puzzlepave.com/vertical-defense

html puzzlepave.com collected 2026-10-04 10:08:40 UTC 19,697 bytes, 15 lines download raw bytes

1<!DOCTYPE html><!--q75n_7j_gxAZeK9zYFH8N--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, viewport-fit=cover"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="image" href="/icon0.svg"/><link rel="stylesheet" href="/_next/static/css/d70e645d9bad8948.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-64f5c82b467e9808.js"/>
1<script src="/_next/static/chunks/c6951b29-7549d326364ed404.js" async=""></script>
1<script src="/_next/static/chunks/724-a029ad81f143507d.js" async=""></script>
1<script src="/_next/static/chunks/main-app-2d11df59a88c9ec4.js" async=""></script>
1<script src="/_next/static/chunks/f8937870-1575cc9286ac1f92.js" async=""></script>
1<script src="/_next/static/chunks/186-833cf3d523375ba5.js" async=""></script>
1<script src="/_next/static/chunks/262-8419012b9e410d63.js" async=""></script>
1<script src="/_next/static/chunks/732-ea8d174cb25991f6.js" async=""></script>
1<script src="/_next/static/chunks/299-45dcf57c87acbfcf.js" async=""></script>
1<script src="/_next/static/chunks/689-ddd08fb7e3c12c1d.js" async=""></script>
1<script src="/_next/static/chunks/359-a2bc8f554bcd65e1.js" async=""></script>
1<script src="/_next/static/chunks/app/vertical-defense/page-16c6560b8b025903.js" async=""></script>
1<script src="/_next/static/chunks/fe56b05f-9317456f33030eab.js" async=""></script>
1<script src="/_next/static/chunks/app/layout-17f3ee04616f372d.js" async=""></script>
1<link rel="preload" href="https://www.googletagmanager.com/gtag/js?id=G-FB699LEFPV" as="script"/><meta name="apple-mobile-web-app-title" content="AIStoryWriter"/><title>Vertical Defense - Portrait Wall Defense Game | PuzzlePave</title><meta name="description" content="Play a portrait wall defense game where a hero stands behind a fortified wall, enemies fall from above, and level-ups draft random weapon upgrades."/><link rel="manifest" href="/manifest.json"/><meta name="keywords" content="vertical defense game,portrait tower defense,wall defense game,browser defense game"/><link rel="canonical" href="https://puzzlepave.com/vertical-defense"/><meta property="og:title" content="Vertical Defense - Portrait Wall Defense Game | PuzzlePave"/><meta property="og:description" content="A portrait defense game with wall HP, enemy projectiles, and random weapon upgrade drafts."/><meta property="og:url" content="https://puzzlepave.com/vertical-defense"/><meta property="og:image" content="https://puzzlepave.com/icon0.svg"/><meta property="og:image:width" content="512"/><meta property="og:image:height" content="512"/><meta property="og:image:alt" content="PuzzlePave Vertical Defense"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Vertical Defense - Portrait Wall Defense Game | PuzzlePave"/><meta name="twitter:description" content="A portrait defense game with wall HP, enemy projectiles, and random weapon upgrade drafts."/><meta name="twitter:image" content="https://puzzlepave.com/icon0.svg"/><link rel="icon" href="/favicon.ico" type="image/x-icon" sizes="48x48"/><link rel="icon" href="/icon0.svg?03bd9a244b51b65d" type="image/svg+xml" sizes="any"/><link rel="icon" href="/icon1.png?e006472442827368" type="image/png" sizes="96x96"/><link rel="apple-touch-icon" href="/apple-icon.png?e75e3680e9dffba5" type="image/png" sizes="180x180"/>
1<script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script>
1</head><body class="font-sans antialiased bg-gradient-to-b from-hunata-100 to-30% to-white"><div hidden=""><!--$--><!--/$--></div><div class="flex flex-col min-h-screen justify-between"><div><div class="mb-4 sticky z-10 top-0 transition-all bg-white backdrop-blur-sm bg-opacity-90"><div class="max-w-[1280px] px-4 mx-auto flex justify-between items-center py-3 transition-all"><div class="flex items-center gap-4"><div class="font-bold text-xl"><a class="flex items-center gap-2" href="/"><span class="w-[40px] rounded-lg overflow-hidden"><img src="/icon0.svg" class="" alt="logo"/></span><span class="hidden sm:inline">PuzzlePave</span></a></div><div class="hidden md:flex gap-4 ml-10"><a class="rounded px-3 py-1 font-medium transition-all hover:bg-gray-50 hover:text-indigo-600" href="/#how-to">How to</a><a class="rounded px-3 py-1 font-medium transition-all hover:bg-gray-50 hover:text-indigo-600" href="/#features">Features</a><a class="rounded px-3 py-1 font-medium transition-all hover:bg-gray-50 hover:text-indigo-600" href="/#faq">FAQ</a><a class="rounded px-3 py-1 font-medium transition-all hover:bg-gray-50 hover:text-indigo-600" href="/tower-defense">Tower Defense</a><a class="rounded px-3 py-1 font-medium transition-all bg-indigo-50 text-indigo-700" href="/vertical-defense">Vertical Defense</a></div></div><div class="md:hidden"><button class="p-2 rounded-md hover:bg-gray-100 transition-colors" aria-label="Toggle menu"><svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16"></path></svg></button></div><div class="hidden md:flex items-center gap-4"></div></div></div><div class="max-w-screen-xl mx-auto px-4 md:px-6"><main class="py-4 md:py-6"><div class="mx-auto max-w-[560px]"><div class="relative w-full overflow-hidden rounded-[1.75rem] border border-slate-200 bg-slate-950 shadow-2xl shadow-slate-900/15 outline-none" style="height:clamp(820px, 94dvh, 1180px)"><canvas tabindex="0" aria-label="Vertical defense game canvas" aria-describedby="vertical-defense-help" class="block h-full w-full touch-manipulation" style="touch-action:manipulation"></canvas><p id="vertical-defense-help" class="sr-only">Defend the wall against enemies falling from the top. When you level up, choose one of three weapon upgrades. Use Restart to begin again, and Expand to fill the screen.</p></div></div></main></div></div><div class="mt-4 w-full max-w-screen-xl mx-auto px-4"><div class="flex flex-col md:flex-row items-start md:items-center justify-between border-t py-6 gap-4"><div class="text-left text-xs text-gray-500 space-y-1"><div>© 2025 PuzzlePave. All rights reserved.</div><div><a href="/cdn-cgi/l/email-protection#e88b87869c898b9ca8989d9292848d98899e8dc68b8785" class="hover:text-gray-700 transition-colors"><span class="__cf_email__" data-cfemail="46252928322725320636333c3c2a23362730236825292b">[email&#160;protected]</span></a></div></div><div class="flex flex-col md:flex-row items-start md:items-center gap-3 md:gap-6 text-sm"><a href="/terms-of-use" class="hover:text-indigo-600 transition-colors">Terms of Use</a><a href="/privacy-policy" class="hover:text-indigo-600 transition-colors">Privacy Policy</a></div></div></div></div><!--$--><!--/$--><section aria-label="Notifications alt+T" tabindex="-1" aria-live="polite" aria-relevant="additions text" aria-atomic="false"></section>
vendor: 108 bytes, line 1
1<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
1<script>
2            function gtag_report_conversion(url) {
3              var callback = function () {
4                if (typeof(url) != 'undefined') {
5                  window.location = url;
6                }
7              };
8              gtag('event', 'conversion', {
9                  'send_to': 'AW-16871836703/qj-aCNWJjtMaEJ-Yj-0-',
10                  'event_callback': callback
11              });
12              return false;
13            }
14        </script>
14<script src="/_next/static/chunks/webpack-64f5c82b467e9808.js" id="_R_" async=""></script>
14<script>(self.__next_f=self.__next_f||[]).push([0])</script>
14<script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n3:I[21803,[],\"\"]\n4:I[38871,[],\"\"]\n5:I[97969,[\"533\",\"static/chunks/f8937870-1575cc9286ac1f92.js\",\"186\",\"static/chunks/186-833cf3d523375ba5.js\",\"262\",\"static/chunks/262-8419012b9e410d63.js\",\"732\",\"static/chunks/732-ea8d174cb25991f6.js\",\"299\",\"static/chunks/299-45dcf57c87acbfcf.js\",\"689\",\"static/chunks/689-ddd08fb7e3c12c1d.js\",\"359\",\"static/chunks/359-a2bc8f554bcd65e1.js\",\"204\",\"static/chunks/app/vertical-defense/page-16c6560b8b025903.js\"],\"default\"]\n6:I[64004,[\"533\",\"static/chunks/f8937870-1575cc9286ac1f92.js\",\"186\",\"static/chunks/186-833cf3d523375ba5.js\",\"262\",\"static/chunks/262-8419012b9e410d63.js\",\"732\",\"static/chunks/732-ea8d174cb25991f6.js\",\"299\",\"static/chunks/299-45dcf57c87acbfcf.js\",\"689\",\"static/chunks/689-ddd08fb7e3c12c1d.js\",\"359\",\"static/chunks/359-a2bc8f554bcd65e1.js\",\"204\",\"static/chunks/app/vertical-defense/page-16c6560b8b025903.js\"],\"default\"]\n7:I[60079,[\"533\",\"static/chunks/f8937870-1575cc9286ac1f92.js\",\"186\",\"static/chunks/186-833cf3d523375ba5.js\",\"262\",\"static/chunks/262-8419012b9e410d63.js\",\"732\",\"static/chunks/732-ea8d174cb25991f6.js\",\"299\",\"static/chunks/299-45dcf57c87acbfcf.js\",\"689\",\"static/chunks/689-ddd08fb7e3c12c1d.js\",\"359\",\"static/chunks/359-a2bc8f554bcd65e1.js\",\"204\",\"static/chunks/app/vertical-defense/page-16c6560b8b025903.js\"],\"default\"]\n8:I[82274,[],\"OutletBoundary\"]\na:I[42935,[],\"AsyncMetadataOutlet\"]\nc:I[82274,[],\"ViewportBoundary\"]\ne:I[82274,[],\"MetadataBoundary\"]\nf:\"$Sreact.suspense\"\n11:I[57937,[],\"\"]\n:HL[\"/_next/static/css/d70e645d9bad8948.css\",\"style\"]\n"])</script>
14<script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"q75n-7j_gxAZeK9zYFH8N\",\"p\":\"\",\"c\":[\"\",\"vertical-defense\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"vertical-defense\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/d70e645d9bad8948.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],\"$L2\"]}],{\"children\":[\"vertical-defense\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col min-h-screen justify-between\",\"children\":[[\"$\",\"div\",null,{\"children\":[[\"$\",\"$L5\",null,{}],[\"$\",\"div\",null,{\"className\":\"max-w-screen-xl mx-auto px-4 md:px-6\",\"children\":[\"$\",\"main\",null,{\"className\":\"py-4 md:py-6\",\"children\":[\"$\",\"div\",null,{\"className\":\"mx-auto max-w-[560px]\",\"children\":[\"$\",\"$L6\",null,{}]}]}]}]]}],[\"$\",\"div\",null,{\"className\":\"mt-4 w-full max-w-screen-xl mx-auto px-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col md:flex-row items-start md:items-center justify-between border-t py-6 gap-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"text-left text-xs text-gray-500 space-y-1\",\"children\":[[\"$\",\"div\",null,{\"children\":\"© 2025 PuzzlePave. All rights reserved.\"}],[\"$\",\"div\",null,{\"children\":[\"$\",\"a\",null,{\"href\":\"mailto:[email protected]\",\"className\":\"hover:text-gray-700 transition-colors\",\"children\":\"[email protected]\"}]}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col md:flex-row items-start md:items-center gap-3 md:gap-6 text-sm\",\"children\":[[\"$\",\"a\",null,{\"href\":\"/terms-of-use\",\"className\":\"hover:text-indigo-600 transition-colors\",\"children\":\"Terms of Use\"}],[\"$\",\"a\",null,{\"href\":\"/privacy-policy\",\"className\":\"hover:text-indigo-600 transition-colors\",\"children\":\"Privacy Policy\"}]]}]]}],[\"$\",\"$L7\",null,{}]]}]]}],null,[\"$\",\"$L8\",null,{\"children\":[\"$L9\",[\"$\",\"$La\",null,{\"promise\":\"$@b\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$Lc\",null,{\"children\":\"$Ld\"}],null],[\"$\",\"$Le\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$f\",null,{\"fallback\":null,\"children\":\"$L10\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$11\",[]],\"s\":false,\"S\":true}\n"])</script>
14<script>self.__next_f.push([1,"12:I[51132,[\"533\",\"static/chunks/f8937870-1575cc9286ac1f92.js\",\"198\",\"static/chunks/fe56b05f-9317456f33030eab.js\",\"186\",\"static/chunks/186-833cf3d523375ba5.js\",\"262\",\"static/chunks/262-8419012b9e410d63.js\",\"177\",\"static/chunks/app/layout-17f3ee04616f372d.js\"],\"default\"]\n13:I[15314,[\"533\",\"static/chunks/f8937870-1575cc9286ac1f92.js\",\"198\",\"static/chunks/fe56b05f-9317456f33030eab.js\",\"186\",\"static/chunks/186-833cf3d523375ba5.js\",\"262\",\"static/chunks/262-8419012b9e410d63.js\",\"177\",\"static/chunks/app/layout-17f3ee04616f372d.js\"],\"default\"]\n14:I[50253,[\"533\",\"static/chunks/f8937870-1575cc9286ac1f92.js\",\"198\",\"static/chunks/fe56b05f-9317456f33030eab.js\",\"186\",\"static/chunks/186-833cf3d523375ba5.js\",\"262\",\"static/chunks/262-8419012b9e410d63.js\",\"177\",\"static/chunks/app/layout-17f3ee04616f372d.js\"],\"Toaster\"]\n15:I[26027,[\"533\",\"static/chunks/f8937870-1575cc9286ac1f92.js\",\"198\",\"static/chunks/fe56b05f-9317456f33030eab.js\",\"186\",\"static/chunks/186-833cf3d523375ba5.js\",\"262\",\"static/chunks/262-8419012b9e410d63.js\",\"177\",\"static/chunks/app/layout-17f3ee04616f372d.js\"],\"GoogleAnalytics\"]\n"])</script>
14<script>self.__next_f.push([1,"2:[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"meta\",null,{\"name\":\"apple-mobile-web-app-title\",\"content\":\"AIStoryWriter\"}],[\"$\",\"meta\",null,{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, viewport-fit=cover\"}]]}],[\"$\",\"body\",null,{\"className\":\"font-sans antialiased bg-gradient-to-b from-hunata-100 to-30% to-white\",\"children\":[[\"$\",\"$L12\",null,{\"id\":\"\"}],[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],[\"$\",\"$L13\",null,{}],[\"$\",\"$L14\",null,{}],[[\"$\",\"$L15\",null,{\"gaId\":\"G-FB699LEFPV\"}],[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"\\n            function gtag_report_conversion(url) {\\n              var callback = function () {\\n                if (typeof(url) != 'undefined') {\\n                  window.location = url;\\n                }\\n              };\\n              gtag('event', 'conversion', {\\n                  'send_to': 'AW-16871836703/qj-aCNWJjtMaEJ-Yj-0-',\\n                  'event_callback': callback\\n              });\\n              return false;\\n            }\\n        \"}}]]]}]]}]\n"])</script>
14<script>self.__next_f.push([1,"d:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n9:null\n"])</script>
14<script>self.__next_f.push([1,"16:I[79655,[],\"IconMark\"]\n"])</script>
14<script>self.__next_f.push([1,"b:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Vertical Defense - Portrait Wall Defense Game | PuzzlePave\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Play a portrait wall defense game where a hero stands behind a fortified wall, enemies fall from above, and level-ups draft random weapon upgrades.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.json\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"meta\",\"3\",{\"name\":\"keywords\",\"content\":\"vertical defense game,portrait tower defense,wall defense game,browser defense game\"}],[\"$\",\"link\",\"4\",{\"rel\":\"canonical\",\"href\":\"https://puzzlepave.com/vertical-defense\"}],[\"$\",\"meta\",\"5\",{\"property\":\"og:title\",\"content\":\"Vertical Defense - Portrait Wall Defense Game | PuzzlePave\"}],[\"$\",\"meta\",\"6\",{\"property\":\"og:description\",\"content\":\"A portrait defense game with wall HP, enemy projectiles, and random weapon upgrade drafts.\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:url\",\"content\":\"https://puzzlepave.com/vertical-defense\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:image\",\"content\":\"https://puzzlepave.com/icon0.svg\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:image:width\",\"content\":\"512\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:image:height\",\"content\":\"512\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:image:alt\",\"content\":\"PuzzlePave Vertical Defense\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"13\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"14\",{\"name\":\"twitter:title\",\"content\":\"Vertical Defense - Portrait Wall Defense Game | PuzzlePave\"}],[\"$\",\"meta\",\"15\",{\"name\":\"twitter:description\",\"content\":\"A portrait defense game with wall HP, enemy projectiles, and random weapon upgrade drafts.\"}],[\"$\",\"meta\",\"16\",{\"name\":\"twitter:image\",\"content\":\"https://puzzlepave.com/icon0.svg\"}],[\"$\",\"link\",\"17\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\",\"type\":\"image/x-icon\",\"sizes\":\"48x48\"}],[\"$\",\"link\",\"18\",{\"rel\":\"icon\",\"href\":\"/icon0.svg?03bd9a244b51b65d\",\"type\":\"image/svg+xml\",\"sizes\":\"any\"}],[\"$\",\"link\",\"19\",{\"rel\":\"icon\",\"href\":\"/icon1.png?e006472442827368\",\"type\":\"image/png\",\"sizes\":\"96x96\"}],[\"$\",\"link\",\"20\",{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-icon.png?e75e3680e9dffba5\",\"type\":\"image/png\",\"sizes\":\"180x180\"}],[\"$\",\"$L16\",\"21\",{}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script>
14<script>self.__next_f.push([1,"10:\"$b:metadata\"\n"])</script>
14<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"ba12a6c8b3b14e869a14b18a821d6bf3","r":1,"spa":2}' crossorigin="anonymous"></script>
14
15</body></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.