Skip to content

Instantly share code, notes, and snippets.

@exrhizo
Created June 27, 2024 20:58
Show Gist options
  • Save exrhizo/8111cdf88d789343d680217a9e0baab6 to your computer and use it in GitHub Desktop.
Save exrhizo/8111cdf88d789343d680217a9e0baab6 to your computer and use it in GitHub Desktop.
Prespective Reproduction 2
<!DOCTYPE html lang="en">
<html>
<head>
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=no"/>
<link rel="stylesheet" crossorigin="anonymous" href="https://cdn.jsdelivr.net/npm/@finos/perspective-viewer@2.10.1/dist/css/themes.css"/>
<script type="module">
import perspective from "https://cdn.jsdelivr.net/npm/@finos/perspective@2.10.1/dist/cdn/perspective.js";
import "https://cdn.jsdelivr.net/npm/@finos/perspective-viewer@2.10.1/dist/cdn/perspective-viewer.js";
import "https://cdn.jsdelivr.net/npm/@finos/perspective-viewer-d3fc@2.10.1/dist/cdn/perspective-viewer-d3fc.js";
import "https://cdn.jsdelivr.net/npm/@finos/perspective-viewer-datagrid@2.10.1/dist/cdn/perspective-viewer-datagrid.js";
const worker = perspective.worker();
const binary_string = window.atob(window.data.textContent);
const len = binary_string.length;
const bytes = new Uint8Array(len);
for (let i = 0; i < len; i++) {
bytes[i] = binary_string.charCodeAt(i);
}
window.viewer.load(worker.table(bytes.buffer));
window.viewer.restore(JSON.parse(window.layout.textContent));
</script>
<style>perspective-viewer{position:absolute;top:0;left:0;right:0;bottom:0}</style>
</head>
<body>
<script id='data' type="application/octet-stream">/////7gAAAAQAAAAAAAKAAwABgAFAAgACgAAAAABBAAMAAAACAAIAAAABAAIAAAABAAAAAIAAABMAAAABAAAAMz///8AAAEDEAAAACAAAAAEAAAAAAAAAAkAAABGbG93Q291bnQABgAIAAYABgAAAAAAAgAQABQACAAGAAcADAAAABAAEAAAAAAAAQIQAAAAJAAAAAQAAAAAAAAACwAAAFNvdXJjZV9Qb3J0AAgADAAIAAcACAAAAAAAAAFAAAAA/////8gAAAAUAAAAAAAAAAwAGAAGAAUACAAMAAwAAAAAAwQAHAAAAKASAAAAAAAAAAAAAAwAHAAQAAQACAAMAAwAAABoAAAAHAAAABQAAADoAwAAAAAAAAAAAAAEAAQABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcDQAAAAAAACANAAAAAAAAVQAAAAAAAAB4DQAAAAAAACYFAAAAAAAAAAAAAAIAAADoAwAAAAAAAAAAAAAAAAAA6AMAAAAAAAA9AgAAAAAAAEAfAAAAAAAABCJNGGBAggUNAAAx6eMAAQAh+fkHADIANNQIACLEEwgAEjUHAAUQAAwIACIO4CEADBgABDgAIhTmIAAEEAAiD+sQACL9ywgAIjv9CAAigdEIAARIAAQwACoX5RgABCAADAgABDAABAgABCAADBAABBgADwgADSKdxXgAIq/3CAATDrgADDgAIizZIAAEGAAqkPAQAAQYAAQIACoD7yAAIjr2EAATzXgBIhrAEAAEMAAPwAAdLyDtQAATEyC4AC8f8zAAAwR4ACIm6SAABBAAIrTeEAAEoAATTSgBBBAABAgAG10oACoB4TgABCgAIn/QGAATCBgBBGgABCAAEyKYAiLExigAIvLbCAAivs0IAAQwABNoEAAimq8YABOfuAAqo4QQAAQYAAQIACL18SAAImT6CAAEeAAi3soQACIA0ggAIkyRCAATKKgBEwc4ASK0/BgAIt3fCAAik+wIACKxyQgAEx9AAiJ4whAAItbqCAAi27QIACIAFggAIrIYCAAiGbwIABMM8AAiMx0QACKFkAgABBAABAgAE7dQACJpGiAAItAUCAATLAgBIh+iEAAiX6kIACJu3AgAIlauCAAiTrAIACKLFQgAE0LgABM+EAATuXABIsTTIAAThCAAIo63EAATiRAAIjKfEAATHVAEE9R4ASJOiBgAIjCZCAAiDBcIABOo8AAiG5cQABO46AMTgzgAItsZGAATm3gAIv7XEAATsJgAIgKrEAAi+6AIAAQYABMuKAET6YgBE9hYABMUEAAT/HgADAgAE+foAROZ+AETHCgBIp8fYAATNXgABDgAIu0eGAAiRKQIABNOCAATZIAABDgAE+KQASLStSgAE3UwBRN0UAAiV5YYACIFnQgAIlSFCAAi8pwIABOHKAUiVqEQABMtQAEi0pgQACI9mggAEw1wAhPWWAIDLwAjAMFIAA8IABUSUE8AMgC7AQkABBAABAgABBgAA58BBSgADBAAImw4QAAiEwkIAAQgACLrBRAAE1IQAiKsgRAAE3SQAgQgAARoAAx4AAQQAAQIAARYAAQwAAQIAA8gAAUTU2gGDwgABRNX2AIMIAAi1rKoABPvYAEfYAgABCLwsygABEAAHy8oAAQiwy8oACLVMAgAIj80CAATdggAIqq4EAATj3gAE6UQBBPaaAMTCvgCIiWeKAATQBgAA1cCBQgABCAAIlGlKAATHSgAG8IQAAwwAATAAAQIAAxwAARYAAQgAASAABOQkAAEwAATpXAABBAABIgABDgADAgAIt7BqAATZVgGKn/EEAAi7CcQACKiBAgAE9tIAROqSAEEOAAEWAAi2/8oACJiwwgAItGACAATDHgCEz0IACI+ghgABEAABAgABEgABAgAExboAxNTCAAEEAAieaNAAAQQAAQgABOiKAAEQAAECAATETAABAgABCgAE8wYAAQIAAQwAAQIAASoAQQIACJ62ngADAgAEznYABOdCAATRuAAIsyDMAATe2ABIrgiEAAT54gIBBAAE4CoBAQQAARYAxOiyAQiumg4AAQwBwQgAAR4AwQQABOwgAQTXvADEx4QAAQgABKPRwAjAPRwBAQIAAQYACJ6vyEABFgAIuEDEAAEIAAESAAipO4YAASwACJQcxAAIuBsCAAEKAQESAAECAAi7CogABM/+AMEGAAEWAAPEAANE3eIAhMzyAcMMAAMSAATeIABE4CQASLgvYAAE0A4BBPCCAYTDrgBE5gYACLclSgADGAADxAADQyAAA8QAAUTAhgDDFAADzAABQQoACL6uZgAE0RAARPmUAgTyMgIIki6IAAT6MgEE47wABPwGAAT8lACBAAGBMAGE7b4ABO8CAUEcAAECAATAAAHE95ACCIgjmgAIsSLCAATCtAAE0wgByIMqhgAE3BgARPy0AkTFpAAE7aoCBP4gAcTGKgBE1rAAxO+6AAT3ngFInCKUAAT0kgAE/Q4ABM6wAgTnAgAIp6HKAATXNgDBMAABFgBIrCtIAAE2AUTgkAIEwa4ABOmSAAi+JMoABP0CAAT/AgAIpabGAAEWAATAGgAE2AIABPEgAATCqABEwpQARNsOAETDGgBE+7QABSOmAEDWAATcsgBInKxaAATOPAAE1hhCBO6mAIT2hgAE3zoARMeoQMEmAAEgAMT0rgJBBgABAgBBBAABOADBBgAE5AwABNM0AoTVsgBE3Y4AQQoAARAAAQQAAQIAA8YAAUEIAAMCAAMMAAij434AAQoACL/exAAA58DBQAJE3C4ARMACAATwpACE1wIABs2EAEEUAATuGgCItKJWAAMgAAEKAADPwAjAOAIARN0uAITpNgBDzgABROoaAQi4oZgAARQAAQwABMi+AETtCgCIq6MKAAEIAATCigIE+zYByJyuyAAEzIQAxN2gQ0TmtgJE6bABxPgCAQTh9gJE1BoAiJxtkAAE9HYARNwyAETHCgJE94IABM/IAATloAAEzAIBhMIoAIigr5IABP2GAAE2AAMCAAT4MACEyKABhPywAMT9tgBE1hgAxN4iAATWDABDEgAIlhBcAAiiGkIABN8GAQEKAAEMAEEEAAiW0AoAAWQBgIPAAUwAgQoAATYAQQQAAxIABPcIAUit3BBACPAEggAA1ABE2MAASIDuRgAE0rwABPNKAETWCACE7tIABO9OAIEaAAMcAMTysADE1IwABO8kAEPMAAFE6AYBBPmWAETphgEE2gYABMKAAIizKagABPwuAUTUqgAIlKoGAAi9JQIABPYIAATfMgFE56QABO+EAUEKAEECAAiZEY4ACI5GwgABBgABLAADBAAEyqwBw8IAAUD3wMyAGwHUAAEEAADnwMNEAATXXgBEzkAAwR4ABN7uA8iAUxIAAQYAAQoAAwIAAQwACJjIDAABCAABHACE4l4AgQgAAQwAARYAAQIAAQ4AAQQAAQIAAQYAAxAAAwgAQQoAARgAAwwABM0SBATEugEE32IAhME6A4TNGgEIqXOyAAT8CABE14AERMiGBIT62AUDAgAE7zgDg8IABUThHgABAgAEw4QAA8IAA0Tx4AAEwpAAxO6MAMT7AAQE5RYERMCMAcTIOARIsTk2AAT7UATE+PoBCJcyBgAE9tYCxPGYAAPCAAFE9UgABNSsAAECAATQfgCEw9oABMniAsTaEgGE52YEBO68A8TA5gAIpHMgAAEoAATvaAAE3gpDAQIABOLUBATl3kEE12oAxOyaBETJ/ARIv3nUAATLRgAE2kgERPbuAAPCAAFE2xwEhMGaA8T0vgTE/FABhN4sAwTXigBE8MIABP02AATFDAOE2OgBRMLIAET4sgRE28QAARYARPI4AAMCAATrTAEE3dIBhPuABITAmAEIlib4AATGIAUExO4BhOvEAcT5mAGEzpICiJV1jAAE9eIEhOWKAYTwUAAE4y4ACKRrCgAE/aQFBNWiAkT+iACEy4QBROyKBMT1hAHExF4BxOOqA4ThlAAE7SwChPNKAUTXoAHE4owABP7KAAT5wgAE1xwAxNOmAAi+seQABNX0AATf5gAE83IAQTADRMJuAMEGAMEIAAPCAAVE+2YABN0eBUTEqACE01AAhN3AAQTmgACIgCnmAATRqgCE0mABxMIyA0T0TgBE+/gAhOuiAYPkAAFE8rQAA8IABUi95KAABPJmAITHiACE50YABPuiAMTj+ADE1IYAxPw4AYTKeAAE854ABNYAA4PCAAFE7UAAg8gAAUPGAAVBPgCDwgABROqyAQTn5AHExfwAROcmAITARAAEwwIBBMduAETZgACE3MgCBMAuAMTaQgFE7LwAhPQyAAiU+hAARMSkAMPCAAdE9c4AQQIABPQEAATnUgBBAgAEyq4AhOMwAATxxACE4TQCRNOwAEiWc+QABP6IAsT8GADE7OgBhM4aBUT2WgADwgAFRNucAwT1jgAE2yIAgQQAA8IAAUTNvAIE+/IBRP/QAITzdAIIgLGsAAiI90IABO7uBkTErgEE67IAxOgMBET1ZgGE5zQBBMBGAETAoABBAgAE4aoBQQQAAwIABPfyAAPCAANE+EoAA8IAA0TxdgDE3oIDhO4sAsTU1AFE+w4BRMoeAITpZABIlzi+AATohABEzQwBhPi6AETViAEE27oACJm2DAAE0xABROHCAETmQACE1JAARM8MBQT08AADAgAE28AGA8IAA0MmAgTJGgBDwgADRPIeAAECAATzBAADwgADRMRYAAECAAP6AQFBBgAE3cwAA8IABUT74gAH+cIACQT0qgFEycQBxNKYAMT/cAGE6dwBBN30AcTgrACE+oYAhNsUAwiPJTIARMf6BwT27ACE8doBBPpCAgTr9ADEzbwARMgeAMTIagFE0E4DxPkEAQTIvgDE7JQABOYeAMTECAAE2TwBBOswAcTKYgCE7GgABMcKAAT98AGExfQERNZCAYiTb+4ABP4QAGA+BMAAAAAAAAAAAAAAAAAAH0AAAAAAAAABCJNGGBAgj4AAADXECgIFgAAEBAsAAQBAAEAKfz/AQBrf2D++fn8FQAQPyMAYPj//5/nnwoAZzwA/v//f0QADwIACVAAAAAAAAAAAAAAAABAHwAAAAAAAAQiTRhgQIIPBQAAHwABABBPgMPEQCcAEA0CADlAJv44ADkg7+wQAA8CAA0/4H75MAAbITDyMAAxICPtCAAEAgA5IHH7EAAPAgCdLyDnCAEbDAIAL1CTQAAcITLFMAExgID0CAAEAgA5YF/1EAAPAgBGL4THaAAaP7At8TAAGg8CAP///xITQlADBAgAEwgQABMACAATIAgAIvA/TAMSKBAALzB0CAADIgA1GAAjAGMIAARAABMUEAAECAAEUAATIhgAEzMIAB83CAAEEz8YAAQIAASgABIuGAAvgEsIAAMiE7MYABMWCAAivrEQABP2CAAiE78QACI3sggAE8QoACEFuhAAIoA6IAUjAEmoBCJqzBgAE28oByHdthAAIgBBUAAigO8YADKAEsIYACJ2xggAL0a7CAALIvO+IAAhGsMIADFACtIIADIAgcsIABP+CAATG1gAIry9GAAiwHcIACFwdggAMYBOwAgAIgDjsAAigH8IADEAdcgYACKAZsAAMQDgfxAAIwBTSAATCwABE8oIABN5OAATbCABIk+8MAATGSABIkvBEAATJCABIva4EAATXBgAElaIACOA47AAEyRYABO6CAAiDLQwABPjgAAiFc0QABL4eAEjAC84ARIEWAEPCAAGEowwASMAQygAE3mAARL6mAAigJbwAA8IAAYSirAAIoDwIAEjAIdIABPbCAAToYgAE5fIACK6yagAEtGQASOAn2gAElUoACKAz/gAIwDz6AAieLAwABKWGAAigDOgACIAevABIoDWQAAiAKkgACMAWjgAExxoASIAgEAAIgB+CAAT3iAAEzagABKMEAAxgIvPIAAPCAAFDwIAHiEgelAABmgDDAIAExggAATIAxMmEAAEGAAMCAATJCAABLgDDAIABEgABDgAA9gDDQgABFAEDAIAExBgAAQIAAVoAAMYABMsCAAMAgAD0AQEKAAiwFMoAAQIAAU4AAQIAAsCAAQoAAQIACIANkAABTgABLAABAgAE0MgAA8IABQiQFEwAAQIACIAHBAABAgAIkBaEAAECAAiADsQACpQcAgAIgAxEAAFCAAEIAEMcAUEoAUEsAEECAAEKAAEOAAEOAEPCABFBBACBJAABPgFDwgAZQ/oAB0E2AYEkAIECAAEUAEPCAANC+gBBPABBQgABBgDBLgHDwgAdCNAZWgCBCgCA8ABIoBKGAAECAAiADQQAA0IAAQoAw8IAAUESAETR0AABAgAAxABE4AIAQQIAAVQBAOIAA94AQYEIAAEuAEEEAAMAgAEmAAEKAAPCAANDDgCBGAJBAgAA7AABAgAIkBo2AAECAAFKAALCAAEEAQECAAFgAUEeAEECAAEaAEEqAAE2AAMCAAEKAEMaAATX5AAAwgADwIABgOAAQ2wBQ8YAB0DuAAiIGR4AA8IAAUEsAUFEAMEoAUEgAUPCAAdDAABDQIAApAABQgAE0kQAAQIAAwCAANQACLAWSgAKoBBCAAioGcQAAVQAAMwAAWwAgwCABMwMAAPCAAkIsBSQAAMCAAFGAILCAAigEYwAAQIAAXIAhJNGAAPCABWAzgEBbACDAIABNADBBgEBMACA0gCDwIARhM6CAEFaAADEAAEgAATPhAAAwADFICoBARoAQw4AARYBA0IAgNIAAMwACPYiBAABBABBDgABAADBDgHBAADBBAAA0AABVAADDgBBCgABEgBDAgADwIA//////////////RQAAAAAAAAAAAAAAD/////AAAAAA==</script>
<script id='layout' type="application/json">{"version":"2.10.1","plugin":"Datagrid","plugin_config":{"columns":{},"editable":true,"scroll_lock":false},"columns_config":{},"settings":false,"theme":"Vaporwave","title":null,"group_by":[],"split_by":[],"columns":["Source_Port","FlowCount"],"filter":[],"sort":[],"expressions":{},"aggregates":{}}</script>
<perspective-viewer id='viewer'></perspective-viewer>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment